<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Hang reading from GL_FRONT in fullscreen"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=107290">107290</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Hang reading from GL_FRONT in fullscreen
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Mesa core
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jwyatt@feralinteractive.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=140709" name="attach_140709" title="Demonstration for hang">attachment 140709</a> <a href="attachment.cgi?id=140709&action=edit" title="Demonstration for hang">[details]</a></span>
Demonstration for hang

If GL_FRONT is bound using glReadBuffer in a fullscreen application, the driver
can hang in xshmfence_await.

This only appears to happen if the application is the only thing being
displayed - even bringing up the alt-tab menu will cause rendering to resume as
normal. Once this bug has occurred though, returning to the app will cause it
to hang again.

Possibly this happens when the else if (buffer_type ==
loader_dri3_buffer_front) path of dri3_get_buffer is used.

The attached sample should demonstrate this issue - it reports a duration for
the swap/read back on the order of the amount of time that the application was
the sole thing rendering to the screen.

Tested radeonsi, git revision 5ba3e5c358, Fedora 27, gnome 3.26.2.</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>