1 SamplerState g_sSamp : register(s0);
3 uniform Texture1D <float4> g_tTex1df4 : register(t0);
4 Texture1D <int4> g_tTex1di4;
5 Texture1D <uint4> g_tTex1du4;
7 Texture2D <float4> g_tTex2df4;
8 Texture2D <int4> g_tTex2di4;
9 Texture2D <uint4> g_tTex2du4;
11 Texture3D <float4> g_tTex3df4;
12 Texture3D <int4> g_tTex3di4;
13 Texture3D <uint4> g_tTex3du4;
15 TextureCube <float4> g_tTexcdf4;
16 TextureCube <int4> g_tTexcdi4;
17 TextureCube <uint4> g_tTexcdu4;
19 Texture1DArray <float4> g_tTex1df4a;
20 Texture1DArray <int4> g_tTex1di4a;
21 Texture1DArray <uint4> g_tTex1du4a;
23 Texture2DArray <float4> g_tTex2df4a;
24 Texture2DArray <int4> g_tTex2di4a;
25 Texture2DArray <uint4> g_tTex2du4a;
27 TextureCubeArray <float4> g_tTexcdf4a;
28 TextureCubeArray <int4> g_tTexcdi4a;
29 TextureCubeArray <uint4> g_tTexcdu4a;
31 Texture2DMS <float4> g_tTex2dmsf4;
32 Texture2DMS <int4> g_tTex2dmsi4;
33 Texture2DMS <uint4> g_tTex2dmsu4;
35 Texture2DMSArray <float4> g_tTex2dmsf4a;
36 Texture2DMSArray <int4> g_tTex2dmsi4a;
37 Texture2DMSArray <uint4> g_tTex2dmsu4a;
41 float4 Color : SV_Target0;
42 float Depth : SV_Depth;
55 uint NumberOfSamplesU;
61 float NumberOfLevelsF;
62 float NumberOfSamplesF;
64 // 1D, float tx, uint params
65 g_tTex1df4 . GetDimensions(WidthU);
66 g_tTex1df4 . GetDimensions(6, WidthU, NumberOfLevelsU);
68 // 1D, int, uint params
69 g_tTex1di4 . GetDimensions(WidthU);
70 g_tTex1di4 . GetDimensions(6, WidthU, NumberOfLevelsU);
72 // 1D, uint, uint params
73 g_tTex1du4 . GetDimensions(WidthU);
74 g_tTex1du4 . GetDimensions(6, WidthU, NumberOfLevelsU);
76 // 1DArray, float tx, uint params
77 g_tTex1df4a . GetDimensions(WidthU, ElementsU);
78 g_tTex1df4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU);
80 // 1DArray, int, uint params
81 g_tTex1di4a . GetDimensions(WidthU, ElementsU);
82 g_tTex1di4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU);
84 // 1DArray, uint, uint params
85 g_tTex1du4a . GetDimensions(WidthU, ElementsU);
86 g_tTex1du4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU);
88 // 2D, float tx, uint params
89 g_tTex2df4 . GetDimensions(WidthU, HeightU);
90 g_tTex2df4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU);
92 // 2D, int, uint params
93 g_tTex2di4 . GetDimensions(WidthU, HeightU);
94 g_tTex2di4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU);
96 // 2D, uint, uint params
97 g_tTex2du4 . GetDimensions(WidthU, HeightU);
98 g_tTex2du4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU);
100 // 2Darray, float tx, uint params
101 g_tTex2df4a . GetDimensions(WidthU, HeightU, ElementsU);
102 g_tTex2df4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU);
104 // 2Darray, int, uint params
105 g_tTex2di4a . GetDimensions(WidthU, HeightU, ElementsU);
106 g_tTex2di4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU);
108 // 2Darray, uint, uint params
109 g_tTex2du4a . GetDimensions(WidthU, HeightU, ElementsU);
110 g_tTex2du4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU);
112 // 3D, float tx, uint params
113 g_tTex3df4 . GetDimensions(WidthU, HeightU, DepthU);
114 g_tTex3df4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU);
116 // 3D, int, uint params
117 g_tTex3di4 . GetDimensions(WidthU, HeightU, DepthU);
118 g_tTex3di4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU);
120 // 3D, uint, uint params
121 g_tTex3du4 . GetDimensions(WidthU, HeightU, DepthU);
122 g_tTex3du4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU);
124 // Cube, float tx, uint params
125 g_tTexcdf4 . GetDimensions(WidthU, HeightU);
126 g_tTexcdf4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU);
128 // Cube, int, uint params
129 g_tTexcdi4 . GetDimensions(WidthU, HeightU);
130 g_tTexcdi4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU);
132 // Cube, uint, uint params
133 g_tTexcdu4 . GetDimensions(WidthU, HeightU);
134 g_tTexcdu4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU);
136 // Cubearray, float tx, uint params
137 g_tTexcdf4a . GetDimensions(WidthU, HeightU, ElementsU);
138 g_tTexcdf4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU);
140 // Cubearray, int, uint params
141 g_tTexcdi4a . GetDimensions(WidthU, HeightU, ElementsU);
142 g_tTexcdi4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU);
144 // Cubearray, uint, uint params
145 g_tTexcdu4a . GetDimensions(WidthU, HeightU, ElementsU);
146 g_tTexcdu4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU);
148 // 2DMS, float tx, uint params
149 g_tTex2dmsf4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU);
151 // 2DMS, int tx, uint params
152 g_tTex2dmsi4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU);
154 // 2DMS, uint tx, uint params
155 g_tTex2dmsu4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU);
157 // 2DMSArray, float tx, uint params
158 g_tTex2dmsf4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU);
160 // 2DMSArray, int tx, uint params
161 g_tTex2dmsi4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU);
163 // 2DMSArray, uint tx, uint params
164 g_tTex2dmsu4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU);
166 // TODO: ***************************************************
167 // Change this to 1 to enable float overloads when the HLSL
168 // function overload resolution is fixed.
169 #define OVERLOAD_FIX 0
171 // TODO: enable when function overload resolution rules are fixed
173 // 1D, float tx, float params
174 g_tTex1df4 . GetDimensions(WidthF);
175 g_tTex1df4 . GetDimensions(6, WidthF, NumberOfLevelsF);
177 // 1D, int, float params
178 g_tTex1di4 . GetDimensions(WidthF);
179 g_tTex1di4 . GetDimensions(6, WidthF, NumberOfLevelsF);
181 // 1D, uint, float params
182 g_tTex1du4 . GetDimensions(WidthF);
183 g_tTex1du4 . GetDimensions(6, WidthF, NumberOfLevelsF);
185 // 1DArray, float tx, float params
186 g_tTex1df4a . GetDimensions(WidthF, ElementsF);
187 g_tTex1df4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF);
189 // 1DArray, int, float params
190 g_tTex1di4a . GetDimensions(WidthF, ElementsF);
191 g_tTex1di4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF);
193 // 1DArray, uint, float params
194 g_tTex1du4a . GetDimensions(WidthF, ElementsF);
195 g_tTex1du4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF);
197 // 2D, float tx, float params
198 g_tTex2df4 . GetDimensions(WidthF, HeightF);
199 g_tTex2df4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF);
201 // 2D, int, float params
202 g_tTex2di4 . GetDimensions(WidthF, HeightF);
203 g_tTex2di4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF);
205 // 2D, uint, float params
206 g_tTex2du4 . GetDimensions(WidthF, HeightF);
207 g_tTex2du4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF);
209 // 2Darray, float tx, float params
210 g_tTex2df4a . GetDimensions(WidthF, HeightF, ElementsF);
211 g_tTex2df4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF);
213 // 2Darray, int, float params
214 g_tTex2di4a . GetDimensions(WidthF, HeightF, ElementsF);
215 g_tTex2di4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF);
217 // 2Darray, uint, float params
218 g_tTex2du4a . GetDimensions(WidthF, HeightF, ElementsF);
219 g_tTex2du4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF);
221 // 3D, float tx, float params
222 g_tTex3df4 . GetDimensions(WidthF, HeightF, DepthF);
223 g_tTex3df4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF);
225 // 3D, int, float params
226 g_tTex3di4 . GetDimensions(WidthF, HeightF, DepthF);
227 g_tTex3di4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF);
229 // 3D, uint, float params
230 g_tTex3du4 . GetDimensions(WidthF, HeightF, DepthF);
231 g_tTex3du4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF);
233 // Cube, float tx, float params
234 g_tTexcdf4 . GetDimensions(WidthF, HeightF);
235 g_tTexcdf4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF);
237 // Cube, int, float params
238 g_tTexcdi4 . GetDimensions(WidthF, HeightF);
239 g_tTexcdi4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF);
241 // Cube, uint, float params
242 g_tTexcdu4 . GetDimensions(WidthF, HeightF);
243 g_tTexcdu4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF);
245 // Cubearray, float tx, float params
246 g_tTexcdf4a . GetDimensions(WidthF, HeightF, ElementsF);
247 g_tTexcdf4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF);
249 // Cubearray, int, float params
250 g_tTexcdi4a . GetDimensions(WidthF, HeightF, ElementsF);
251 g_tTexcdi4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF);
253 // Cubearray, uint, float params
254 g_tTexcdu4a . GetDimensions(WidthF, HeightF, ElementsF);
255 g_tTexcdu4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF);
257 // 2DMS, float tx, uint params
258 g_tTex2dmsf4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF);
260 // 2DMS, int tx, uint params
261 g_tTex2dmsi4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF);
263 // 2DMS, uint tx, uint params
264 g_tTex2dmsu4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF);
266 // 2DMSArray, float tx, uint params
267 g_tTex2dmsf4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF);
269 // 2DMSArray, int tx, uint params
270 g_tTex2dmsi4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF);
272 // 2DMSArray, uint tx, uint params
273 g_tTex2dmsu4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF);
274 #endif // OVERLOAD_FIX