On Sat, 18 Jul 2020 16:11:38 GMT, Phil Race <p...@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 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. ------------- PR: https://git.openjdk.java.net/jfx/pull/268