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