mesa/src
Connor Abbott c62b58c216 nir: fix bug with moves in nir_opt_remove_phis()
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*

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2016-09-03 00:37:48 -04:00
..
compiler nir: fix bug with moves in nir_opt_remove_phis() 2016-09-03 00:37:48 -04:00
egl wayland-drm: add missing NULL check 2016-09-01 15:48:52 +01:00
gallium nv50,nvc0: respect render condition enable flag when clearing rt/zs 2016-09-03 00:01:07 -04:00
gbm gbm: Correct bo_import documentation (trivial) 2016-08-03 10:56:41 -07:00
getopt Introduce .editorconfig 2016-08-31 17:06:54 -07:00
glx glx: Don't use current context in __glXSendError 2016-08-17 17:16:34 +09:00
gtest Introduce .editorconfig 2016-08-31 17:06:54 -07:00
hgl Introduce .editorconfig 2016-08-31 17:06:54 -07:00
intel isl: round format alignment to nearest power of 2 2016-09-01 11:36:09 +01:00
loader loader: fix sysfs uevent file parsing 2016-09-01 15:48:34 +01:00
mapi mapi: don't forget to expose GetPointerv in GL ES 3.2 2016-09-03 00:26:36 -04:00
mesa main: add KHR_robustness to ES 3.2 extension requirements 2016-09-03 00:26:36 -04:00
util util: add assert that key cannot be NULL on insertion 2016-08-22 07:37:55 +03:00
Makefile.am aubinator: Add a new tool called Aubinator to the src/intel/tools folder. 2016-08-23 21:19:33 -07:00
SConscript scons: put the generated git_sha1.h file in top-level src/ directory 2016-06-17 10:33:00 -06:00