Fwd: Re: Marlin-Renderer and JavaFX

Laurent Bourgès bourges.laurent at gmail.com
Tue Nov 8 08:50:37 UTC 2016


I think we should wait for OpenJFX9 Jigsaw build patch that is coming and
rebase / test again the proposed patch Marlin for JavaFX.

Maybe jdk.internal.Cleaner or Unsafe.allocateDirect methods will be then
available to the javafx.graphics module or that may be acceptable to export
such jdk API to OpenJFX.

Finally I will have a look at the native prism sw code to see if I can fix
the forementioned method by adding 1 integer to give the output_minx
coordinate and only process pixels where the alpha coverage != 0.

Please give me your opinions.


Le 7 nov. 2016 23:55, "Laurent Bourgès" <bourges.laurent at gmail.com> a
écrit :

> Jim,
> Here is the new patch:
> http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-s02-ofx9.3/
> Changes:
> - cleanup wrt OpenJDK9 (Unsafe is OK but I switch to the standard Cleaner)
> - modified PrismSettings as recommended and renamed all Marlin properties
> to use the prefix 'prism.marlin'
> - SWContext: added Marlin SW support: I had to tweak the processed
> range[x; pix_to[ instead of [pix_from; pix_to[ as the PiscesRenderer does
> not handle properly the bbox so it processes many extra pixels on the left
> side (empty coverage) = to be discussed as it can be fixed in the native
> prism-sw code ... See my comment in the code:
> +            @Override+            public void setAndClearRelativeAlphas(final int[] alphaDeltas, final int pix_y,+                                                  final int pix_from, final int pix_to)+            {+                // use x instead of pix_from as it cause artefacts:+                // note: it would be more efficient to skip all those empty pixels [x to pix_from[+                // but the native implementation must be fixed too.+//                pr.emitAndClearAlphaRow(alpha_map, alphaDeltas, pix_y, pix_from, pix_to, rowNum);+                pr.emitAndClearAlphaRow(alpha_map, alphaDeltas, pix_y, x, pix_to, rowNum);
> I successfully built OpenJFX9 (gradle) and tested OK with OpenJDK9 b143
> (xpatch.args) with Ensemble8 + DemoFX.
> Maybe it is time to start the review for the FX enhancement ?
> https://bugs.openjdk.java.net/browse/JDK-8169270
> Cheers,
> Laurent
> 2016-11-04 19:55 GMT+01:00 Jim Graham <james.graham at oracle.com>:
>> On 11/4/2016 11:33 AM, Laurent Bourgès wrote:
>>> For SWContext, I figured out that only openpisces.* classes were used
>>> directly via imports (hardcoded) so I left it unchanged. So you propose
>>> to generalize use of marlin or native pisces ?
>> I didn't notice that, I was just searching on the use of
>> "doNativePisces".  We can look at that separately, and Kevin would know how
>> frequently we end up in the SW pipeline these days...

More information about the openjfx-dev mailing list