dawn-cmake/test/var/workgroup.wgsl.expected.msl

58 lines
1.3 KiB
Plaintext

#include <metal_stdlib>
using namespace metal;
void uses_a(threadgroup int* const tint_symbol) {
*(tint_symbol) = (*(tint_symbol) + 1);
}
void uses_b(threadgroup int* const tint_symbol_1) {
*(tint_symbol_1) = (*(tint_symbol_1) * 2);
}
void uses_a_and_b(threadgroup int* const tint_symbol_2, threadgroup int* const tint_symbol_3) {
*(tint_symbol_2) = *(tint_symbol_3);
}
void no_uses() {
}
void outer(threadgroup int* const tint_symbol_4, threadgroup int* const tint_symbol_5) {
*(tint_symbol_4) = 0;
uses_a(tint_symbol_4);
uses_a_and_b(tint_symbol_5, tint_symbol_4);
uses_b(tint_symbol_5);
no_uses();
}
kernel void main1() {
threadgroup int tint_symbol_7 = 0;
threadgroup int* const tint_symbol_6 = &(tint_symbol_7);
*(tint_symbol_6) = 42;
uses_a(tint_symbol_6);
return;
}
kernel void main2() {
threadgroup int tint_symbol_9 = 0;
threadgroup int* const tint_symbol_8 = &(tint_symbol_9);
*(tint_symbol_8) = 7;
uses_b(tint_symbol_8);
return;
}
kernel void main3() {
threadgroup int tint_symbol_11 = 0;
threadgroup int* const tint_symbol_10 = &(tint_symbol_11);
threadgroup int tint_symbol_13 = 0;
threadgroup int* const tint_symbol_12 = &(tint_symbol_13);
outer(tint_symbol_10, tint_symbol_12);
no_uses();
return;
}
kernel void main4() {
no_uses();
return;
}