[Bug 100303] Adding a single, meaningless if-else to a shader source leads to different image

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Mar 26 03:51:19 UTC 2017


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

--- Comment #5 from Roland Scheidegger <sroland at vmware.com> ---
(In reply to Timothy Arceri from comment #4)
> (In reply to Roland Scheidegger from comment #2)
> > 
> > So, for some reason the compiler completely eliminated the conditional
> > return in the loop inside the branch and figured it will just
> > unconditionally return the value corresponding to not meeting that condition
> > in the loop in the original code. (In fact all code in this function with
> > the exception of the return statement is now effectively dead.)
> > Not sure though which lowering stage did this damage...
> 
> I think there is a bug in do_lower_jumps(). I noticed a similar bug when
> working on loop unrolling for NIR. I wrote the following tests that pass on
> NIR unrolling/return lower but fail in GLSL IR.
> 
> piglit/tests/spec/glsl-1.10/execution/vs-nested-return-sibling-loop.
> shader_tes
> piglit/tests/spec/glsl-1.10/execution/vs-nested-return-sibling-loop2.
> shader_test

Yes, that looks similar. Thease also have a return in a loop inside a
conditional. Albeit the test case here even works without the sibling loop.

-- 
You are receiving this mail because:
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/20170326/a543a806/attachment.html>


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