summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/i965/brw_link.cpp6
-rw-r--r--src/mesa/drivers/dri/i965/brw_program.c2
2 files changed, 2 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp
index 0d8a6267562..60eb8dce517 100644
--- a/src/mesa/drivers/dri/i965/brw_link.cpp
+++ b/src/mesa/drivers/dri/i965/brw_link.cpp
@@ -145,12 +145,6 @@ process_glsl_ir(struct brw_context *brw,
brw_do_vector_splitting(shader->ir);
}
- progress = do_lower_jumps(shader->ir, true, true,
- true, /* main return */
- false, /* continue */
- false /* loops */
- ) || progress;
-
progress = do_common_optimization(shader->ir, true, true,
options, ctx->Const.NativeIntegers) || progress;
} while (progress);
diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c
index 7f69977e204..fa54c2ac61a 100644
--- a/src/mesa/drivers/dri/i965/brw_program.c
+++ b/src/mesa/drivers/dri/i965/brw_program.c
@@ -78,6 +78,8 @@ brw_create_nir(struct brw_context *brw,
if (shader_prog) {
nir = glsl_to_nir(shader_prog, stage, options);
nir_remove_dead_variables(nir, nir_var_shader_in | nir_var_shader_out);
+ nir_lower_returns(nir);
+ nir_validate_shader(nir);
NIR_PASS_V(nir, nir_lower_io_to_temporaries,
nir_shader_get_entrypoint(nir), true, false);
} else {