Hi again, Here is a new webrev fixing the ClipShapeTest: http://cr.openjdk.java.net/~lbourges/marlin/marlin-082-8191814.1/
Changes: - @run twice to test both Marlin variants (float / double) - use Logger to get & check marlin system properties ("sun.java2d.renderer.clip.runtime.enable") to ensure the test is run against a Marlin renderer having the clipping features I tested the fixed test on JDK9 and it fails: runner finished test: sun/java2d/marlin/ClipShapeTest.java Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Marlin clipping not enabled at runtime ! On JDK10 + patch, it passes: sun/java2d/marlin/ClipShapeTest.java Passed. Execution successful PS: Could anyone review the patch ? before RDP1 deadline ? Regards, Laurent 2017-12-04 23:35 GMT+01:00 Laurent Bourgès <bourges.laur...@gmail.com>: > Hi Sergey, > > Thanks for your comment. > > This new test only validates the new clipping algorithms ie it compares > the rendering outputs with / without clipping enabled. > > As such algorithms are only available in Marlin 0.8.2 and the test uses > new system properties to enable/disable clipping, I confirm it passes > before (jdk9 or jdk10 before patch). > > To ensure it detects any regression, I manually inserted some bugs in the > clipping code, and the test failed. > > Note: I should add another test @run to check the float variant too (and > not only the double variant, the default in jdk10). > > Finally I could write a new performance test that would prove clipping is > more efficient than before. > Such test would fail before patch (timeout ?), but it is difficult to make > it robust as it depends on the hw. > Jim wrote a basic test in the jfx bug showing 300ms without but 2ms now => > gain is high. > A possible success condition would be: clipping gain > 10 or 50. > > Regards, > Laurent > > > Le 4 déc. 2017 11:11 PM, "Sergey Bylokhov" <sergey.bylok...@oracle.com> a > écrit : > > Hi, Laurent. > > On 29/11/2017 14:30, Laurent Bourgès wrote: > >> - added new ClipShapeTest (jtreg) that checks all possible combinations >> of (cap / join) for random polyline (Stroker) and polygons (Filler) >> comparing image outputs rendered with clipping enabled vs disabled >> > > I have only one note that the test is passed before the fix, so if we will > regress at some point later we will not catch this. > > > -- > Best regards, Sergey. > > > -- -- Laurent Bourgès