nir: Mark nir_intrinsic_load_global_block_intel as divergent
This is divergent because it specifically loads sequential values into
successive SIMD lanes.
No shader-db or fossil-db changes on any Intel platform.
Fixes: 9f44a26462 ("nir/divergence: handle load_global_block_intel")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27044>
This commit is contained in:
@@ -208,7 +208,6 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr,
|
||||
case nir_intrinsic_load_resume_shader_address_amd:
|
||||
case nir_intrinsic_load_global_const_block_intel:
|
||||
case nir_intrinsic_load_reloc_const_intel:
|
||||
case nir_intrinsic_load_global_block_intel:
|
||||
case nir_intrinsic_load_btd_global_arg_addr_intel:
|
||||
case nir_intrinsic_load_btd_local_arg_addr_intel:
|
||||
case nir_intrinsic_load_mesh_inline_data_intel:
|
||||
@@ -238,6 +237,13 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr,
|
||||
is_divergent = false;
|
||||
break;
|
||||
|
||||
/* This is divergent because it specifically loads sequential values into
|
||||
* successive SIMD lanes.
|
||||
*/
|
||||
case nir_intrinsic_load_global_block_intel:
|
||||
is_divergent = true;
|
||||
break;
|
||||
|
||||
case nir_intrinsic_decl_reg:
|
||||
is_divergent = nir_intrinsic_divergent(instr);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user