-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8266159: macOS ARM + Metal pipeline shows artifacts on Swing Menu with Java L&F #4356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
👋 Welcome back aghaisas! A progress list of the required criteria for merging this PR into |
Webrevs
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Please add CI test run link in JBS, once it is completed.
@aghaisas This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 56 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
Is it possible to cover this fix with some automated test? Looks non of existed tests found this issue. |
Draw Pixel operation is unpredictable on macOS M1 with metal pipeline if [[point_size]] is not defined. Due to this unpredictability it is difficult to write an automated test. |
Looks fine, I assume that you checked the test via mach5 so we will not get a similar bug on other platforms. |
/integrate |
@aghaisas Since your change was applied there have been 59 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit 89da202. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
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.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/4356/head:pull/4356
$ git checkout pull/4356
Update a local copy of the PR:
$ git checkout pull/4356
$ git pull https://git.openjdk.java.net/jdk pull/4356/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 4356
View PR using the GUI difftool:
$ git pr show -t 4356
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/4356.diff