Mesa (glsl2): ir_to_mesa: Don' t forget to run the Mesa IR optimization passes.

Eric Anholt anholt at kemper.freedesktop.org
Fri Jul 2 18:45:28 UTC 2010


Module: Mesa
Branch: glsl2
Commit: 28faa12dc2413d93c7f4778327a5e7c4c8f57c85
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=28faa12dc2413d93c7f4778327a5e7c4c8f57c85

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jul  2 11:37:39 2010 -0700

ir_to_mesa: Don't forget to run the Mesa IR optimization passes.

With how we generate assignments, the trivial copy propagation in it
is really important, and some drivers will really want the register
allocation, too.

---

 src/mesa/shader/ir_to_mesa.cpp |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp
index d5664e7..11fb7b9 100644
--- a/src/mesa/shader/ir_to_mesa.cpp
+++ b/src/mesa/shader/ir_to_mesa.cpp
@@ -44,6 +44,7 @@
 extern "C" {
 #include "main/mtypes.h"
 #include "shader/prog_instruction.h"
+#include "shader/prog_optimize.h"
 #include "shader/prog_print.h"
 #include "shader/program.h"
 #include "shader/prog_uniform.h"
@@ -1675,6 +1676,10 @@ get_mesa_program(GLcontext *ctx, void *mem_ctx, struct gl_shader *shader)
 
    _mesa_reference_program(ctx, &shader->Program, prog);
 
+   if ((ctx->Shader.Flags & GLSL_NO_OPT) == 0) {
+      _mesa_optimize_program(ctx, prog);
+   }
+
    return prog;
 }
 




More information about the mesa-commit mailing list