[Mesa-dev] [PATCH 2/2] i965: make use of nir_lower_returns() for GL

Timothy Arceri timothy.arceri at collabora.com
Fri Dec 9 05:49:10 UTC 2016


total instructions in shared programs: 8673389 -> 8673371 (-0.00%)
instructions in affected programs: 558 -> 540 (-3.23%)
helped: 2
HURT: 0

total cycles in shared programs: 73195178 -> 73195104 (-0.00%)
cycles in affected programs: 45680 -> 45606 (-0.16%)
helped: 2
HURT: 1
---
 src/mesa/drivers/dri/i965/brw_link.cpp  | 6 ------
 src/mesa/drivers/dri/i965/brw_program.c | 2 ++
 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 3f6041b..38d1349 100644
--- a/src/mesa/drivers/dri/i965/brw_link.cpp
+++ b/src/mesa/drivers/dri/i965/brw_link.cpp
@@ -161,12 +161,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 a502b8e..c4ab5ee 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 {
-- 
2.7.4



More information about the mesa-dev mailing list