[OpenJDK 2D-Dev] Integrated: 8266159: macOS ARM + Metal pipeline shows artifacts on Swing Menu with Java L&F

Ajit Ghaisas aghaisas at openjdk.java.net
Tue Jun 8 09:49:21 UTC 2021


On Fri, 4 Jun 2021 11:14:46 GMT, Ajit Ghaisas <aghaisas at openjdk.org> wrote:

> This PR fixes an issue exclusively seen on Apple M1 systems when SwingSet2 demo is run with uiScale=1.0.
> 
> **Issue :**
> SwingSet2 Demo - As reported in JBS description
> J2DDemo - As reported in a comment on JBS
> 
> **Root Cause :** 
> DrawPixel path is used only with uiScale=1.0. 
> MTLPrimitiveTypePoint is used to draw a pixel while encoding a render command.
> As mentioned in the documentation -
> https://developer.apple.com/documentation/metal/mtlprimitivetype/mtlprimitivetypepoint?language=objc
> 
> "The vertex shader must provide [[point_size]], or the point size is undefined."
> 
> In our shader functions, we do not define this point size. It is harmless on x86_64 based mac systems, but causes visual artifacts on M1 mac systems.
> 
> **Solution :**
>  Explicitly define point size in shader functions that draw MTLPrimitiveTypePoint.

This pull request has now been integrated.

Changeset: 89da2021
Author:    Ajit Ghaisas <aghaisas at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/89da2021ee194efd70f367f8fec16994335c38aa
Stats:     103 lines in 2 files changed: 103 ins; 0 del; 0 mod

8266159: macOS ARM + Metal pipeline shows artifacts on Swing Menu with Java L&F

Reviewed-by: jdv, prr

-------------

PR: https://git.openjdk.java.net/jdk/pull/4356


More information about the 2d-dev mailing list