[Bug 89580] Implement a NIR -> vec4 pass

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue May 26 11:36:04 PDT 2015


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

--- Comment #17 from Jason Ekstrand <jason at jlekstrand.net> ---
(In reply to Iago Toral from comment #16)
> Hi Jason,
> 
> I have tracked most of our current piglit failures (>800 test fails, a few
> crashes and a GPU hang) to this loop in get_mul_for_src
> (nir_opt_peephole_ffma.c) when trying to produce a multiply-add operation:
> 
>     for (unsigned i = 0; i < 4; i++) {
>       if (!(alu->dest.write_mask & (1 << i)))
>          break;
> 
>       swizzle[i] = swizzle[src->swizzle[i]];
>    }

Right.. That one's tricky. We should be breaking based on what channels are
readread rather than written.  There are two options here: we can either use
the writemask or the number of channels used by the *add*.  Since this pass
always runs with the shader in SSA form, it doesn't matter which you use so
long as use use the information from the add.

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


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