diff options
| author | 2021-03-23 20:27:17 -0400 | |
|---|---|---|
| committer | 2021-07-22 21:51:24 -0400 | |
| commit | 3d07cef009cf9e287744c7771c67166ef5761ce8 (patch) | |
| tree | 78f4fea18d9facb72850b4c2fe115e96b7af8f26 /src/shader_recompiler/backend/spirv/emit_context.cpp | |
| parent | vk_pipeline_cache: Fix ReleaseContents order (diff) | |
| download | yuzu-3d07cef009cf9e287744c7771c67166ef5761ce8.tar.gz yuzu-3d07cef009cf9e287744c7771c67166ef5761ce8.tar.xz yuzu-3d07cef009cf9e287744c7771c67166ef5761ce8.zip | |
shader: Implement VOTE
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_context.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_context.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.cpp b/src/shader_recompiler/backend/spirv/emit_context.cpp index 4a4de3676..36f130781 100644 --- a/src/shader_recompiler/backend/spirv/emit_context.cpp +++ b/src/shader_recompiler/backend/spirv/emit_context.cpp | |||
| @@ -259,6 +259,10 @@ void EmitContext::DefineInputs(const Info& info, Stage stage) { | |||
| 259 | if (info.uses_local_invocation_id) { | 259 | if (info.uses_local_invocation_id) { |
| 260 | local_invocation_id = DefineInput(*this, U32[3], spv::BuiltIn::LocalInvocationId); | 260 | local_invocation_id = DefineInput(*this, U32[3], spv::BuiltIn::LocalInvocationId); |
| 261 | } | 261 | } |
| 262 | if (profile.warp_size_potentially_larger_than_guest && info.uses_subgroup_vote) { | ||
| 263 | subgroup_local_invocation_id = | ||
| 264 | DefineInput(*this, U32[1], spv::BuiltIn::SubgroupLocalInvocationId); | ||
| 265 | } | ||
| 262 | if (info.loads_position) { | 266 | if (info.loads_position) { |
| 263 | const bool is_fragment{stage != Stage::Fragment}; | 267 | const bool is_fragment{stage != Stage::Fragment}; |
| 264 | const spv::BuiltIn built_in{is_fragment ? spv::BuiltIn::Position : spv::BuiltIn::FragCoord}; | 268 | const spv::BuiltIn built_in{is_fragment ? spv::BuiltIn::Position : spv::BuiltIn::FragCoord}; |