diff options
author | Billy Laws <blaws05@gmail.com> | 2022-08-02 18:41:41 +0200 |
---|---|---|
committer | Billy Laws <blaws05@gmail.com> | 2023-01-05 23:13:07 +0100 |
commit | bbfad79c89f9b7886005d39b51129bcfd94830b8 (patch) | |
tree | 70450b224d32ae1302010248590caff84ea200b7 /src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp | |
parent | Merge pull request #9527 from Wollnashorn/amd-cache-fix (diff) | |
download | yuzu-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.cpp | 7 |
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)); |