[Mesa-dev] [PATCH 1/3] amd/common: scan which components of gl_WorkGroupID are used

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Dec 14 21:40:20 UTC 2017



On 12/14/2017 08:32 PM, Bas Nieuwenhuizen wrote:
> On Thu, Dec 14, 2017 at 4:48 PM, Samuel Pitoiset
> <samuel.pitoiset at gmail.com> wrote:
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>>   src/amd/common/ac_shader_info.c | 8 ++++++++
>>   src/amd/common/ac_shader_info.h | 1 +
>>   2 files changed, 9 insertions(+)
>>
>> diff --git a/src/amd/common/ac_shader_info.c b/src/amd/common/ac_shader_info.c
>> index 09dd4bbd55..01949770d6 100644
>> --- a/src/amd/common/ac_shader_info.c
>> +++ b/src/amd/common/ac_shader_info.c
>> @@ -45,6 +45,14 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, struct ac_shader_info *info)
>>          case nir_intrinsic_load_num_work_groups:
>>                  info->cs.uses_grid_size = true;
>>                  break;
>> +       case nir_intrinsic_load_work_group_id: {
>> +               unsigned mask = nir_ssa_def_components_read(&instr->dest.ssa);
> 
> Nice find that there is an utility function for this.

Not me, Timothy gave me the hint yesterday. :)

> 
> Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
>> +               while (mask) {
>> +                       unsigned i = u_bit_scan(&mask);
>> +                       info->cs.uses_block_id[i] = true;
>> +               }
>> +               break;
>> +       }
>>          case nir_intrinsic_load_sample_id:
>>                  info->ps.force_persample = true;
>>                  break;
>> diff --git a/src/amd/common/ac_shader_info.h b/src/amd/common/ac_shader_info.h
>> index 3c809cce13..7beefd02ac 100644
>> --- a/src/amd/common/ac_shader_info.h
>> +++ b/src/amd/common/ac_shader_info.h
>> @@ -43,6 +43,7 @@ struct ac_shader_info {
>>          } ps;
>>          struct {
>>                  bool uses_grid_size;
>> +               bool uses_block_id[3];
>>          } cs;
>>   };
>>
>> --
>> 2.15.1
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list