[Bug 110706] glFinish does not wait for VBlank

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun May 19 00:39:00 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=110706

Kenneth Graunke <kenneth at whitecape.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |NOTABUG
             Status|NEW                         |RESOLVED

--- Comment #1 from Kenneth Graunke <kenneth at whitecape.org> ---
glFinish has nothing to do with monitor vblanks.  According to the GL 4.5 spec:

"The command

 void Finish( void );

 forces all previously issued GL commands to complete. Finish does not return
 until all effects from such commands on GL client and server state and the
 framebuffer are fully realized."

In practice, this means that:

1) We've queued all GPU commands for your drawing.
2) We sent those rendering commands to the GPU.
3) We waited until those commands completed, so your rendering (to the back
buffer) is done.

It guarantees nothing about the presentation of those results in your windowing
system.  You'd need to use GLX or EGL functionality for that, or work with your
windowing system.

Your demo appears to call SwapBuffers, then Finish.  SwapBuffers will cause a
flush.  Finish will likely wait until that rendering is complete.  But nothing
syncs with vblank.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20190519/edf9ef4a/attachment.html>


More information about the intel-3d-bugs mailing list