On Thu, 24 Sep 2026 18:27:25 GMT, Phil Race <[email protected]> wrote:
>> PolyVertTest verifies the drawing of some de-generate polylines and polygons. >> It has been problem-listed on all platforms for some time. >> The test isn't particularly stable - problems with scaled UIs and rounded >> window edges, and how it waits for the surface to be rendered. >> I've updated it to fix all these things and save an image of any failed >> cases. >> Also the test didn't specify any pipelines, so would run with the default. >> On windows, where we use D3D if we can, but often fall back to software, >> this can be misleading >> as the test passes on software (since the same code is used for the >> reference image) but fails with D3D. >> >> So we still need to problem-list the "default" case on windows, in case it >> is D3D. >> I also found that the default case fails with the metal pipeline on macOS. >> Also although OpenGL passes on Windows & macOS it fails on Linux .. >> >> Cases that do pass are >> - xrender=true (default) and xrender=false (x11) on Linux >> - opengl=true on windows & macOS >> - d3d=false on windows >> >> Although each platform has some failure mode, I don't think it can be called >> a "generic" failure. >> i.e I don't think it likely that the reason for an OpenGL failure on Linux >> is the same as D3D on Windows. >> So I've made sub-test cases, and will use separate bugs for each of the 3 >> failure cases. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Phil Race has updated the pull request incrementally with one additional > commit since the last revision: > > 6986565 test/jdk/sun/java2d/SunGraphics2D/PolyVertTest.java line 630: > 628: > 629: public static void testScreen() throws Exception { > 630: EventQueue.invokeAndWait(PolyVertTest::createUI); Why this "jump" on EDT is needed? The code uses only AWT components so it should work on the main as well, or does it produce any garbage on the screen? test/jdk/sun/java2d/SunGraphics2D/PolyVertTest.java line 728: > 726: return; > 727: } > 728: render((Graphics2D) g); I have pointed out for the previous similar fix that rendering to the component synchronously and validating the results after exactly one repaint is not equivalent to showing the frame then waiting until it is repainted (possibly a few times) and then making a check. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/32992#discussion_r4110600983 PR Review Comment: https://git.openjdk.org/jdk/pull/32992#discussion_r4110607258
