blob: 551281b7a06025a02d157acba2225b1a66bd03f6 [file] [log] [blame]
uniform half4 colorGreen, colorRed;
struct InnerLUT {
float3 values;
};
struct OuterLUT {
InnerLUT inner[3];
};
struct Root {
int valueAtRoot;
OuterLUT outer[3];
};
half4 main(float2 coords) {
Root data;
data.valueAtRoot = 1234;
float3 values = float3(0);
for (int i=0; i<3; ++i) {
for (int j=0; j<3; ++j) {
values += float3(1, 10, 100);
for (int k=0; k<3; ++k) {
data.outer[i].inner[j].values[k] = values[k];
}
}
}
bool ok = data.valueAtRoot == 1234
&& data.outer[0].inner[0].values == float3(1, 10, 100)
&& data.outer[0].inner[1].values == float3(2, 20, 200)
&& data.outer[0].inner[2].values == float3(3, 30, 300)
&& data.outer[1].inner[0].values == float3(4, 40, 400)
&& data.outer[1].inner[1].values == float3(5, 50, 500)
&& data.outer[1].inner[2].values == float3(6, 60, 600)
&& data.outer[2].inner[0].values == float3(7, 70, 700)
&& data.outer[2].inner[1].values == float3(8, 80, 800)
&& data.outer[2].inner[2].values == float3(9, 90, 900);
return ok ? colorGreen : colorRed;
}