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