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

Author: Eric Anholt <e...@anholt.net>
Date:   Wed Sep  7 12:04:57 2011 -0700

glsl: Don't do structure splitting until link time.

We were splitting on each side of an unlinked program, and the two
sides lost track of which variables they referenced, resulting in
assertion failure during validation.  Fixes piglit
link-struct-uniform-usage.

Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>

---

 src/glsl/glsl_parser_extras.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index 8f740e6..8faddc5 100644
--- a/src/glsl/glsl_parser_extras.cpp
+++ b/src/glsl/glsl_parser_extras.cpp
@@ -891,8 +891,8 @@ do_common_optimization(exec_list *ir, bool linked, unsigned 
max_unroll_iteration
    if (linked) {
       progress = do_function_inlining(ir) || progress;
       progress = do_dead_functions(ir) || progress;
+      progress = do_structure_splitting(ir) || progress;
    }
-   progress = do_structure_splitting(ir) || progress;
    progress = do_if_simplification(ir) || progress;
    progress = do_discard_simplification(ir) || progress;
    progress = do_copy_propagation(ir) || progress;

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to