<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [HSW, regression, bisected] i965/pixel_read: Use meta_pbo_GetTexSubImage for PBO ReadPixels (ef0499af255ecd)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=89314#c19">Comment # 19</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [HSW, regression, bisected] i965/pixel_read: Use meta_pbo_GetTexSubImage for PBO ReadPixels (ef0499af255ecd)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=89314">bug 89314</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>It seems pretty clear to me.  The specification allows rounding in either
direction.

Reading from GPU memory into GPU memory (a PBO) vs. reading into CPU memory (a
malloc'd buffer) are different operations, and already have differing
properties.  For example, reading into CPU memory could stall due to
cross-device synchronization, while reading into GPU memory might be fully
pipelined and only stall if/when the buffer is eventually mapped.  Those are
substantially different behaviors; applications don't expect them to behave
identically.

Our implementation of GetTexSubImage/ReadPixels into CPU memory is valid.
Our implementation of GetTexSubImage/ReadPixels into GPU memory is also valid.

The GL implementation is expected to perform these operations as quickly as
possible, so it needs to be free to choose the most performant valid
implementation as it sees fit.

The fact that they differ, ever so slightly, is not a problem.  Both results
are allowed by the specification.</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>