3
0
Fork 0
forked from suyu/suyu

spirv: Fix non-atomic 64-bit store

This commit is contained in:
ameerj 2021-04-14 01:17:47 -04:00
parent 6c512f4bff
commit 6f4a1c8dcf

View file

@ -77,7 +77,7 @@ Id StorageAtomicU64(EmitContext& ctx, const IR::Value& binding, const IR::Value&
binding, offset, sizeof(u32[2]))}; binding, offset, sizeof(u32[2]))};
const Id original_value{ctx.OpBitcast(ctx.U64, ctx.OpLoad(ctx.U32[2], pointer))}; const Id original_value{ctx.OpBitcast(ctx.U64, ctx.OpLoad(ctx.U32[2], pointer))};
const Id result{(ctx.*non_atomic_func)(ctx.U64, value, original_value)}; const Id result{(ctx.*non_atomic_func)(ctx.U64, value, original_value)};
ctx.OpStore(pointer, result); ctx.OpStore(pointer, ctx.OpBitcast(ctx.U32[2], result));
return original_value; return original_value;
} }
} // Anonymous namespace } // Anonymous namespace