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-14 23:09:18 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:27 +0200
commitd8ec99dadaa033aa440671572ed38e2614815e11 (patch)
treeb17186775bbfe5d4c1d135aba73605407d7e080a /src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
parentspirv: Fix alpha test (diff)
downloadyuzu-d8ec99dadaa033aa440671572ed38e2614815e11.tar
yuzu-d8ec99dadaa033aa440671572ed38e2614815e11.tar.gz
yuzu-d8ec99dadaa033aa440671572ed38e2614815e11.tar.bz2
yuzu-d8ec99dadaa033aa440671572ed38e2614815e11.tar.lz
yuzu-d8ec99dadaa033aa440671572ed38e2614815e11.tar.xz
yuzu-d8ec99dadaa033aa440671572ed38e2614815e11.tar.zst
yuzu-d8ec99dadaa033aa440671572ed38e2614815e11.zip
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp9
1 files changed, 7 insertions, 2 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 f9c151a5c..59c56c5ba 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
@@ -76,9 +76,14 @@ std::optional<Id> OutputAttrPointer(EmitContext& ctx, IR::Attribute attr) {
const Id clip_num{ctx.Constant(ctx.U32[1], index)};
return ctx.OpAccessChain(ctx.output_f32, ctx.clip_distances, clip_num);
}
+ case IR::Attribute::Layer:
+ return ctx.profile.support_viewport_index_layer_non_geometry ||
+ ctx.stage == Shader::Stage::Geometry
+ ? std::optional<Id>{ctx.layer}
+ : std::nullopt;
case IR::Attribute::ViewportIndex:
- return (ctx.profile.support_viewport_index_layer_non_geometry ||
- ctx.stage == Shader::Stage::Geometry)
+ return ctx.profile.support_viewport_index_layer_non_geometry ||
+ ctx.stage == Shader::Stage::Geometry
? std::optional<Id>{ctx.viewport_index}
: std::nullopt;
default: