<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:idr@freedesktop.org" title="Ian Romanick <idr@freedesktop.org>"> <span class="fn">Ian Romanick</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - i965: glGetGraphicsResetStatusARB always returns GUILTY_CONTEXT_RESET_ARB status for guilty context"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=78769">bug 78769</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>FIXED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - i965: glGetGraphicsResetStatusARB always returns GUILTY_CONTEXT_RESET_ARB status for guilty context"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=78769#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - i965: glGetGraphicsResetStatusARB always returns GUILTY_CONTEXT_RESET_ARB status for guilty context"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=78769">bug 78769</a>
              from <span class="vcard"><a class="email" href="mailto:idr@freedesktop.org" title="Ian Romanick <idr@freedesktop.org>"> <span class="fn">Ian Romanick</span></a>
</span></b>
        <pre>Fixed on master by the commit below.  This has been cherry picked to the 10.2
branch as 9a8f12ae, and it will be included in 10.2-rc3.

commit 8dc4a98c44a824630f3cc234136833dbac9a1f4c
Author: Pavel Popov <<a href="mailto:pavel.e.popov@intel.com">pavel.e.popov@intel.com</a>>
Date:   Fri May 16 12:00:02 2014 +0700

    i965: Properly return *RESET* status in glGetGraphicsResetStatusARB

    The glGetGraphicsResetStatusARB from ARB_robustness extension always
    returns GUILTY_CONTEXT_RESET_ARB and never returns NO_ERROR for guilty
    context with LOSE_CONTEXT_ON_RESET_ARB strategy.  This is because Mesa
    returns GUILTY_CONTEXT_RESET_ARB if batch_active !=0 whereas kernel
    driver never reset batch_active and this variable always > 0 for guilty
    context.  The same behaviour also can be observed for batch_pending and
    INNOCENT_CONTEXT_RESET_ARB.

    But ARB_robustness spec says:

      If a reset status other than NO_ERROR is returned and subsequent calls
      return NO_ERROR, the context reset was encountered and completed. If a
      reset status is repeatedly returned, the context may be in the process
      of resetting.

      8. How should the application react to a reset context event?
      RESOLVED: For this extension, the application is expected to query the
      reset status until NO_ERROR is returned. If a reset is encountered, at
      least one *RESET* status will be returned. Once NO_ERROR is
      encountered, the application can safely destroy the old context and
      create a new one.

    The main problem is the context may be in the process of resetting and
    in this case a reset status should be repeatedly returned.  But looks
    like the kernel driver returns nonzero active/pending only if the
    context reset has already been encountered and completed.  For this
    reason the *RESET* status cannot be repeatedly returned and should be
    returned only once.

    The reset_count and brw->reset_count variables can be used to control
    that glGetGraphicsResetStatusARB returns *RESET* status only once for
    each context.  Note the i915 triggers reset_count twice which allows to
    return correct reset count immediately after active/pending have been
    incremented.

    v2 (idr): Trivial reformatting of comments.

    Signed-off-by: Pavel Popov <<a href="mailto:pavel.e.popov@intel.com">pavel.e.popov@intel.com</a>>
    Reviewed-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>>
    Cc: "10.1 10.2" <<a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.org</a>></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>