summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatías Locatti <42481638+goldenx86@users.noreply.github.com>2022-12-15 20:52:05 -0300
committerGitHub <noreply@github.com>2022-12-15 20:52:05 -0300
commit82d80869fcccda4feb761c68f89e2aedef0bf5c4 (patch)
tree06234131251d1d4b2bb9cca27218579aefaf99c7 /src
parentb8c03411e7240875973d65c62d01043cb30a8fb7 (diff)
parent77b0d0163946c91811093aaf8de13cb28965b08b (diff)
Merge pull request #9430 from liamwhite/capable
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
Diffstat (limited to 'src')
-rw-r--r--src/shader_recompiler/backend/spirv/spirv_emit_context.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
index 8e3e40cd5..41dc6d031 100644
--- a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
+++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
@@ -1345,8 +1345,10 @@ void EmitContext::DefineInputs(const IR::Program& program) {
if (info.uses_fswzadd || info.uses_subgroup_invocation_id || info.uses_subgroup_shuffles ||
(profile.warp_size_potentially_larger_than_guest &&
(info.uses_subgroup_vote || info.uses_subgroup_mask))) {
+ AddCapability(spv::Capability::GroupNonUniform);
subgroup_local_invocation_id =
DefineInput(*this, U32[1], false, spv::BuiltIn::SubgroupLocalInvocationId);
+ Decorate(subgroup_local_invocation_id, spv::Decoration::Flat);
}
if (info.uses_fswzadd) {
const Id f32_one{Const(1.0f)};