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

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri Mar 9 08:47:40 UTC 2018


The spilled SGPRs/VGPRs is quite nice, but yes the VGPRs increase is not 
totally good, this is why the number of waves decreased...

On 03/08/2018 11:42 PM, Timothy Arceri wrote:
> 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