RFR: 8196079: Remove obsolete Pisces rasterizer

Kevin Rushforth kcr at openjdk.java.net
Mon Jul 20 13:14:58 UTC 2020

On Sun, 19 Jul 2020 09:35:15 GMT, Laurent Bourgès <github.com+5607073+bourgesl at openjdk.org> wrote:

>> 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
>> PiscesRendering](https://github.com/openjdk/jfx/tree/master/modules/javafx.graphics/src/main/java/com/sun/pisces)
>> classes, and the
>> [prism-sw](https://github.com/openjdk/jfx/tree/master/modules/javafx.graphics/src/main/native-prism-sw) native code.
> @kevinrushforth I asked skara JBS to associate my github account with my openjdk role...
> I will approve your PR once I have proper credentials.
> Good job, 10k LOC removed.
> I wonder if I should also deprecate the Float-precision Marlin renderer to remove 10k lines too.
> The Double-precision Marlin renderer was enabled as the default renderer since JDK10, so it is doing the job properly,
> no reason to have 2 variants anymore and it will ease the maintenance.
> Laurent

That's a good question about removing the single-precision float Marlin rasterizer. For desktop platforms, I see no
reason to keep it. Perhaps Johan could weigh in as to whether their might be value in keeping it for some embedded


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

More information about the openjfx-dev mailing list