RFR: 8196079: Remove obsolete Pisces rasterizer

Laurent Bourgès github.com+5607073+bourgesl at openjdk.java.net
Sun Jul 19 09:37:33 UTC 2020


On Sat, 18 Jul 2020 22:07:59 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> That's the case, michael.
>> In SWContext, the Marlin renderer is called to rasterize any shape.
>> 
>> See https://github.com/openjdk/jfx/pull/268/files#diff-28f93b00dc9cba7197f0a6c2fef022ed
>
> 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

-------------

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


More information about the openjfx-dev mailing list