spirv: Fix non-atomic 64-bit store
This commit is contained in:
parent
6c512f4bff
commit
6f4a1c8dcf
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue