dawn-cmake/test/var/uses/private.wgsl.expected.msl
Ben Clayton 71a1f58537 test: move test/var files to test/var/uses
These test primarily test emission of the variables based on transitive function call usage.

Change-Id: I0f64cb6496ed1238000cb8a6c97a1a445de0ab41
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56546
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-06-30 15:58:50 +00:00

54 lines
1.0 KiB
Plaintext

#include <metal_stdlib>
using namespace metal;
void uses_a(thread int* const tint_symbol) {
*(tint_symbol) = (*(tint_symbol) + 1);
}
void uses_b(thread int* const tint_symbol_1) {
*(tint_symbol_1) = (*(tint_symbol_1) * 2);
}
void uses_a_and_b(thread int* const tint_symbol_2, thread int* const tint_symbol_3) {
*(tint_symbol_2) = *(tint_symbol_3);
}
void no_uses() {
}
void outer(thread int* const tint_symbol_4, thread 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() {
thread int tint_symbol_6 = 0;
tint_symbol_6 = 42;
uses_a(&(tint_symbol_6));
return;
}
kernel void main2() {
thread int tint_symbol_7 = 0;
tint_symbol_7 = 7;
uses_b(&(tint_symbol_7));
return;
}
kernel void main3() {
thread int tint_symbol_8 = 0;
thread int tint_symbol_9 = 0;
outer(&(tint_symbol_8), &(tint_symbol_9));
no_uses();
return;
}
kernel void main4() {
no_uses();
return;
}