glsl: run do_lower_jumps properly in do_common_optimizations
so that backends don't have to run it manually Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -2106,7 +2106,8 @@ do_common_optimization(exec_list *ir, bool linked,
|
||||
OPT(do_minmax_prune, ir);
|
||||
OPT(do_rebalance_tree, ir);
|
||||
OPT(do_algebraic, ir, native_integers, options);
|
||||
OPT(do_lower_jumps, ir);
|
||||
OPT(do_lower_jumps, ir, true, true, options->EmitNoMainReturn,
|
||||
options->EmitNoCont, options->EmitNoLoops);
|
||||
OPT(do_vec_index_to_swizzle, ir);
|
||||
OPT(lower_vector_insert, ir, false);
|
||||
OPT(do_swizzle_swizzle, ir);
|
||||
|
@@ -2979,8 +2979,6 @@ _mesa_ir_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
|
||||
| LOG_TO_LOG2 | INT_DIV_TO_MUL_RCP
|
||||
| ((options->EmitNoPow) ? POW_TO_EXP2 : 0)));
|
||||
|
||||
progress = do_lower_jumps(ir, true, true, options->EmitNoMainReturn, options->EmitNoCont, options->EmitNoLoops) || progress;
|
||||
|
||||
progress = do_common_optimization(ir, true, true,
|
||||
options, ctx->Const.NativeIntegers)
|
||||
|| progress;
|
||||
|
@@ -6872,14 +6872,8 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
|
||||
}
|
||||
|
||||
do {
|
||||
progress = false;
|
||||
|
||||
progress = do_lower_jumps(ir, true, true, options->EmitNoMainReturn, options->EmitNoCont, options->EmitNoLoops) || progress;
|
||||
|
||||
progress = do_common_optimization(ir, true, true, options,
|
||||
ctx->Const.NativeIntegers)
|
||||
|| progress;
|
||||
|
||||
ctx->Const.NativeIntegers);
|
||||
progress = lower_if_to_cond_assign((gl_shader_stage)i, ir,
|
||||
options->MaxIfDepth, if_threshold) ||
|
||||
progress;
|
||||
|
Reference in New Issue
Block a user