Browse Source
Merge pull request #9430 from liamwhite/capable
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
pull/15/merge
Matías Locatti
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
2 additions and
0 deletions
-
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)}; |
|
|
|
|