From 28faa12dc2413d93c7f4778327a5e7c4c8f57c85 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 2 Jul 2010 11:37:39 -0700 Subject: 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 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp index d5664e7b91..11fb7b9f16 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; } -- cgit v1.2.3