blob: f92477aa813bb3b18fa83c65995acafebc5fa598 [file] [log] [blame]
James Price960aa2e2021-06-19 00:33:35 +00001#include <metal_stdlib>
Ben Claytonaba42ed2021-06-10 18:43:04 +00002
James Price960aa2e2021-06-19 00:33:35 +00003using namespace metal;
Ben Claytonf47887d2022-06-24 17:01:59 +00004
5template<typename T, size_t N>
6struct tint_array {
7 const constant T& operator[](size_t i) const constant { return elements[i]; }
8 device T& operator[](size_t i) device { return elements[i]; }
9 const device T& operator[](size_t i) const device { return elements[i]; }
10 thread T& operator[](size_t i) thread { return elements[i]; }
11 const thread T& operator[](size_t i) const thread { return elements[i]; }
12 threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
13 const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
14 T elements[N];
15};
16
James Price960aa2e2021-06-19 00:33:35 +000017struct tint_symbol_1 {
Ben Claytonf47887d2022-06-24 17:01:59 +000018 /* 0x0000 */ tint_array<uint4, 1> buffer_size;
James Price960aa2e2021-06-19 00:33:35 +000019};
Ben Clayton8ec32a62022-02-09 23:55:51 +000020
Ben Claytonaba42ed2021-06-10 18:43:04 +000021struct S {
Ben Claytonf47887d2022-06-24 17:01:59 +000022 tint_array<int, 1> a;
Ben Claytonaba42ed2021-06-10 18:43:04 +000023};
24
James Pricee548db92021-10-28 15:00:39 +000025kernel void tint_symbol(const constant tint_symbol_1* tint_symbol_3 [[buffer(30)]]) {
26 uint const l1 = (((*(tint_symbol_3)).buffer_size[0u][0u] - 0u) / 4u);
James Price960aa2e2021-06-19 00:33:35 +000027 return;
Ben Claytonaba42ed2021-06-10 18:43:04 +000028}
29