vkd3d-shader/hlsl: Use a block in hlsl_normalize_binary_exprs().
[vkd3d.git] / tests / hlsl / sampler.shader_test
blob2638b32626e23f3aacbd7220865c7f1152921274
1 [sampler 0]
2 filter linear linear linear
3 address clamp clamp clamp
5 [srv 0]
6 size (2d, 2, 2)
7 0.0 0.0 0.0 0.0     0.0 0.0 0.0 0.0
8 0.0 0.0 0.0 0.0     1.0 0.0 1.0 0.0
10 [pixel shader]
11 sampler s;
12 Texture2D t;
14 float4 main() : sv_target
16     return t.Sample(s, float2(0.5, 0.5));
19 [test]
20 todo(msl) draw quad
21 probe (0, 0) rgba (0.25, 0, 0.25, 0)
23 [pixel shader]
24 SamplerState s;
25 Texture2D t;
27 float4 main() : sv_target
29     return t.Sample(s, float2(0.5, 0.5));
32 [test]
33 todo(msl) draw quad
34 probe (0, 0) rgba (0.25, 0, 0.25, 0)
36 [pixel shader fail]
37 sampler2D s;
39 float4 main() : sv_target
41     return tex3D(s, float3(0.0, 0.0, 0.0));
45 [pixel shader fail]
46 sampler s;
48 float4 main() : sv_target
50     return tex2D(s, float2(0.0, 0.0)) + tex3D(s, float3(0.0, 0.0, 0.0));
53 [require]
54 options: backcompat
56 [pixel shader fail(sm>=5.1) todo(sm>=5.1)]
57 samplerCUBE s;
59 float4 main() : sv_target
61     return texCUBE(s, float3(0.0, 0.0, 0.0));
64 [pixel shader fail(sm>=5.1) todo(sm>=5.1)]
65 sampler1D s;
67 float4 main() : sv_target
69     return tex1D(s, 0.0);
72 [srv 0]
73 size (2d, 3, 3)
74 0.0 0.0 0.0 1.0     1.0 0.0 0.0 1.0     2.0 0.0 0.0 1.0
75 0.0 1.0 0.0 1.0     1.0 1.0 0.0 1.0     2.0 1.0 0.0 1.0
76 0.0 2.0 0.0 1.0     1.0 2.0 0.0 1.0     2.0 2.0 0.0 1.0
78 [pixel shader fail(sm>=5.1) todo(sm>=5.1)]
79 sampler s;
80 float4 f;
82 float4 main() : sv_target
84     return tex2Dproj(s, f);
87 [test]
88 uniform 0 float4 50.0 50.0 42.0 100
89 todo(msl) draw quad
90 probe (0, 0) rgba(1.0, 1.0, 0, 1.0)
91 uniform 0 float4 0.075 0.025 -42.0 0.1
92 todo(msl) draw quad
93 probe (0, 0) rgba(1.75, 0.25, 0, 1.0)
94 uniform 0 float4 0.5 1.5 0.0 2.0
95 todo(msl) draw quad
96 probe (0, 0) rgba(0.25, 1.75, 0, 1.0)
97 uniform 0 float4 1.0 1.0 0.0 0.0
98 todo(msl) draw quad
99 probe (0, 0) rgba(2.0, 2.0, 0, 1.0)
101 [sampler 0]
102 filter linear linear linear
103 address clamp clamp clamp
105 [sampler 1]
106 filter linear linear linear
107 address clamp clamp clamp
109 [sampler 2]
110 filter linear linear linear
111 address clamp clamp clamp
113 [sampler 3]
114 filter linear linear linear
115 address clamp clamp clamp
117 [sampler 4]
118 filter linear linear linear
119 address clamp clamp clamp
121 [sampler 5]
122 filter linear linear linear
123 address clamp clamp clamp
125 [srv 0]
126 size (2d, 1, 1)
127 0.0 0.0 0.0 1.0
129 [srv 1]
130 size (2d, 1, 1)
131 1.0 1.0 1.0 1.0
133 [srv 2]
134 size (2d, 1, 1)
135 2.0 2.0 2.0 1.0
137 [srv 3]
138 size (2d, 1, 1)
139 3.0 3.0 3.0 1.0
141 [srv 4]
142 size (2d, 1, 1)
143 4.0 4.0 4.0 1.0
145 [srv 5]
146 size (2d, 1, 1)
147 5.0 5.0 5.0 1.0
150 [pixel shader fail(sm>=5.1) todo(sm>=5.1)]
151 sampler samA;
152 sampler samB[2];
153 sampler samC[3];
155 float4 main() : sv_target
157     return 100 * tex2D(samC[2], float2(0, 0))
158             + 10 * tex2D(samB[0], float2(0, 0))
159             + tex2D(samA, float2(0, 0));
162 [test]
163 todo(msl) draw quad
164 if(sm<4)  probe (0, 0) rgba(243, 243, 243, 111)
165 if(sm>=4) probe (0, 0) rgba(234, 234, 234, 111)