anv/pipeline: Do invariance propagation on SPIR-V shaders
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 16 Jun 2016 17:57:39 +0000 (10:57 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 20 Jun 2016 19:02:58 +0000 (12:02 -0700)
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
src/intel/vulkan/anv_pipeline.c

index b41e11e5dcac9eb33dc3af92297c6f13c63ebc47..1c54081d47c6202b8ecfce5d5740a6dfc9c37274 100644 (file)
@@ -165,6 +165,9 @@ anv_shader_compile_to_nir(struct anv_device *device,
       nir_remove_dead_variables(nir, nir_var_system_value);
       nir_validate_shader(nir);
 
+      nir_propagate_invariant(nir);
+      nir_validate_shader(nir);
+
       nir_lower_io_to_temporaries(entry_point->shader, entry_point, true, false);
 
       nir_lower_system_values(nir);