<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:daniel@fooishbar.org" title="Daniel Stone <daniel@fooishbar.org>"> <span class="fn">Daniel Stone</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTOURBUG - call eglSwapBuffers causes app execution block"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99332">bug 99332</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;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>NOTOURBUG
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTOURBUG - call eglSwapBuffers causes app execution block"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99332#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTOURBUG - call eglSwapBuffers causes app execution block"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99332">bug 99332</a>
              from <span class="vcard"><a class="email" href="mailto:daniel@fooishbar.org" title="Daniel Stone <daniel@fooishbar.org>"> <span class="fn">Daniel Stone</span></a>
</span></b>
        <pre>(In reply to Sergey Stepanov from <a href="show_bug.cgi?id=99332#c0">comment #0</a>)
<span class="quote">> if we call eglSwapBuffers twice (or even call glClear in EGL mode) it can
> causes app execution block.</span >
>
<span class="quote">> I found 2 independent cases:
> 1. eglSwapBuffers implementation does not request wl_surface.frame
> callback(as Mesa do)</span >

You need to take this up with whoever provides your driver. This is your SoC
vendor, not the upstream Wayland project. We (well, most of us) have never seen
that particular driver, and we are unable to supply fixes for it.

<span class="quote">> 2. surface is not mapped in weston

> I believe in both cases EGL driver is blocked on waiting wl_buffer.release
> event.
> I suppose it happens because of the next code 

> in function weston_buffer_reference:
> wl_resource_queue_event(ref->buffer->resource,                                       WL_BUFFER_RELEASE);

> If there is no other events for the client a message buffer will not be
> flushed. So, client will not receive wl_buffer.release event until other
> event occurred.
> We can implement a workaround by calling display_roundtrip after each
> swapBuffers call, but i believe it is not a proper way.

> I did not check current version (but I took a look at source code,
> implementation is the same) but it is true for 1.6 and 1.9</span >

Yes, the EGL implementation needs to properly ensure that it polls for the
event. The documentation for wl_display_roundtrip_queue() will be useful to
your EGL driver supplier to help figure this out. And also, now that it seems
you have been able to move past libwayland 1.2, your EGL implementation _must_
use a separate event queue on the display, and manage its display queue in
accordance with the suggestions in the documentation.</pre>
        </div>
      </p>


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

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