#include <metal_stdlib> | |
#include <simd/simd.h> | |
using namespace metal; | |
struct S1 { | |
int x; | |
}; | |
struct S2 { | |
S1 x; | |
}; | |
struct S3 { | |
S2 x; | |
}; | |
struct S4 { | |
S3 x; | |
}; | |
struct S5 { | |
S4 x; | |
}; | |
struct S6 { | |
S5 x; | |
}; | |
struct S7 { | |
S6 x; | |
}; | |
struct S8 { | |
S7 x; | |
}; | |
struct SA1 { | |
array<int, 2> x; | |
}; | |
struct SA2 { | |
array<SA1, 2> x; | |
}; | |
struct SA3 { | |
array<SA2, 2> x; | |
}; | |
struct SA4 { | |
array<SA3, 2> x; | |
}; | |
struct SA5 { | |
array<SA4, 2> x; | |
}; | |
struct SA6 { | |
array<SA5, 2> x; | |
}; | |
struct SA7 { | |
array<SA6, 2> x; | |
}; | |
struct SA8 { | |
array<SA7, 2> x; | |
}; | |
struct Inputs { | |
S8 s8; | |
array<SA8, 2> sa8; | |
}; | |
struct Outputs { | |
half4 sk_FragColor [[color(0)]]; | |
}; |