<AWT Dev> RFR: 8260931: Implement JEP 382: New macOS Rendering Pipeline
Alexey Ushakov
avu at openjdk.java.net
Fri Feb 5 17:57:41 UTC 2021
On Thu, 4 Feb 2021 10:35:02 GMT, Ajit Ghaisas <aghaisas at openjdk.org> wrote:
> **Description :**
> This is the implementation of [JEP 382 : New macOS Rendering Pipeline](https://bugs.openjdk.java.net/browse/JDK-8238361)
> It implements a Java 2D internal rendering pipeline for macOS using the Apple Metal API.
> The entire work on this was done under [OpenJDK Project - Lanai](http://openjdk.java.net/projects/lanai/)
>
> We iterated through several Early Access (EA) builds and have reached a stage where it is ready to be integrated to openjdk/jdk. The latest EA build is available at - https://jdk.java.net/lanai/
>
> A new option -Dsun.java2d.metal=true | True needs to be used to use this pipeline.
>
> **Testing :**
> This implementation has been tested with the tests present at - [Test Plan for JEP 382: New macOS Rendering Pipeline](https://bugs.openjdk.java.net/browse/JDK-8251396)
>
> **Note to reviewers :**
> 1) Default rendering pipeline on macOS has not been changed by this PR. OpenGL still stays as the default rendering pipeline and Metal rendering pipeline is optional to choose.
>
> 2) To apply and test this PR -
> To enable the metal pipeline you must specify on command line -Dsun.java2d.metal=true (No message will be printed in this case) or -Dsun.java2d.metal=True (A message indicating Metal rendering pipeline is enabled gets printed)
Looks good except for one whitespace problem (src/java.desktop/share/native/libawt/java2d/SurfaceData.c)
src/java.desktop/share/native/libawt/java2d/SurfaceData.c line 238:
> 236: {
> 237: SurfaceDataOps *ops = malloc(opsSize);
> 238:
The only whitespace added. Should be removed
-------------
Changes requested by avu (no project role).
PR: https://git.openjdk.java.net/jdk/pull/2403
More information about the awt-dev
mailing list