vkd3d-shader/hlsl: Use a block in hlsl_normalize_binary_exprs().
[vkd3d.git] / tests / hlsl / matrix-semantics.shader_test
blobb9efed53d91155142213d02eb682bb3cd8917e60
1 [require]
2 shader model >= 4.0
4 [pixel shader]
5 float4x1 main() : sv_target
7     return float4(1.0, 2.0, 3.0, 4.0);
10 [test]
11 draw quad
12 probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
14 [pixel shader]
15 row_major float1x4 main() : sv_target
17     return float4(1.0, 2.0, 3.0, 4.0);
20 [test]
21 draw quad
22 probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
24 [rtv 0]
25 format r32-float
26 size (2d, 640, 480)
28 [rtv 1]
29 format r32-float
30 size (2d, 640, 480)
32 [rtv 2]
33 format r32-float
34 size (2d, 640, 480)
36 [rtv 3]
37 format r32-float
38 size (2d, 640, 480)
40 [pixel shader fail(sm>=6)]
41 row_major float4x1 main() : sv_target
43     return float4(1.0, 2.0, 3.0, 4.0);
46 [test]
47 todo(sm>=6) draw quad
48 probe rtv 0 (0,0) r (1.0)
49 probe rtv 1 (0,0) r (2.0)
50 probe rtv 2 (0,0) r (3.0)
51 probe rtv 3 (0,0) r (4.0)
53 [pixel shader fail(sm>=6)]
54 float1x4 main() : sv_target
56     return float4(1.0, 2.0, 3.0, 4.0);
59 [test]
60 todo(sm>=6) draw quad
61 probe rtv 0 (0,0) r (1.0)
62 probe rtv 1 (0,0) r (2.0)
63 probe rtv 2 (0,0) r (3.0)
64 probe rtv 3 (0,0) r (4.0)
66 [pixel shader fail]
67 void main(out float1x2 x : sv_target0, out float1x2 y : sv_target1)
69     x = float2(1.0, 2.0);
70     y = float2(5.0, 6.0);
73 [pixel shader fail(sm>=6)]
74 void main(out float1x2 x : sv_target0, out float1x2 y : sv_target2)
76     x = float2(1.0, 2.0);
77     y = float2(5.0, 6.0);
80 [test]
81 todo(sm>=6) draw quad
82 probe rtv 0 (0,0) r (1.0)
83 probe rtv 1 (0,0) r (2.0)
84 probe rtv 2 (0,0) r (5.0)
85 probe rtv 3 (0,0) r (6.0)
87 [rtv 0]
88 format r32g32b32a32-float
89 size (2d, 640, 480)
91 [pixel shader fail(sm>=6)]
92 void main(out row_major float1x4 x : sv_target0, out float1x2 y : sv_target1)
94     x = float4(1.0, 2.0, 3.0, 4.0);
95     y = float2(5.0, 6.0);
98 [test]
99 todo(sm>=6) draw quad
100 probe rtv 0 (0,0) rgba (1.0, 2.0, 3.0, 4.0)
101 probe rtv 1 (0,0) r (5.0)
102 probe rtv 2 (0,0) r (6.0)