Hi, sorry for the drive-by but a comment in line below Den tis 31 juli 2018 16:09Jason Ekstrand <ja...@jlekstrand.net> skrev:
> Shader-db results on Kaby Lake: > > total instructions in shared programs: 15166953 -> 15073611 (-0.62%) > instructions in affected programs: 2390284 -> 2296942 (-3.91%) > helped: 16469 > HURT: 505 > > total loops in shared programs: 4954 -> 4951 (-0.06%) > loops in affected programs: 3 -> 0 > helped: 3 > HURT: 0 > --- > src/intel/compiler/brw_nir.c | 17 ++++++++++++----- > 1 file changed, 12 insertions(+), 5 deletions(-) > > diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c > index 99ef6bec77f..a6e3e502cdd 100644 > --- a/src/intel/compiler/brw_nir.c > +++ b/src/intel/compiler/brw_nir.c > @@ -713,6 +713,18 @@ brw_nir_link_shaders(const struct brw_compiler > *compiler, > nir_validate_shader(*producer); > nir_validate_shader(*consumer); > > + const bool p_is_scalar = > + compiler->scalar_stage[(*producer)->info.stage]; > + const bool c_is_scalar = > + compiler->scalar_stage[(*producer)->info.stage]; > Shouldn't the above index be s/producer/consumer/ ? else both booleans are the same. BR Nils + > + if (p_is_scalar && c_is_scalar) { > + NIR_PASS_V(*producer, nir_lower_io_to_scalar_early, > nir_var_shader_out); > + NIR_PASS_V(*consumer, nir_lower_io_to_scalar_early, > nir_var_shader_in); > + *producer = brw_nir_optimize(*producer, compiler, p_is_scalar); > + *consumer = brw_nir_optimize(*consumer, compiler, c_is_scalar); > + } > + > NIR_PASS_V(*producer, nir_remove_dead_variables, nir_var_shader_out); > NIR_PASS_V(*consumer, nir_remove_dead_variables, nir_var_shader_in); > > @@ -729,12 +741,7 @@ brw_nir_link_shaders(const struct brw_compiler > *compiler, > NIR_PASS_V(*consumer, nir_lower_indirect_derefs, > brw_nir_no_indirect_mask(compiler, > (*consumer)->info.stage)); > > - const bool p_is_scalar = > - compiler->scalar_stage[(*producer)->info.stage]; > *producer = brw_nir_optimize(*producer, compiler, p_is_scalar); > - > - const bool c_is_scalar = > - compiler->scalar_stage[(*producer)->info.stage]; > *consumer = brw_nir_optimize(*consumer, compiler, c_is_scalar); > } > } > -- > 2.17.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev