blob: b9e1ac4d94cce06ee52c349c14d6f6f45794ff58 [file] [log] [blame]
uniform half4 colorGreen, colorRed;
half4 main(float2) {
float4 scalar;
float4 array[1];
// Test swizzled-lvalue assignment on a scalar.
scalar = float4(colorGreen) * 0.5; // 0, 0.5, 0, 0.5
scalar.a = 2.0; // 0, 0.5, 0, 2
scalar.g /= 0.25; // 0, 2, 0, 2
scalar.gba *= float3x3(0.5); // 0, 1, 0, 1
scalar.bgar += float4(0.25, 0.0, 0.0, 0.75); // 0.75, 1, 0.25, 1
scalar.r += scalar.a <= 1.0 ? scalar.b : 0.0; // 1, 1, 0.25, 1
// Test swizzled-lvalue assignment on an array element.
array[0] = float4(colorGreen) * 0.5; // 0, 0.5, 0, 0.5
array[0].a = 2.0; // 0, 0.5, 0, 2
array[0].g /= 0.25; // 0, 2, 0, 2
array[0].gba *= float3x3(0.5); // 0, 1, 0, 1
array[0].bgar += float4(0.25, 0.0, 0.0, 0.75); // 0.75, 1, 0.25, 1
array[0].r += array[0].a <= 1.0 ? array[0].b : 0.0; // 1, 1, 0.25, 1
return (scalar == float4(1, 1, 0.25, 1) && array[0] == float4(1, 1, 0.25, 1)) ? colorGreen
: colorRed;
}