glsl: Propagate invariant/precise after lowering const arrays.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 22 Jun 2016 00:42:59 +0000 (17:42 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 23 Jun 2016 18:58:50 +0000 (11:58 -0700)
The new uniform may need precise as well.

Fixes copy propagation of constant array uniforms in Tomb Raider shaders.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
src/compiler/glsl/linker.cpp

index c7cf56eaa0b3cfde22a0d1a51b746fb947760619..3bcb907f9b1a9d419f2e8aec035ca16b257587a7 100644 (file)
@@ -4760,6 +4760,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
         ;
 
       lower_const_arrays_to_uniforms(prog->_LinkedShaders[i]->ir);
+      propagate_invariance(prog->_LinkedShaders[i]->ir);
    }
 
    /* Validation for special cases where we allow sampler array indexing