mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-08-06 12:15:43 +00:00
This transform was previously converting this code: ``` var<private> v : f32; fn foo() { bar(&v); } ``` into this: ``` fn foo(vp : ptr<private, f32>) { bar(&*vp); // Invalid, since ptr args must be &ident } ``` Fixed: tint:1086 Change-Id: Ic9efafa219c89a11a4d6e1d11fc69b3c0b9a5464 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60520 Kokoro: Kokoro <noreply+kokoro@google.com> Auto-Submit: James Price <jrprice@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Ben Clayton <bclayton@google.com>
18 lines
516 B
Plaintext
18 lines
516 B
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
void atomicXor_c8e6be(threadgroup atomic_uint* const tint_symbol_1) {
|
|
uint res = atomic_fetch_xor_explicit(tint_symbol_1, 1u, memory_order_relaxed);
|
|
}
|
|
|
|
kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
|
|
threadgroup atomic_uint tint_symbol_2;
|
|
{
|
|
atomic_store_explicit(&(tint_symbol_2), uint(), memory_order_relaxed);
|
|
}
|
|
threadgroup_barrier(mem_flags::mem_threadgroup);
|
|
atomicXor_c8e6be(&(tint_symbol_2));
|
|
return;
|
|
}
|
|
|