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

Timothy Arceri t_arceri at yahoo.com.au
Sat Dec 10 04:57:42 UTC 2016


Updated shader-db numbers for BDW with recent shader-db:

fills helped:   shaders/closed/steam/deus-ex-mankind-
divided/306.shader_test CS SIMD16: 56 -> 53 (-5.36%)
fills helped:   shaders/closed/steam/deus-ex-mankind-
divided/206.shader_test CS SIMD16: 56 -> 53 (-5.36%)

total instructions in shared programs: 13065576 -> 13065524 (-0.00%)
instructions in affected programs: 37675 -> 37623 (-0.14%)
helped: 36
HURT: 4

total cycles in shared programs: 295966670 -> 295964212 (-0.00%)
cycles in affected programs: 10168934 -> 10166476 (-0.02%)
helped: 38
HURT: 5

total fills in shared programs: 20301 -> 20295 (-0.03%)
fills in affected programs: 112 -> 106 (-5.36%)
helped: 2
HURT: 0


On Fri, 2016-12-09 at 16:49 +1100, Timothy Arceri wrote:
> 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 {


More information about the mesa-dev mailing list