# HG changeset patch # User jdv # Date 1563946704 -19800 # Node ID c47331043c12423d3eed1e9fc6de93e0e2c5f2a1 # Parent f72a3278a4931a928cf2f139500af6fdf2e1ee71 Scheduling blitting based on Metal Context state diff -r f72a3278a493 -r c47331043c12 src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.m --- a/src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.m Wed Jul 24 10:24:35 2019 +0530 +++ b/src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.m Wed Jul 24 11:08:24 2019 +0530 @@ -518,7 +518,7 @@ } dstOps = (BMTLSDOps *)jlong_to_ptr(pDst); - [MTLContext setSurfacesEnv:env src:pSrc dst:pDst]; + mtlc = [MTLContext setSurfacesEnv:env src:pSrc dst:pDst]; } break; case sun_java2d_pipe_BufferedOpCodes_SET_SCRATCH_SURFACE: @@ -801,8 +801,10 @@ onSurfaceModified(dstOps); } - RESET_PREVIOUS_OP(); - scheduleBlitAllModifiedLayers(); + if (mtlc != NULL) { + RESET_PREVIOUS_OP(); + scheduleBlitAllModifiedLayers(); + } } /**