[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) [require] shader model >= 4.0 [render target 0] format r32 float size (640, 480) [render target 1] format r32 float size (640, 480) [render target 2] format r32 float size (640, 480) [render target 3] format r32 float size (640, 480) [pixel shader] row_major float4x1 main() : sv_target { return float4(1.0, 2.0, 3.0, 4.0); } [test] draw quad probe render target 0 all r (1.0) probe render target 1 all r (2.0) probe render target 2 all r (3.0) probe render target 3 all r (4.0) [pixel shader] float1x4 main() : sv_target { return float4(1.0, 2.0, 3.0, 4.0); } [test] draw quad probe render target 0 all r (1.0) probe render target 1 all r (2.0) probe render target 2 all r (3.0) probe render target 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] 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] draw quad probe render target 0 all r (1.0) probe render target 1 all r (2.0) probe render target 2 all r (5.0) probe render target 3 all r (6.0) [render target 0] format r32g32b32a32 float size (640, 480) [pixel shader] 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] draw quad probe render target 0 all rgba (1.0, 2.0, 3.0, 4.0) probe render target 1 all r (5.0) probe render target 2 all r (6.0)