summaryrefslogtreecommitdiff
path: root/src/glsl/main.cpp
diff options
context:
space:
mode:
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 b32e2ad3db..16b2cf84c5 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;