<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] Synmark2_v6 Multithread performance case FPS reduced by 36%"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91788#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [HSW Regression] Synmark2_v6 Multithread performance case FPS reduced by 36%"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91788">bug 91788</a>
              from <span class="vcard"><a class="email" href="mailto:currojerez@riseup.net" title="Francisco Jerez <currojerez@riseup.net>"> <span class="fn">Francisco Jerez</span></a>
</span></b>
        <pre>Yeah, apparently the regression is caused by the additional validation done for
each image unit when _NEW_TEXTURE is flagged.  I would expect validation for a
single disabled image unit to be cheap, little more than a couple of pointer
dereferences and a branch, but still it seems to add up to a measurable
overhead due to the huge number of image units we expose.  The attached patch
removes the _NEW_TEXTURE-dependent state (actually just the _Valid field) from
the image unit struct so this per-image unit validation is no longer necessary.
 Instead the driver is required to call a function to calculate the same value
when needed, what may make per-image state updates in the driver a little more
expensive but is likely to be a net win because the overall complexity is
reduced since now only image units which are actually bound to a shader need to
be validated.</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>