blob: 6f91f641af376234dbbc61f978595cc3509df27e [file] [log] [blame]
Ben Clayton6992f512022-12-01 18:49:09 +00001#include <metal_stdlib>
2
3using namespace metal;
Ben Clayton9dc42ad2024-02-05 18:01:33 +00004void tint_zero_workgroup_memory(uint local_idx, threadgroup int* const tint_symbol_1) {
Antonio Maioranof5abb822024-02-28 01:01:02 +00005 if ((local_idx < 1u)) {
Ben Clayton6992f512022-12-01 18:49:09 +00006 *(tint_symbol_1) = 0;
7 }
8 threadgroup_barrier(mem_flags::mem_threadgroup);
Ben Clayton9dc42ad2024-02-05 18:01:33 +00009}
10
11int func(threadgroup int* const pointer) {
12 return *(pointer);
13}
14
15void tint_symbol_inner(uint local_invocation_index, threadgroup int* const tint_symbol_2) {
16 tint_zero_workgroup_memory(local_invocation_index, tint_symbol_2);
17 int const r = func(tint_symbol_2);
Ben Clayton6992f512022-12-01 18:49:09 +000018}
19
20kernel void tint_symbol(uint local_invocation_index [[thread_index_in_threadgroup]]) {
Ben Clayton9dc42ad2024-02-05 18:01:33 +000021 threadgroup int tint_symbol_3;
22 tint_symbol_inner(local_invocation_index, &(tint_symbol_3));
Ben Clayton6992f512022-12-01 18:49:09 +000023 return;
24}
25