Mesa (master): glsl: Don't do structure splitting until link time.
Eric Anholt
anholt at kemper.freedesktop.org
Fri Sep 9 03:21:04 UTC 2011
Module: Mesa
Branch: master
Commit: 60df737ad57c20701b66d7cd3f63d1dc75745986
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60df737ad57c20701b66d7cd3f63d1dc75745986
Author: Eric Anholt <eric at 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.romanick at 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;
More information about the mesa-commit
mailing list