[pixel shader] float4 main() : SV_TARGET { float4 color; color[0] = 0.020; color[1] = 0.245; color[2] = 0.351; color[3] = 1.0; return color; } [test] todo(glsl) draw quad probe all rgba (0.02, 0.245, 0.351, 1.0) [pixel shader] uniform float4 m; float4 main() : SV_TARGET { return float4(m[0], m[1], m[1], m[2]); } [test] uniform 0 float4 1.0 2.0 3.0 4.0 todo(glsl) draw quad probe all rgba (1.0, 2.0, 2.0, 3.0) [pixel shader fail(sm<6)] float4 main() : SV_TARGET { float4 vec = {0, 1, 2, 3}; int1 idx = {3}; return vec[idx]; } [pixel shader] float4 main() : SV_TARGET { float4 vec = {0, 1, 2, 3}; int2 idx = {1, 2}; return vec[idx.y]; } [test] todo(glsl) draw quad probe all rgba (2.0, 2.0, 2.0, 2.0) [pixel shader fail(sm<6) todo] float4 v; float i; float4 main() : sv_target { float4 p = v; p[i] = 2.0; return 0; }