RFR: 8196079: Remove obsolete Pisces rasterizer

Kevin Rushforth kcr at openjdk.java.net
Sat Jul 18 22:10:11 UTC 2020

On Sat, 18 Jul 2020 16:11:38 GMT, Phil Race <prr at openjdk.org> wrote:

>> This removes the obsolete OpenPiscesRasterizer (Java-based) and NativePiscesRasterizer implementations. The Marlin
>> rasterizer was added in FX 9 and was made the default in FX 10. Marlin both outperforms Pisces and is more robust.
>> There is no reason to keep the Pisces rasterizer(s) any more.  Note that the SW pipeline still has a Pisces-based
>> renderer for the actual rendering of primitives. This is separate from the rasterizer and is not affected by this
>> proposed fix.  I have tested this on Mac, Windows, and Linux.
> Marked as reviewed by prr (Reviewer).

I think you are conflating the rasterization step with the rendering step. In Prism the rasterization mainly includes
clipping the shape and generating the mask data for the filled and/or stroked shape (the latter possibly being a wide
and/or dashed stroke). The rasterized shape is then sent to the Prism GraphicsPipeline for drawing into the render
target. This latter step is either done using shaders + D3D or OpenGL, or via the SW pipeline (or the J2D pipeline for
printing). In the case of the SW pipeline, the renderer is based on code that was originally derived from Pisces, but
it is distinct from the rasterization step that OpenPisces used to perform and Marlin now does perform. Take a look at
the [SW pipeline](https://github.com/openjdk/jfx/tree/master/modules/javafx.graphics/src/main/java/com/sun/prism/sw)
classes, the [Java
classes, and the
[prism-sw](https://github.com/openjdk/jfx/tree/master/modules/javafx.graphics/src/main/native-prism-sw) native code.


PR: https://git.openjdk.java.net/jfx/pull/268

More information about the openjfx-dev mailing list