glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizations
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 25 Jun 2010 22:27:47 +0000 (15:27 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 28 Jun 2010 17:04:22 +0000 (10:04 -0700)
src/glsl/main.cpp

index b32e2ad3dbc6c3cb9b91e7595a2fca34f3c38dd9..16b2cf84c53452cedb6e935540dbd04307943bd0 100644 (file)
@@ -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;