st_glsl_to_tgsi: call ubo load pass earlier
authorDave Airlie <airlied@gmail.com>
Mon, 10 Dec 2012 04:22:34 +0000 (14:22 +1000)
committerDave Airlie <airlied@gmail.com>
Mon, 10 Dec 2012 04:22:34 +0000 (14:22 +1000)
This calls it in around the same place as the 965 driver.

Signed-off-by: Dave Airlie <airlied@redhat.com>
src/mesa/state_tracker/st_glsl_to_tgsi.cpp

index efbbed2fd6a1189104aebe0d34e066e27b558b65..07f4e8488943277a7246e12e89c84920bd8574ea 100644 (file)
@@ -5112,6 +5112,8 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
          do_mat_op_to_vec(ir);
          lower_instructions(ir, what_to_lower);
 
+         lower_ubo_reference(prog->_LinkedShaders[i], ir);
+
          progress = do_lower_jumps(ir, true, true, options->EmitNoMainReturn, options->EmitNoCont, options->EmitNoLoops) || progress;
 
          progress = do_common_optimization(ir, true, true,
@@ -5143,7 +5145,6 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
 
          progress = do_vec_index_to_cond_assign(ir) || progress;
 
-         lower_ubo_reference(prog->_LinkedShaders[i], ir);
       } while (progress);
 
       validate_ir_tree(ir);