summaryrefslogtreecommitdiffstats
path: root/src/glsl/main.cpp
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2010-06-25 15:27:47 -0700
committerIan Romanick <[email protected]>2010-06-28 10:04:22 -0700
commit22c23dedad4e7f362ffbd990f1c2d5caf4cae75a (patch)
treec78f7d4f617f765be5014612785c4a1ae0cca697 /src/glsl/main.cpp
parent26b5d33dce37755a6a4a799a9edfcdff8c5ce3e5 (diff)
glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizations
Diffstat (limited to 'src/glsl/main.cpp')
-rw-r--r--src/glsl/main.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/glsl/main.cpp b/src/glsl/main.cpp
index b32e2ad3dbc..16b2cf84c53 100644
--- a/src/glsl/main.cpp
+++ b/src/glsl/main.cpp
@@ -89,11 +89,13 @@ usage_fail(const char *name)
int dump_ast = 0;
+int dump_hir = 0;
int dump_lir = 0;
int do_link = 0;
const struct option compiler_opts[] = {
{ "dump-ast", 0, &dump_ast, 1 },
+ { "dump-hir", 0, &dump_hir, 1 },
{ "dump-lir", 0, &dump_lir, 1 },
{ "link", 0, &do_link, 1 },
{ NULL, 0, NULL, 0 }
@@ -147,6 +149,11 @@ compile_shader(struct glsl_shader *shader)
validate_ir_tree(&shader->ir);
+ /* Print out the unoptimized IR. */
+ if (!state->error && dump_hir) {
+ _mesa_print_ir(&shader->ir, state);
+ }
+
/* Optimization passes */
if (!state->error && !shader->ir.is_empty()) {
bool progress;