36 lines
690 B
Plaintext
36 lines
690 B
Plaintext
|
#include <metal_stdlib>
|
||
|
|
||
|
using namespace metal;
|
||
|
struct tint_array_wrapper_0 {
|
||
|
float array[4];
|
||
|
};
|
||
|
struct tint_array_wrapper_1 {
|
||
|
tint_array_wrapper_0 array[3];
|
||
|
};
|
||
|
struct tint_array_wrapper_2 {
|
||
|
tint_array_wrapper_1 array[2];
|
||
|
};
|
||
|
|
||
|
float f1(tint_array_wrapper_0 const a) {
|
||
|
return a.array[3];
|
||
|
}
|
||
|
|
||
|
float f2(tint_array_wrapper_1 const a) {
|
||
|
return a.array[2].array[3];
|
||
|
}
|
||
|
|
||
|
float f3(tint_array_wrapper_2 const a) {
|
||
|
return a.array[1].array[2].array[3];
|
||
|
}
|
||
|
|
||
|
kernel void tint_symbol() {
|
||
|
tint_array_wrapper_0 const a1 = {};
|
||
|
tint_array_wrapper_1 const a2 = {};
|
||
|
tint_array_wrapper_2 const a3 = {};
|
||
|
float const v1 = f1(a1);
|
||
|
float const v2 = f2(a2);
|
||
|
float const v3 = f3(a3);
|
||
|
return;
|
||
|
}
|
||
|
|