CFV: New Project: Lanai
Phil Race
philip.race at oracle.com
Tue Jul 9 19:13:37 UTC 2019
I hereby propose the creation of the Lanai Project to implement a new
graphics rendering pipeline for macOS, with Phil Race as the Lead and
the 2D Group as the sponsoring Group.
Background and Motivation:
Apple Inc. have created the Metal [1] graphics API designed to be their
long term replacement for OpenGL as the rendering pipeline on Apple
platforms, including macOS. It promises better performance than OpenGL
and simpler GPU designs by being a simpler API without the legacies of
OpenGL.
The JDK, and OpenJFX today both use OpenGL as the rendering pipeline on
macOS, but Apple have deprecated OpenGL as of MacOS 10.14 [2], and
recommend to transition to Metal.
If OpenGL is not present on a macOS system, the JDK desktop APIs cannot
function and will fail to start. OpenJFX is in a very similar position.
For some months, engineers from Oracle and JetBrains [3], have been
exploring the Metal APIs and working on some proofs of concept, starting
with the existing OpenGL pipeline as a base and doing prototyping work
in the JDK sandbox [4] in the metal-prototype-branch and in the case of
JetBrains, separately on github.
We have also discussed specific issues on the 2d-dev mailing list and
have a wiki page [5].
However to further collaboration and advance the goals we would like to
move this work to a location where we can work together and more
engineers can contribute, and therefore propose this project.
Note: the rendering pipelines in the JDK are internal implementation
details, so this project will not create, or otherwise be exposed as,
Java APIs
Phil Race is the lead of the Java 2D group and has worked on the Java 2D
APIs for many years as well. He has also made significant contributions
to the OpenJFX project and to the Swing and AWT APIs
Goals of the Project:
This project will create a Java 2D rendering pipeline for macOS using
the Apple Metal APIs which aims to be at least as capable, robust and
performant, as the current OpenGL pipeline.
This project will also be the basis of a similar Metal pipeline for the
OpenJFX project [6].
Initial committers will include
Phil Race (prr)
Ajit Ghaisas (aghaisas)
Jay DV (jdv)
Sergey Bylokhov (serb)
Kevin Rushforth (kcr)
Alexey Ushakov (avu)
A complete list will be provided to the registrar at the successful
conclusion of this CFV.
Votes are due by 5pm PDT on Tuesday July 23rd 2019.
Only current OpenJDK Members [7] are eligible to vote on this motion.
Votes must be cast in the open on the discuss list.
Replying to this message is sufficient if your mail program honors the
Reply-To header.
For Lazy Consensus voting instructions, see [8].
-Phil Race.
[1] https://developer.apple.com/metal/
[2]
https://developer.apple.com/documentation/macos_release_notes/macos_mojave_10_14_release_notes
[3] https://www.jetbrains.com/
[4] http://hg.openjdk.java.net/jdk/sandbox/
[5]
https://wiki.openjdk.java.net/display/2d/Metal+Graphics+Pipeline+for+MacOS
[6] http://openjdk.java.net/projects/openjfx/
[7] http://openjdk.java.net/census#members
[8] http://openjdk.java.net/projects/#new-project-vote
More information about the announce
mailing list