[require] shader model >= 4.0 [pixel shader] float4x1 main() : sv_target { return float4(1.0, 2.0, 3.0, 4.0); } [test] todo(msl) draw quad probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0) [pixel shader] row_major float1x4 main() : sv_target { return float4(1.0, 2.0, 3.0, 4.0); } [test] todo(msl) draw quad probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0) [rtv 0] format r32-float size (2d, 640, 480) [rtv 1] format r32-float size (2d, 640, 480) [rtv 2] format r32-float size (2d, 640, 480) [rtv 3] format r32-float size (2d, 640, 480) [pixel shader fail(sm>=6)] row_major float4x1 main() : sv_target { return float4(1.0, 2.0, 3.0, 4.0); } [test] todo(sm>=6 | msl) draw quad probe rtv 0 (0,0) r (1.0) probe rtv 1 (0,0) r (2.0) probe rtv 2 (0,0) r (3.0) probe rtv 3 (0,0) r (4.0) [pixel shader fail(sm>=6)] float1x4 main() : sv_target { return float4(1.0, 2.0, 3.0, 4.0); } [test] todo(sm>=6 | msl) draw quad probe rtv 0 (0,0) r (1.0) probe rtv 1 (0,0) r (2.0) probe rtv 2 (0,0) r (3.0) probe rtv 3 (0,0) r (4.0) [pixel shader fail] void main(out float1x2 x : sv_target0, out float1x2 y : sv_target1) { x = float2(1.0, 2.0); y = float2(5.0, 6.0); } [pixel shader fail(sm>=6)] void main(out float1x2 x : sv_target0, out float1x2 y : sv_target2) { x = float2(1.0, 2.0); y = float2(5.0, 6.0); } [test] todo(sm>=6 | msl) draw quad probe rtv 0 (0,0) r (1.0) probe rtv 1 (0,0) r (2.0) probe rtv 2 (0,0) r (5.0) probe rtv 3 (0,0) r (6.0) [rtv 0] format r32g32b32a32-float size (2d, 640, 480) [pixel shader fail(sm>=6)] void main(out row_major float1x4 x : sv_target0, out float1x2 y : sv_target1) { x = float4(1.0, 2.0, 3.0, 4.0); y = float2(5.0, 6.0); } [test] todo(sm>=6 | msl) draw quad probe rtv 0 (0,0) rgba (1.0, 2.0, 3.0, 4.0) probe rtv 1 (0,0) r (5.0) probe rtv 2 (0,0) r (6.0)