summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-04-16 21:31:15 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:28 +0200
commite3514bcd6b09f623da14c4f3c4ffd988e75577ed (patch)
tree8c7e375472cb6b654b9d462ae4a9b51575c38b93 /src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
parentspirv: Bitcast non-F32 attributes to F32 (diff)
downloadyuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.gz
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.bz2
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.lz
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.xz
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.zst
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
index f3de577f6..ca067f1c4 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
@@ -99,6 +99,11 @@ std::optional<Id> OutputAttrPointer(EmitContext& ctx, IR::Attribute attr) {
ctx.stage == Shader::Stage::Geometry
? std::optional<Id>{ctx.viewport_index}
: std::nullopt;
+ case IR::Attribute::ViewportMask:
+ if (!ctx.profile.support_viewport_mask) {
+ return std::nullopt;
+ }
+ return ctx.OpAccessChain(ctx.output_u32, ctx.viewport_mask, ctx.u32_zero_value);
default:
throw NotImplementedException("Read attribute {}", attr);
}