dawn-cmake/test/intrinsics/gen/atomicSub/051100.wgsl.expected.msl
James Price f9d19719fd Implement atomicSub intrinsic
Polyfill this for HLSL using an atomic add with the operand negated.

Fixed: tint:1130
Change-Id: Ifa32d58973f1b48593ec0f6320f47f4358a5a3a9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/62760
Auto-Submit: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-08-26 15:26:25 +00:00

22 lines
435 B
Plaintext

#include <metal_stdlib>
using namespace metal;
struct SB_RW {
/* 0x0000 */ atomic_int arg_0;
};
void atomicSub_051100(device SB_RW& sb_rw) {
int res = atomic_fetch_sub_explicit(&(sb_rw.arg_0), 1, memory_order_relaxed);
}
fragment void fragment_main(device SB_RW& sb_rw [[buffer(0)]]) {
atomicSub_051100(sb_rw);
return;
}
kernel void compute_main(device SB_RW& sb_rw [[buffer(0)]]) {
atomicSub_051100(sb_rw);
return;
}