diff options
| author | 2021-04-14 01:17:47 -0400 | |
|---|---|---|
| committer | 2021-07-22 21:51:27 -0400 | |
| commit | 6f4a1c8dcfb1d54555b139f1d76ac9157ff49d42 (patch) | |
| tree | 752adb1d0654a3f84d26c62dc6715194551a4da5 /src/shader_recompiler | |
| parent | spirv: Implement alpha test (diff) | |
| download | yuzu-6f4a1c8dcfb1d54555b139f1d76ac9157ff49d42.tar.gz yuzu-6f4a1c8dcfb1d54555b139f1d76ac9157ff49d42.tar.xz yuzu-6f4a1c8dcfb1d54555b139f1d76ac9157ff49d42.zip | |
spirv: Fix non-atomic 64-bit store
Diffstat (limited to '')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp index aab32dc52..c2c879a6c 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp | |||
| @@ -77,7 +77,7 @@ Id StorageAtomicU64(EmitContext& ctx, const IR::Value& binding, const IR::Value& | |||
| 77 | binding, offset, sizeof(u32[2]))}; | 77 | binding, offset, sizeof(u32[2]))}; |
| 78 | const Id original_value{ctx.OpBitcast(ctx.U64, ctx.OpLoad(ctx.U32[2], pointer))}; | 78 | const Id original_value{ctx.OpBitcast(ctx.U64, ctx.OpLoad(ctx.U32[2], pointer))}; |
| 79 | const Id result{(ctx.*non_atomic_func)(ctx.U64, value, original_value)}; | 79 | const Id result{(ctx.*non_atomic_func)(ctx.U64, value, original_value)}; |
| 80 | ctx.OpStore(pointer, result); | 80 | ctx.OpStore(pointer, ctx.OpBitcast(ctx.U32[2], result)); |
| 81 | return original_value; | 81 | return original_value; |
| 82 | } | 82 | } |
| 83 | } // Anonymous namespace | 83 | } // Anonymous namespace |