From: Eric Anholt Date: Fri, 2 Jul 2010 18:37:39 +0000 (-0700) Subject: ir_to_mesa: Don't forget to run the Mesa IR optimization passes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=28faa12dc2413d93c7f4778327a5e7c4c8f57c85;p=mesa.git 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. --- diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp index d5664e7b91e..11fb7b9f16a 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; }