8378201: [OGL] glXMakeContextCurrent() drops the buffers of the unbound drawable#387
8378201: [OGL] glXMakeContextCurrent() drops the buffers of the unbound drawable#387rm-gh-8 wants to merge 1 commit intoopenjdk:masterfrom
Conversation
|
👋 Welcome back rm-gh-8! A progress list of the required criteria for merging this PR into |
|
@rm-gh-8 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 45 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. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. ➡️ To flag this PR as ready for integration with the above commit message, type |
|
This backport pull request has now been updated with issues from the original commit. |
|
|
|
For product bugs (non-test bugs) in the jdk desktop module, I recommend running the full set of tests from the jdk_desktop module group (these tests are not part of github actions), for example: |
|
Hi @rm-gh-8, @mrserb NonEmptyErrorStream.java+UnninstallUIMemoryLeaks.java SwingFontMetricsTest.java I omitted bug8057791.java. It is extemely slow. Also slow without the fix. Further I omitted bug4314194.java, it seems to hang. I verified it behaves |
|
/approval request for backport of JDK-8369561: sun/java2d/OpenGL/DrawBitmaskImage.java#id0: Incorrect color for first pixel (actual=ff000000) and JDK-8378201: [OGL] glXMakeContextCurrent() drops the buffers of the unbound drawable. This PR works around a Mesa bug (mesa#1001) where glXMakeContextCurrent() corrupts buffers when using raw X Window IDs. For parity with Oracle JDK. Medium risk — native C changes in a hot rendering path on Linux/X11, but well-scoped and directly tested. |
|
/integrate |
|
/sponsor |
|
Going to push as commit 88182af.
Your commit was automatically rebased without conflicts. |
|
@phohensee @rm-gh-8 Pushed as commit 88182af. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Backporting JDK-8369561: sun/java2d/OpenGL/DrawBitmaskImage.java#id0: Incorrect color for first pixel (actual=ff000000) and JDK-8378201: [OGL] glXMakeContextCurrent() drops the buffers of the unbound drawable.
This PR works around a Mesa bug (mesa#1001) where glXMakeContextCurrent() corrupts buffers when using raw X Window IDs.
For parity with Oracle JDK.
The PR is not clean because of a conflict in the year of the copyright in the header of "src/java.desktop/unix/native/common/java2d/opengl/GLXSurfaceData.c", which is trivial in nature.
Ran related tests on linux-x64, linux-aarch64, macos-aarch64 and windows-x64:
make test TEST=test/jdk/sun/java2d/OpenGL/FlipCoexistTest.java
make test TEST=test/jdk/sun/java2d/OpenGL/MultiWindowFillTest.java
make test TEST=test/jdk/sun/java2d/OpenGL/DrawBitmaskImage.java
make run-test TEST="jtreg:jdk_desktop" JTREG='VERBOSE=summary;KEYWORDS=!headful&!printer'
windows-x64-specific-test.log
windows-x64-specific-2-test.log
windows-x64-specific-3-test.log
windows-x64-specific-4-test.log
macos-aarch64-specific-test.log
macos-aarch64-specific-2-test.log
macos-aarch64-specific-3-test.log
macos-aarch64-specific-4-test.log
linux-x64-specific-test.log
linux-x64-specific-2-test.log
linux-x64-specific-3-test.log
linux~x64-specific-4-test.log
linux-aarch64-specific-test.log
linux-aarch64-specific-2-test.log
linux-aarch64-specific-3-test.log
linux-aarch64-specific-4-test.log
Progress
Issues
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk25u-dev.git pull/387/head:pull/387$ git checkout pull/387Update a local copy of the PR:
$ git checkout pull/387$ git pull https://git.openjdk.org/jdk25u-dev.git pull/387/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 387View PR using the GUI difftool:
$ git pr show -t 387Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk25u-dev/pull/387.diff
Using Webrev
Link to Webrev Comment