[Bug 99221] >2% perf drop in GfxBench T-Rex with "i965: disable loop unrolling in GLSL IR"

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jan 2 09:41:42 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=99221

--- Comment #11 from Eero Tamminen <eero.t.tamminen at intel.com> ---
(In reply to Matt Turner from comment #10)
> (In reply to Eero Tamminen from comment #9)
> > SynMark PSPhong case seems similar (worse scheduling and more register bank
> > conflicts).
> > 
> > In the SynMark PSPom case, fragment shader has two loops of which GLSL IR
> > can unroll the other, but NIR doesn't unroll either of them.
> > 
> > Should NIR be able to unroll loops with non-integer loop counter, like GLSL
> > IR did:
> > ------------------------
> > for (float i = 0.02; i < 0.9; i += 0.11)
> >    maxSh += (texture(normalTex, texCoord + lightRay * i).a - sh0) * (1.0 -
> > i) * shadowSoftening;
> > ------------------------
> > ?

Few other things that in shader-db had non-integer loop counters with fixed
counts:
- Invisible Inc
- Talos Principle
- Steam Big Picture
- Serious Sam 3

Manhattan, Unigine demos (at Ultra level), Nexuiz and Xonotic had float loops
without fixed count.


> This is going to get really confusing really quickly is we're trying to
> debug 5 different regressions in the same bug. I recommend filing new bugs
> for each on that we're analyzing and making them block a TRACKER bug.

While there are 4 benchmarks that are known to be regressed, so far it's one
issue, and potential issue with float counter loops.

Does/should NIR support unrolling non-integer loop counters?

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20170102/d36e622e/attachment.html>


More information about the intel-3d-bugs mailing list