blob: bac249a6a6a3a00bd9cf65fe4969c176b8b90a2f [file] [log] [blame]
Ben Claytond1232672021-05-18 09:24:18 +00001#include <metal_stdlib>
2
3using 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];
Sarahb6fdcc52021-06-16 17:42:53 +000015};
Ben Clayton8ec32a62022-02-09 23:55:51 +000016
Ben Clayton3cbb1362022-01-06 18:11:01 +000017struct tint_symbol {
18 float4 value [[position]];
19};
Ben Claytond1232672021-05-18 09:24:18 +000020
James Pricea5d73ce2021-08-04 22:15:28 +000021float4 vtx_main_inner(uint VertexIndex) {
Ben Claytonc64ca232022-06-29 00:55:36 +000022 tint_array<float2, 3> const tint_symbol_2 = tint_array<float2, 3>{float2(0.0f, 0.5f), float2(-0.5f), float2(0.5f, -0.5f)};
23 return float4(tint_symbol_2[VertexIndex], 0.0f, 1.0f);
Ben Claytond1232672021-05-18 09:24:18 +000024}
25
James Pricea5d73ce2021-08-04 22:15:28 +000026vertex tint_symbol vtx_main(uint VertexIndex [[vertex_id]]) {
27 float4 const inner_result = vtx_main_inner(VertexIndex);
28 tint_symbol wrapper_result = {};
29 wrapper_result.value = inner_result;
30 return wrapper_result;
31}
32
Ben Clayton8ec32a62022-02-09 23:55:51 +000033struct tint_symbol_1 {
34 float4 value [[color(0)]];
35};
36
James Pricea5d73ce2021-08-04 22:15:28 +000037float4 frag_main_inner() {
38 return float4(1.0f, 0.0f, 0.0f, 1.0f);
39}
40
41fragment tint_symbol_1 frag_main() {
42 float4 const inner_result_1 = frag_main_inner();
43 tint_symbol_1 wrapper_result_1 = {};
44 wrapper_result_1.value = inner_result_1;
45 return wrapper_result_1;
Ben Claytond1232672021-05-18 09:24:18 +000046}
47