intel/fs: fix subgroup invocation read bounds checking
nir->info.subgroup_size can be set to an enum :
SUBGROUP_SIZE_VARYING = 0
SUBGROUP_SIZE_UNIFORM = 1
SUBGROUP_SIZE_API_CONSTANT = 2
SUBGROUP_SIZE_FULL_SUBGROUPS = 3
So compute the API subgroup size value and compare it to the dispatch
size to determine whether we need some bound checking.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 9ac192d79d
("intel/fs: bound subgroup invocation read to dispatch size")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21856>
This commit is contained in:

committed by
Marge Bot

parent
f6a36190a1
commit
56474fae93
@@ -160,6 +160,9 @@ void brw_nir_apply_key(nir_shader *nir,
|
||||
unsigned max_subgroup_size,
|
||||
bool is_scalar);
|
||||
|
||||
unsigned brw_nir_api_subgroup_size(const nir_shader *nir,
|
||||
unsigned hw_subgroup_size);
|
||||
|
||||
enum brw_conditional_mod brw_cmod_for_nir_comparison(nir_op op);
|
||||
enum lsc_opcode lsc_aop_for_nir_intrinsic(const nir_intrinsic_instr *atomic);
|
||||
enum brw_reg_type brw_type_for_nir_type(const struct intel_device_info *devinfo,
|
||||
|
Reference in New Issue
Block a user