summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
diff options
context:
space:
mode:
authorBilly Laws <blaws05@gmail.com>2022-08-02 18:41:41 +0200
committerBilly Laws <blaws05@gmail.com>2023-01-05 23:13:07 +0100
commitbbfad79c89f9b7886005d39b51129bcfd94830b8 (patch)
tree70450b224d32ae1302010248590caff84ea200b7 /src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
parentMerge pull request #9527 from Wollnashorn/amd-cache-fix (diff)
downloadyuzu-bbfad79c89f9b7886005d39b51129bcfd94830b8.tar
yuzu-bbfad79c89f9b7886005d39b51129bcfd94830b8.tar.gz
yuzu-bbfad79c89f9b7886005d39b51129bcfd94830b8.tar.bz2
yuzu-bbfad79c89f9b7886005d39b51129bcfd94830b8.tar.lz
yuzu-bbfad79c89f9b7886005d39b51129bcfd94830b8.tar.xz
yuzu-bbfad79c89f9b7886005d39b51129bcfd94830b8.tar.zst
yuzu-bbfad79c89f9b7886005d39b51129bcfd94830b8.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp7
1 files changed, 5 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..1590debc4 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,11 @@ 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));