[Mesa-dev] [PATCH 2/2] radv: run nir_opt_move_load_ubo

Timothy Arceri tarceri at itsqueeze.com
Thu Mar 8 22:42:58 UTC 2018


I gave this a run on radeonsi and the results were mixed. On the one 
hand we reduced some spills on the other hand we increase VGPR use and 
max waves dropped. I wonder if we should look more closely into whats 
going on here.

72280 shaders in 43328 tests
Totals:
SGPRS: 2930328 -> 2922464 (-0.27 %)
VGPRS: 1736292 -> 1738480 (0.13 %)
Spilled SGPRs: 9430 -> 8917 (-5.44 %)
Spilled VGPRs: 57 -> 53 (-7.02 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 48 -> 40 (-16.67 %) dwords per thread
Code Size: 63877120 -> 63762236 (-0.18 %) bytes
LDS: 438 -> 438 (0.00 %) blocks
Max Waves: 556299 -> 555981 (-0.06 %)
Wait states: 0 -> 0 (0.00 %)

On 09/03/18 01:50, Samuel Pitoiset wrote:
> Polaris10:
> Totals from affected shaders:
> SGPRS: 106656 -> 105952 (-0.66 %)
> VGPRS: 73464 -> 73400 (-0.09 %)
> Spilled SGPRs: 7121 -> 6861 (-3.65 %)
> Code Size: 4157792 -> 4158716 (0.02 %) bytes
> Max Waves: 9316 -> 9330 (0.15 %)
> 
> Vega10:
> Totals from affected shaders:
> SGPRS: 106720 -> 106032 (-0.64 %)
> VGPRS: 67828 -> 67752 (-0.11 %)
> Spilled SGPRs: 7113 -> 6853 (-3.66 %)
> Code Size: 3704432 -> 3705112 (0.02 %) bytes
> Max Waves: 10547 -> 10571 (0.23 %)
> 
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>   src/amd/vulkan/radv_shader.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
> index 85672e600d..6a1db81660 100644
> --- a/src/amd/vulkan/radv_shader.c
> +++ b/src/amd/vulkan/radv_shader.c
> @@ -152,6 +152,7 @@ radv_optimize_nir(struct nir_shader *shader)
>           } while (progress);
>   
>           NIR_PASS(progress, shader, nir_opt_shrink_load);
> +        NIR_PASS(progress, shader, nir_opt_move_load_ubo);
>   }
>   
>   nir_shader *
> 


More information about the mesa-dev mailing list