summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-09-09 20:15:09 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-09-14 15:50:46 +0200
commit759b5db9168f7c0ecc55d259b518f8c32be946fb (patch)
tree955af80c6eab9f05e214548a26da9bfd590cb8bf
parent21d589669cd6fa70e5fcc257bd0ea9e07eb467aa (diff)
glsl: TEMP: do array indexing lowering and structure split in main.cpp
The places that run optimization passes should be unified and refactored, so that things need not be added everywhere. Currently add this to main.cpp; OpenGL will need this too depending on options.
-rw-r--r--src/glsl/main.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/glsl/main.cpp b/src/glsl/main.cpp
index 94c14a58a7..bfa1b71ff9 100644
--- a/src/glsl/main.cpp
+++ b/src/glsl/main.cpp
@@ -217,6 +217,9 @@ compile_shader(GLcontext *ctx, struct gl_shader *shader)
progress = set_loop_controls(shader->ir, ls) || progress;
progress = unroll_loops(shader->ir, ls, 32) || progress;
delete ls;
+
+ progress = do_array_index_to_cond_assign(shader->ir) || progress;
+ progress = do_structure_splitting(shader->ir) || progress;
} while (progress);
validate_ir_tree(shader->ir);