On Wed, 30 Jun 2021 04:29:56 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:
>> At this point if we exit, we just return and unlock MTLRenderQueue for >> backbuffer rendering. And when it is done we again start CVDisplayLink in >> MTLRenderQueue which in turn calls setNeedsDisplay to get callback to >> MTLLayer.display(). >> >> This scenario is same as returning from CGLLayer.blitTexture() when >> textureID is 0. Appkit thread will be running in the background and we dont >> stop it. > > No, I meant if we dispose the frame/exist from the app/etc before > "Java_sun_java2d_metal_MTLLayer_blitTexture" method is executed but after we > call "startDisplayLink", when we will call the stopDisplayLink in this case? In that case it will hit MTLLayer.dealloc() where we stop and release CVDisplayLink. ------------- PR: https://git.openjdk.java.net/jdk17/pull/175