...
- 2D Primitives rendering
- implemented AA rendering for some primitives and painting types
- optimised geometry handling (no unnecessary MTLBuffer creation)
- improved stability: fixed some severe memory management problems in primitive handling
- Multisampling (hardware accelerated) AA
- investigated multisampling AA rendering
- implemented AA parallelogram rendering via multisampling AA
- Image rendering.
- improved stability: fixed several memory management problems
- native blit operations (Blit, IsoBlit) for almost all blit primitives (of MTLBlitLoops)
- all 32bpp raster formats with ‘opaque’ flags
- all alpha-composite modes (still unsupported extra-alpha)
- clipping, transform
- textures pool (to avoid reallocations for temporary textures) with restricted size (cleaned with LRU-strategy)
- fast search in pool
- no unnecessary sync
- blit without sampling if possible
supported all parameters of blit operations
- General metal pipeline workflow
fixed resources leaks, added minor optimizations (in PipelineStateStorage and TexPool)
refactored MTLContext (splited into several classes)
fixed issues connected with changes of pipelineState
added minor optimizations (don’t change state when possible)
- Grayscale Text Rendering - Feature completion of Grayscale text rendering without cache under JDK-8225174
- Initial implementation of Grayscale text rendering with cache under JDK-8237608
Closure of main performance bottleneck task JDK-8228573 after implementing proper back/front buffer drawing under JDK-8233190
JDK-8233233 - Implement Shape Clip (for aliased rendering)
It is available in the lanai repo https://hg.openjdk.java.net/lanai/lanai/
...