diff --git a/src/compiler/nir/nir_gather_info.c b/src/compiler/nir/nir_gather_info.c index 6b4508f8401..50dd5c2e82b 100644 --- a/src/compiler/nir/nir_gather_info.c +++ b/src/compiler/nir/nir_gather_info.c @@ -835,6 +835,8 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader, shader->info.fs.needs_all_helper_invocations = true; if (shader->info.stage == MESA_SHADER_COMPUTE) shader->info.cs.uses_wide_subgroup_intrinsics = true; + if (gl_shader_stage_is_mesh(shader->info.stage)) + shader->info.mesh.uses_wide_subgroup_intrinsics = true; break; case nir_intrinsic_end_primitive: diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h index ef1bea49922..0d0c9fa040c 100644 --- a/src/compiler/shader_info.h +++ b/src/compiler/shader_info.h @@ -532,6 +532,8 @@ typedef struct shader_info { /* Applies to MESH. */ struct { + bool uses_wide_subgroup_intrinsics; + /* Bit mask of MS outputs that are used * with an index that is NOT the local invocation index. */