[require] shader model >= 4.0 [pixel shader] float4x1 main() : sv_target { return float4(1.0, 2.0, 3.0, 4.0); } [test] draw quad probe all 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] draw quad probe all 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) draw quad probe rtv 0 all r (1.0) probe rtv 1 all r (2.0) probe rtv 2 all r (3.0) probe rtv 3 all 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) draw quad probe rtv 0 all r (1.0) probe rtv 1 all r (2.0) probe rtv 2 all r (3.0) probe rtv 3 all 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) draw quad probe rtv 0 all r (1.0) probe rtv 1 all r (2.0) probe rtv 2 all r (5.0) probe rtv 3 all 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) draw quad probe rtv 0 all rgba (1.0, 2.0, 3.0, 4.0) probe rtv 1 all r (5.0) probe rtv 2 all r (6.0)