Index: ui/gl/gl_surface_ozone.cc |
diff --git a/ui/gl/gl_surface_ozone.cc b/ui/gl/gl_surface_ozone.cc |
index 231f6c53cdb443be28d8a66b585f188dccb9a40d..459ec7231a1919e0ea9f4fb2a47ba99f727209f4 100644 |
--- a/ui/gl/gl_surface_ozone.cc |
+++ b/ui/gl/gl_surface_ozone.cc |
@@ -366,10 +366,12 @@ void GLSurfaceOzoneSurfaceless::SwapBuffersAsync( |
base::WorkerPool::PostTaskAndReply(FROM_HERE, fence_wait_task, |
fence_retired_callback, false); |
- } else if (ozone_surface_->IsUniversalDisplayLinkDevice()) { |
- glFinish(); |
+ return; // Defer frame submission until fence signals. |
} |
+ if (ozone_surface_->IsUniversalDisplayLinkDevice()) |
+ glFinish(); |
+ |
frame->ready = true; |
SubmitFrame(); |
} |