• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1uniform half4 colorGreen, colorRed, colorBlack, colorWhite, testInputs;
2
3half4 main(float2 coords) {
4    const half4 constBlack = half4(0, 0, 0, 1);
5    const half4 constWhite = half4(1);
6    const half4 constVal = half4(-1.25, 0, 0.75, 2.25);
7    half4 expectedBW = half4(0.5, 0.5, 0.5, 1);
8    half4 expectedWT = half4(1,   0.5, 1,   2.25);
9
10    return (mix(colorGreen,      colorRed,        0)                   == half4(0,    1,    0, 1) &&
11            mix(colorGreen,      colorRed,        0.25)                == half4(0.25, 0.75, 0, 1) &&
12            mix(colorGreen,      colorRed,        0.75)                == half4(0.75, 0.25, 0, 1) &&
13            mix(colorGreen,      colorRed,        1)                   == half4(1,    0,    0, 1) &&
14            mix(colorBlack.x,    colorWhite.x,    0.5)                 == expectedBW.x            &&
15            mix(colorBlack.xy,   colorWhite.xy,   0.5)                 == expectedBW.xy           &&
16            mix(colorBlack.xyz,  colorWhite.xyz,  0.5)                 == expectedBW.xyz          &&
17            mix(colorBlack.xyzw, colorWhite.xyzw, 0.5)                 == expectedBW.xyzw         &&
18            mix(constBlack.x,    constWhite.x,    0.5)                 == expectedBW.x            &&
19            mix(constBlack.xy,   constWhite.xy,   0.5)                 == expectedBW.xy           &&
20            mix(constBlack.xyz,  constWhite.xyz,  0.5)                 == expectedBW.xyz          &&
21            mix(constBlack.xyzw, constWhite.xyzw, 0.5)                 == expectedBW.xyzw         &&
22            mix(colorWhite.x,    testInputs.x,    0)                   == expectedWT.x            &&
23            mix(colorWhite.xy,   testInputs.xy,   half2(0, 0.5))       == expectedWT.xy           &&
24            mix(colorWhite.xyz,  testInputs.xyz,  half3(0, 0.5, 0))    == expectedWT.xyz          &&
25            mix(colorWhite.xyzw, testInputs.xyzw, half4(0, 0.5, 0, 1)) == expectedWT.xyzw         &&
26            mix(constWhite.x,    constVal.x,      0)                   == expectedWT.x            &&
27            mix(constWhite.xy,   constVal.xy,     half2(0, 0.5))       == expectedWT.xy           &&
28            mix(constWhite.xyz,  constVal.xyz,    half3(0, 0.5, 0))    == expectedWT.xyz          &&
29            mix(constWhite.xyzw, constVal.xyzw,   half4(0, 0.5, 0, 1)) == expectedWT.xyzw)
30                ? colorGreen : colorRed;
31}
32