<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>