glsl: Disable several optimizations on shared variables
[mesa.git] / src / glsl / opt_constant_propagation.cpp
index 184aaa1c2975ce864f1ecfda4b86625bdeec7709..fb24a4fad046e7324fe96df58d0979ff59930a60 100644 (file)
@@ -500,7 +500,8 @@ ir_constant_propagation_visitor::add_constant(ir_assignment *ir)
     * the variable value isn't modified between this assignment and the next
     * instruction where its value is read.
     */
-   if (deref->var->data.mode == ir_var_shader_storage)
+   if (deref->var->data.mode == ir_var_shader_storage ||
+       deref->var->data.mode == ir_var_shader_shared)
       return;
 
    entry = new(this->mem_ctx) acp_entry(deref->var, ir->write_mask, constant);