Module: Mesa
Branch: master
Commit: 7de4d8fe11c53e59265b8a4252ab9940ffcc9929
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7de4d8fe11c53e59265b8a4252ab9940ffcc9929

Author: Eric Anholt <[email protected]>
Date:   Tue Aug 24 15:30:42 2010 -0700

glsl: Don't dead-code eliminate a uniform initializer.

Partial fix for glsl-uniform-initializer-5.

---

 src/glsl/ir_dead_code.cpp |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/glsl/ir_dead_code.cpp b/src/glsl/ir_dead_code.cpp
index 7ff580d..5cf5e99 100644
--- a/src/glsl/ir_dead_code.cpp
+++ b/src/glsl/ir_dead_code.cpp
@@ -92,6 +92,14 @@ do_dead_code(exec_list *instructions)
         /* If there are no assignments or references to the variable left,
          * then we can remove its declaration.
          */
+
+        /* uniform initializers are precious, and could get used by another
+         * stage.
+         */
+        if (entry->var->mode == ir_var_uniform &&
+            entry->var->constant_value)
+           continue;
+
         entry->var->remove();
         progress = true;
 

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to