[OpenJDK 2D-Dev] [jdk17] RFR: 8267602: [macos] [lanai] java/awt/PrintJob/Text/stringwidth.sh doesn't exit on cancelling print dialog
Ajit Ghaisas
aghaisas at openjdk.java.net
Wed Jun 30 11:42:04 UTC 2021
On Tue, 29 Jun 2021 17:34:00 GMT, Jayathirth D V <jdv at openjdk.org> wrote:
> Final blit operation in MTLLayer.blitTexture() is driven by CVDisplayLink in Metal.
> In this test case we are hitting an invalid condition because of which we exit from MTLLayer.blitTexture(), but we are not stopping the CVDisplayLink. This is causing the CVDisplayLink callback to run in loop. Fix is to stop CVDisplayLink when we return without completing final blit operation in MTLLayer.blitTexture().
>
> Sanity and performance analysis is green. More details in JBS.
I tested this patch with applications such as SwingSet2 and NetBeans IDE with graphics card switching. Also, tested multi-monitor scenarios. No regression observed.
src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLLayer.m line 88:
> 86:
> 87: if (self.nextDrawableCount != 0) {
> 88: [self stopDisplayLink];
Please check invoking stopDisplayLink at this place. If a Drawable is not available, we should return from here but recheck after 16ms. A drawable might be made available on subsequent attempts.
Stopping DisplayLink at other invalid cases makes sense.
-------------
PR: https://git.openjdk.java.net/jdk17/pull/175
More information about the 2d-dev
mailing list