High Level Milestones
Milestones | JIRA ID | Owner | Target Completion | Comments |
Primitive rendering |
| Oracle/JetBrains | | Implementation is done |
Image rendering |
| JetBrains |
| Implementation is done (except for Bicubic interpolation - for which SW rendering fallback exists) |
Text rendering |
| Oracle | | Implementation is done |
1st early access (EA-1) |
| Oracle/JetBrains | | Released |
Stabilization and bug fixing |
| Oracle/JetBrains |
|
|
IDE performance Testing |
| Oracle/JetBrains | | Done |
Execute JTREG tests and match current passrate |
| Oracle |
| Done |
Pass all JCK tests |
| Oracle | | Done |
Functional complete with performance |
| Oracle/JetBrains | | Done |
2D Alias Review |
| Oracle/JetBrains | | Done. Link to JEP code review - https://github.com/openjdk/jdk/pull/2403 |
Integration to openjdk/jdk |
| Oracle | 15 Mar 2021 | Done |
Task List
All active issues (including tasks, subtasks and bugs) in Lanai project can be accessed with JBS filter : https://bugs.openjdk.java.net/issues/?filter=37832
Early Access Release History
Early Access Release | Date | Contents |
EA-1 | | First EA release |
EA-2 | 19 Jun 2020 | Fixes on top of EA-1 - 8247464: Memory Leak in MTLBlitLoops_CopyArea() method
- 8247304: Use separate MTLCommandQueue for final blit and MTLDrawable
- 8246495: Lanai: update AA clip info on GPU via compute shader
- 8246454: Lanai: Create RenderPerf tests for rectangular and shape clips
- 8242952: fixed MTLBlitLoops::replaceTextureRegion (add correct offset
- 8242354: support for bufImgOps (RescaleOp, LookupOp, ConvolveOp)
- 8246331: Lanai: do not update AA clip info in nonAA mode
- 8246239: Revert JDK-8244193 as it causes performance regression
|
EA-3 | 10 Jul 2020 | Fixes on top of EA-2 - 8242950: Files which can't be selected has different color with metal than opengl in JFileChooser
- 8247772: Lanai: Several jtreg tests fails with assertion validateTextureDimensions: 759: failed assertion
'MTLTextureDescriptor has width greater than maximum allowed size of 16384'
- 8248301: Lanai - Change MTLStorageMode of MTLSurfaceData texture (render backbuffer) to private
|
EA-4 | 08 Aug 2020 | Fixes on top of EA-3 - 8233226: Implement XOR Mode rendering option
- 8247564: Lanai - SwingSet2 - Motif LF - UI controls border is incorrectly drawn with uiScale=1.0
- 8244402: Lanai - Motif L&F - Non selected Radio button is barely rendered on non-retina display
- 8248831: Lanai : SwingSet2Demo Input dialog is not proper for MetalLookAndFeel with default non-retina display
- 8240221: XOR mode rendering option does not work with Texture paint and Gradient Paint
- 8247556: Lanai : J2DDemo - ImageOps demo - Few options are not working...
- 8247831: Clamp texture height to maxTextureSize(16384)
- 8249174: Fix improper glyph cache initialization logic for text rende...
- 8243953: Optimize encoder creation/deletion logic for LCD text rendering
|
EA-5 | 18 Sep 2020 | Fixes on top of EA-4 |
EA-6 | 08-Oct-2020 | Fixes on top of EA-5 |
EA-7 | 18-Nov-2020 | Fixes on top of EA-6 |
EA-8 | 17-Dec-2020 | Fixes on top of EA-7 - 8257886: Build issue in macOS 10.14
- 8256683: Lanai: NetBeans IDE - AA Text rendering appears brighter compared to OpenGL
- 8242925: J2DDemo - Anti-Aliasing with Metal differs from OGL
- 8257618: Lanai: GradientPaint interpolates over stops limits
- 8257566: Lanai: System runs out of application memory while running the Unmanaged_BufferredImage_draw_NearestNeighbor test multiple times
- 8257441: Lanai: java/awt/image/VolatileImage/DrawHugeImageTest fails
- 8257442: Lanai: Create RenderPerf tests for SW to HW blits
- 8257413: Lanai - Use optimum sized temporary buffer while replacing texture region
- 8238285: Lanai: java/awt/image/DrawImage tests fail
- 8256576: DrawImage/BlitRotateClippedArea fails
|
EA-9 | 26-Jan-2021 | Fixes on top of EA-8 - 8258658: Print log that metal pipeline is enabled when -Dsun.java2d.metal=True is set
- 8260000: Remove JNF_COCOA_ENTER/EXIT usage from MTLGraphicsConfig.m
- 8258754: Gracefully fallback to the OpenGL rendering pipeline if Metal rendering pipeline initialization fails
- 8259853: Lanai: nonAA Gradient painting is not precise for VI
- 8259939: Remove JNF_COCOA_ENTER/EXIT usage from Lanai project
- 8258202: Lanai: Buffered image loses its shape after clicking on Alpha Composite option
- 8258202: Lanai: Buffered image loses its shape after clicking on Alpha Composite option
- 8252950: Lanai : sun/java2d/DirectX/OpaqueImageToSurfaceBlitTest/OpaqueImageToSurfaceBlitTest.java fails
- 8259653: Multistop gradients incorrectly works with non uniform stops
- 8245256: Cleanup OpenGL references in Metal documentation
- 8259341:Remove useage of JNFCallVoidMethod from Metal.
- 8259038: Stop CVDisplayLink when there is no active rendering
- 8247332: Checkbox reaches inconsistent state on tap to click
- 8251477: java/awt/Frame/MiscUndecorated/RepaintTest.java fails with metal pipeline
- 8247739: Lanai : SwingSet2Demo -More than one radio button can be selected the same time
- 8252501: Sometimes more than one menu items are shown as highlighted on hover
- 8242187: Lanai - JCheckBox and JRadioButton can get into inconsitent visual state – but recover on window refresh
- 8252907: Motif L&F - SwingSet2 - Two Toolbar buttons are shown as selected
- 8258482: Lanai: reduce data for shape clip using bounding box
- 8258257: Lanai: optimize stencil texture clear code
|
EA-10 | 03-Mar-2021 | Fixes on top of EA-9 |