On Friday, September 2, 2016 7:28:09 PM PDT Connor Abbott wrote:
> In 144cbf8 ("nir: Make nir_opt_remove_phis see through moves."), Ken
> made nir_opt_remove_phis able to coalesce phi nodes whose sources are
> all moves with the same swizzle. However, he didn't add the logic
> necessary for handling the fact that the phi may now have multiple
> different sources, even though the sources point to the same thing. For
> example, if we had something like:
> 
> if (...)
>    a1 = b.yx;
> else
>    a2 = b.yx;
> a = phi(a1, a2)
> ... = a
> 
> then we would rewrite it to
> 
> if (...)
>    a1 = b.yx;
> else
>    a2 = b.yx;
> ... = a1
> 
> by picking a random phi source, which in this case is invalid because
> the source doesn't dominate the phi. Instead, we need to change it to:
> 
> if (...)
>    a1 = b.yx;
> else
>    a2 = b.yx;
> a3 = b.yx;
> ... = a3;

Fixes 12 CTS tests:
ES31-CTS.functional.tessellation.invariance.outer_edge_symmetry.quads*

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to