<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_ASSIGNED "
   title="ASSIGNED - GL_ARB_transform_feedback2 on i965 gen6"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99842">bug 99842</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>ASSIGNED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Assignee</td>
           <td>intel-3d-bugs@lists.freedesktop.org
           </td>
           <td>kenneth@whitecape.org
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - GL_ARB_transform_feedback2 on i965 gen6"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99842#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - GL_ARB_transform_feedback2 on i965 gen6"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99842">bug 99842</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>Looking at this again, we apparently never implemented Pause and
ResumeTransformFeedback() driver hooks...which meant that we actually failed to
restore the streamout buffer writing location during [Pause A -> Bind B -> ...
-> Bind A -> Resume A] situations.

Honestly, I think we forgot that this was a part of ES 3.0...there aren't any
failing tests for this in the CTS, so it looked like everything was working. 
There is a failing Piglit test, which I'm guessing came about after we had done
ES 3.0 and moved on.

I remember looking at implementing GL_ARB_transform_feedback2 back in the day. 
I saw the lack of MI_LOAD_REGISTER_MEM and figured Pause/Resume would be
painful to implement.  Of course, I failed to notice that there's a command to
do this...but the hard part is that there isn't a register to read, making it
hard to obtain the value at Pause time.

Of course, this is part of ES 3.0, so we have to do it anyway.  I've found a
solution that seems to work, and should fix those problems.

At that point, GL_ARB_transform_feedback2 only has one feature over and above
ES 3.0 - glDrawTransformFeedback().  However...that's easy.  The mechanism for
the above bug fix makes this just work with no additional code.

So I think we can turn it on.  I have no idea how well WebGL 2.0 will work...</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>