-
Sub-task
-
Resolution: Fixed
-
P4
-
internal
-
generic
-
os_x
We lock the renderqueue when we are trying to blit back buffer content to CAMetalLayer and in this case when CAMetalLayer is in sync with vsync we will hold on to this renderqueue lock for longer amount of time.
Also in case of Metal we have to use blitEncoder to copy the content from back buffer to NextDrawable texture. We simply can't assign the back buffer texture to nextDrawable texture as it is read only.
We need additional check after making CAMetalLayer synchronous so that we dont ask for nextDrawable continuously. We can do that by using nextDrawableCount and request for nextDrawable only after we present the rendered drawable.
In case of OpenGL we have asynchronous CAOpenGLLayer
Also in case of Metal we have to use blitEncoder to copy the content from back buffer to NextDrawable texture. We simply can't assign the back buffer texture to nextDrawable texture as it is read only.
We need additional check after making CAMetalLayer synchronous so that we dont ask for nextDrawable continuously. We can do that by using nextDrawableCount and request for nextDrawable only after we present the rendered drawable.
In case of OpenGL we have asynchronous CAOpenGLLayer
- relates to
-
JDK-8232918 Unguarded use of displaySyncEnabled causes build to fail
- Resolved