vkd3d-shader/hlsl: Use a block in hlsl_normalize_binary_exprs().
[vkd3d.git] / tests / hlsl / ldexp.shader_test
blob5a26ffb9262aecd1467b330f60d3a9a05f671325
1 [pixel shader]
2 uniform float4 x;
3 uniform float4 y;
5 float4 main() : SV_TARGET
7     return ldexp(x, y);
10 [test]
11 uniform 0 float4 2.0 3.0 4.0 5.0
12 uniform 4 float4 0.0 -10.0 10.0 100.0
13 draw quad
14 probe (0, 0) rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
17 [pixel shader]
18 uniform int4 x;
19 uniform int4 y;
21 float4 main() : SV_TARGET
23     return ldexp(x, y);
26 [test]
27 if(sm<4) uniform 0 float4 2 3 4 5
28 if(sm<4) uniform 4 float4 0 -10 10 100
29 if(sm>=4) uniform 0 int4 2 3 4 5
30 if(sm>=4) uniform 4 int4 0 -10 10 100
31 draw quad
32 probe (0, 0) rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
35 [pixel shader]
36 float4 main() : sv_target
38     float2x3 a = {1, 2, 3, 4, 5, 6};
39     float3x2 b = {6, 5, 4, 3, 2, 1};
41     float2x2 r = ldexp(a, b);
42     return float4(r);
45 [test]
46 draw quad
47 probe (0, 0) rgba (64.0, 64.0, 64.0, 40.0)
50 [pixel shader fail]
51 float4 main() : sv_target
53     float2x2 a = {1, 2, 3, 4};
54     float1 b = {2};
56     ldexp(a, b);
57     return 0;