summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
diff options
context:
space:
mode:
authorFernando S <fsahmkow27@gmail.com>2023-01-06 16:06:45 +0100
committerGitHub <noreply@github.com>2023-01-06 16:06:45 +0100
commit8b251fc3f60330f1b1311af2d17cdb1ae9874683 (patch)
tree9c9eca32c58912170c07097d885fc08672cb40a8 /src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
parentMerge pull request #9561 from liamwhite/update-dynarmic (diff)
parentRun clang-format (diff)
downloadyuzu-8b251fc3f60330f1b1311af2d17cdb1ae9874683.tar
yuzu-8b251fc3f60330f1b1311af2d17cdb1ae9874683.tar.gz
yuzu-8b251fc3f60330f1b1311af2d17cdb1ae9874683.tar.bz2
yuzu-8b251fc3f60330f1b1311af2d17cdb1ae9874683.tar.lz
yuzu-8b251fc3f60330f1b1311af2d17cdb1ae9874683.tar.xz
yuzu-8b251fc3f60330f1b1311af2d17cdb1ae9874683.tar.zst
yuzu-8b251fc3f60330f1b1311af2d17cdb1ae9874683.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp8
1 files changed, 6 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 db9c94ce8..0cd87a48f 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
@@ -321,8 +321,12 @@ Id EmitGetAttribute(EmitContext& ctx, IR::Attribute attr, Id vertex) {
case IR::Attribute::PositionY:
case IR::Attribute::PositionZ:
case IR::Attribute::PositionW:
- return ctx.OpLoad(ctx.F32[1], AttrPointer(ctx, ctx.input_f32, vertex, ctx.input_position,
- ctx.Const(element)));
+ return ctx.OpLoad(
+ ctx.F32[1],
+ ctx.need_input_position_indirect
+ ? AttrPointer(ctx, ctx.input_f32, vertex, ctx.input_position, ctx.u32_zero_value,
+ ctx.Const(element))
+ : AttrPointer(ctx, ctx.input_f32, vertex, ctx.input_position, ctx.Const(element)));
case IR::Attribute::InstanceId:
if (ctx.profile.support_vertex_instance_id) {
return ctx.OpBitcast(ctx.F32[1], ctx.OpLoad(ctx.U32[1], ctx.instance_id));