<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:kenneth@whitecape.org" title="Kenneth Graunke <kenneth@whitecape.org>"> <span class="fn">Kenneth Graunke</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTABUG - glFinish does not wait for VBlank"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110706">bug 110706</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>NOTABUG
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTABUG - glFinish does not wait for VBlank"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110706#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTABUG - glFinish does not wait for VBlank"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110706">bug 110706</a>
              from <span class="vcard"><a class="email" href="mailto:kenneth@whitecape.org" title="Kenneth Graunke <kenneth@whitecape.org>"> <span class="fn">Kenneth Graunke</span></a>
</span></b>
        <pre>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.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>