From fa437f87caaeddaded88d227e2fc42b31866b4cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20=C5=9Alusarz?= Date: Wed, 31 Aug 2022 14:26:58 +0200 Subject: [PATCH] nir: add uses_wide_subgroup_intrinsics to task/mesh shader_info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Timur Kristóf Reviewed-by: Tapani Pälli Reviewed-by: Caio Oliveira Part-of: --- src/compiler/nir/nir_gather_info.c | 2 ++ src/compiler/shader_info.h | 2 ++ 2 files changed, 4 insertions(+) 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. */