[Mesa-dev] [PATCH v2 2/2] radeonsi/nir: set colors_read properly
Dieter Nützel
Dieter at nuetzel-hh.de
Thu Feb 14 03:03:56 UTC 2019
For the series
Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
on Polaris 20
Dieter
Am 12.02.2019 01:15, schrieb Timothy Arceri:
> shader-db results for VEGA64:
>
> Totals from affected shaders:
> SGPRS: 1976 -> 1976 (0.00 %)
> VGPRS: 1240 -> 1144 (-7.74 %)
> Spilled SGPRs: 145 -> 145 (0.00 %)
> Spilled VGPRs: 0 -> 0 (0.00 %)
> Private memory VGPRs: 0 -> 0 (0.00 %)
> Scratch size: 0 -> 0 (0.00 %) dwords per thread
> Code Size: 34632 -> 34604 (-0.08 %) bytes
> LDS: 0 -> 0 (0.00 %) blocks
> Max Waves: 261 -> 285 (9.20 %)
> Wait states: 0 -> 0 (0.00 %)
> ---
> src/gallium/drivers/radeonsi/si_shader_nir.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
> b/src/gallium/drivers/radeonsi/si_shader_nir.c
> index 4eec57b406d..55a950a675c 100644
> --- a/src/gallium/drivers/radeonsi/si_shader_nir.c
> +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
> @@ -74,9 +74,18 @@ static void gather_intrinsic_load_deref_info(const
> nir_shader *nir,
> }
> break;
> }
> - default:
> + default: {
> + unsigned semantic_name, semantic_index;
> + tgsi_get_gl_varying_semantic(var->data.location, true,
> + &semantic_name, &semantic_index);
> +
> + if (semantic_name == TGSI_SEMANTIC_COLOR) {
> + uint8_t mask = nir_ssa_def_components_read(&instr->dest.ssa);
> + info->colors_read |= mask << (semantic_index * 4);
> + }
> break;
> }
> + }
> }
>
> static void scan_instruction(const struct nir_shader *nir,
More information about the mesa-dev
mailing list