summaryrefslogtreecommitdiffstats
path: root/src/glsl/test_optpass.cpp
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2011-10-21 11:17:39 -0700
committerIan Romanick <ian.d.romanick@intel.com>2011-10-25 17:51:43 -0700
commit1d5d67f8adac9f94715de9804adb536d9a7ec5ee (patch)
tree16423340036f8aec696169af5e8a9176035c7ffb /src/glsl/test_optpass.cpp
parent384ad987a1dd495681be0a5a04344fe6400e48ec (diff)
downloadexternal_mesa3d-1d5d67f8adac9f94715de9804adb536d9a7ec5ee.zip
external_mesa3d-1d5d67f8adac9f94715de9804adb536d9a7ec5ee.tar.gz
external_mesa3d-1d5d67f8adac9f94715de9804adb536d9a7ec5ee.tar.bz2
glsl: Add uniform_locations_assigned parameter to do_dead_code opt pass
Setting this flag prevents declarations of uniforms from being removed from the IR. Since the IR is directly used by several API functions that query uniforms in shaders, uniform declarations cannot be removed after the locations have been set. However, it should still be safe to reorder the declarations (this is not tested). Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41980 Tested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Bryan Cain <bryancain3@gmail.com> Cc: Vinson Lee <vlee@vmware.com> Cc: José Fonseca <jfonseca@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Diffstat (limited to 'src/glsl/test_optpass.cpp')
-rw-r--r--src/glsl/test_optpass.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/glsl/test_optpass.cpp b/src/glsl/test_optpass.cpp
index 89b7f83..6abafb5 100644
--- a/src/glsl/test_optpass.cpp
+++ b/src/glsl/test_optpass.cpp
@@ -64,7 +64,7 @@ do_optimization(struct exec_list *ir, const char *optimization)
if (sscanf(optimization, "do_common_optimization ( %d , %d ) ",
&int_0, &int_1) == 2) {
- return do_common_optimization(ir, int_0 != 0, int_1);
+ return do_common_optimization(ir, int_0 != 0, false, int_1);
} else if (strcmp(optimization, "do_algebraic") == 0) {
return do_algebraic(ir);
} else if (strcmp(optimization, "do_constant_folding") == 0) {
@@ -80,7 +80,7 @@ do_optimization(struct exec_list *ir, const char *optimization)
} else if (strcmp(optimization, "do_constant_propagation") == 0) {
return do_constant_propagation(ir);
} else if (strcmp(optimization, "do_dead_code") == 0) {
- return do_dead_code(ir);
+ return do_dead_code(ir, false);
} else if (strcmp(optimization, "do_dead_code_local") == 0) {
return do_dead_code_local(ir);
} else if (strcmp(optimization, "do_dead_code_unlinked") == 0) {