1 /**************************************************************************
3 * Copyright 2010 Luca Barbieri
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the
7 * "Software"), to deal in the Software without restriction, including
8 * without limitation the rights to use, copy, modify, merge, publish,
9 * distribute, sublicense, and/or sell copies of the Software, and to
10 * permit persons to whom the Software is furnished to do so, subject to
11 * the following conditions:
13 * The above copyright notice and this permission notice (including the
14 * next paragraph) shall be included in all copies or substantial
15 * portions of the Software.
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
21 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 **************************************************************************/
30 typedef const void* LPCVOID;
32 typedef enum D3D_DRIVER_TYPE
34 D3D_DRIVER_TYPE_UNKNOWN,
35 D3D_DRIVER_TYPE_HARDWARE,
36 D3D_DRIVER_TYPE_REFERENCE,
38 D3D_DRIVER_TYPE_SOFTWARE,
42 typedef enum D3D_FEATURE_LEVEL
44 D3D_FEATURE_LEVEL_9_1 = 0x9100,
45 D3D_FEATURE_LEVEL_9_2 = 0x9200,
46 D3D_FEATURE_LEVEL_9_3 = 0x9300,
47 D3D_FEATURE_LEVEL_10_0 = 0xa000,
48 D3D_FEATURE_LEVEL_10_1 = 0xa100,
49 D3D_FEATURE_LEVEL_11_0 = 0xb000
52 typedef enum D3D_PRIMITIVE_TOPOLOGY
54 D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
55 D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
56 D3D_PRIMITIVE_TOPOLOGY_LINELIST,
57 D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
58 D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
59 D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
61 D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
62 D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
63 D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
64 D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
66 D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
67 D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
68 D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
69 D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
70 D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
71 D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
72 D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
73 D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
74 D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
75 D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
76 D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
77 D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
78 D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
79 D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
80 D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
81 D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
82 D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
83 D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
84 D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
85 D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
86 D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
87 D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
88 D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
89 D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
90 D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
91 D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
92 D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
93 D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
94 D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
95 D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
96 D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
97 D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST,
99 D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
100 D3D10_PRIMITIVE_TOPOLOGY_POINTLIST,
101 D3D10_PRIMITIVE_TOPOLOGY_LINELIST,
102 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP,
103 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
104 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
106 D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
107 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
108 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
109 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
111 D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
112 D3D11_PRIMITIVE_TOPOLOGY_POINTLIST,
113 D3D11_PRIMITIVE_TOPOLOGY_LINELIST,
114 D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP,
115 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
116 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
118 D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
119 D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
120 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
121 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
123 D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
124 D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
125 D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
126 D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
127 D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
128 D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
129 D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
130 D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
131 D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
132 D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
133 D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
134 D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
135 D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
136 D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
137 D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
138 D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
139 D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
140 D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
141 D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
142 D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
143 D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
144 D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
145 D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
146 D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
147 D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
148 D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
149 D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
150 D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
151 D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
152 D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
153 D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
154 D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST,
155 } D3D_PRIMITIVE_TOPOLOGY;
157 typedef enum D3D_PRIMITIVE
159 D3D_PRIMITIVE_UNDEFINED = 0,
162 D3D_PRIMITIVE_TRIANGLE,
164 D3D_PRIMITIVE_LINE_ADJ = 6,
165 D3D_PRIMITIVE_TRIANGLE_ADJ,
167 D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
168 D3D_PRIMITIVE_2_CONTROL_POINT_PATCH,
169 D3D_PRIMITIVE_3_CONTROL_POINT_PATCH,
170 D3D_PRIMITIVE_4_CONTROL_POINT_PATCH,
171 D3D_PRIMITIVE_5_CONTROL_POINT_PATCH,
172 D3D_PRIMITIVE_6_CONTROL_POINT_PATCH,
173 D3D_PRIMITIVE_7_CONTROL_POINT_PATCH,
174 D3D_PRIMITIVE_8_CONTROL_POINT_PATCH,
175 D3D_PRIMITIVE_9_CONTROL_POINT_PATCH,
176 D3D_PRIMITIVE_10_CONTROL_POINT_PATCH,
177 D3D_PRIMITIVE_11_CONTROL_POINT_PATCH,
178 D3D_PRIMITIVE_12_CONTROL_POINT_PATCH,
179 D3D_PRIMITIVE_13_CONTROL_POINT_PATCH,
180 D3D_PRIMITIVE_14_CONTROL_POINT_PATCH,
181 D3D_PRIMITIVE_15_CONTROL_POINT_PATCH,
182 D3D_PRIMITIVE_16_CONTROL_POINT_PATCH,
183 D3D_PRIMITIVE_17_CONTROL_POINT_PATCH,
184 D3D_PRIMITIVE_18_CONTROL_POINT_PATCH,
185 D3D_PRIMITIVE_19_CONTROL_POINT_PATCH,
186 D3D_PRIMITIVE_20_CONTROL_POINT_PATCH,
187 D3D_PRIMITIVE_21_CONTROL_POINT_PATCH,
188 D3D_PRIMITIVE_22_CONTROL_POINT_PATCH,
189 D3D_PRIMITIVE_23_CONTROL_POINT_PATCH,
190 D3D_PRIMITIVE_24_CONTROL_POINT_PATCH,
191 D3D_PRIMITIVE_25_CONTROL_POINT_PATCH,
192 D3D_PRIMITIVE_26_CONTROL_POINT_PATCH,
193 D3D_PRIMITIVE_27_CONTROL_POINT_PATCH,
194 D3D_PRIMITIVE_28_CONTROL_POINT_PATCH,
195 D3D_PRIMITIVE_29_CONTROL_POINT_PATCH,
196 D3D_PRIMITIVE_30_CONTROL_POINT_PATCH,
197 D3D_PRIMITIVE_31_CONTROL_POINT_PATCH,
198 D3D_PRIMITIVE_32_CONTROL_POINT_PATCH,
200 D3D10_PRIMITIVE_UNDEFINED = 0,
201 D3D10_PRIMITIVE_POINT,
202 D3D10_PRIMITIVE_LINE,
203 D3D10_PRIMITIVE_TRIANGLE,
205 D3D10_PRIMITIVE_LINE_ADJ = 6,
206 D3D10_PRIMITIVE_TRIANGLE_ADJ,
208 D3D11_PRIMITIVE_UNDEFINED = 0,
209 D3D11_PRIMITIVE_POINT,
210 D3D11_PRIMITIVE_LINE,
211 D3D11_PRIMITIVE_TRIANGLE,
213 D3D11_PRIMITIVE_LINE_ADJ = 6,
214 D3D11_PRIMITIVE_TRIANGLE_ADJ,
216 D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
217 D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH,
218 D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH,
219 D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH,
220 D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH,
221 D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH,
222 D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH,
223 D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH,
224 D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH,
225 D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH,
226 D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH,
227 D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH,
228 D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH,
229 D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH,
230 D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH,
231 D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH,
232 D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH,
233 D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH,
234 D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH,
235 D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH,
236 D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH,
237 D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH,
238 D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH,
239 D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH,
240 D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH,
241 D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH,
242 D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH,
243 D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH,
244 D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH,
245 D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH,
246 D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH,
247 D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH,
250 typedef enum D3D_SRV_DIMENSION
252 D3D_SRV_DIMENSION_UNKNOWN = 0,
253 D3D_SRV_DIMENSION_BUFFER,
254 D3D_SRV_DIMENSION_TEXTURE1D,
255 D3D_SRV_DIMENSION_TEXTURE1DARRAY,
256 D3D_SRV_DIMENSION_TEXTURE2D,
257 D3D_SRV_DIMENSION_TEXTURE2DARRAY,
258 D3D_SRV_DIMENSION_TEXTURE2DMS,
259 D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
260 D3D_SRV_DIMENSION_TEXTURE3D,
261 D3D_SRV_DIMENSION_TEXTURECUBE,
262 D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
263 D3D_SRV_DIMENSION_BUFFEREX,
265 D3D10_SRV_DIMENSION_UNKNOWN = 0,
266 D3D10_SRV_DIMENSION_BUFFER,
267 D3D10_SRV_DIMENSION_TEXTURE1D,
268 D3D10_SRV_DIMENSION_TEXTURE1DARRAY,
269 D3D10_SRV_DIMENSION_TEXTURE2D,
270 D3D10_SRV_DIMENSION_TEXTURE2DARRAY,
271 D3D10_SRV_DIMENSION_TEXTURE2DMS,
272 D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,
273 D3D10_SRV_DIMENSION_TEXTURE3D,
274 D3D10_SRV_DIMENSION_TEXTURECUBE,
276 D3D10_1_SRV_DIMENSION_UNKNOWN = 0,
277 D3D10_1_SRV_DIMENSION_BUFFER,
278 D3D10_1_SRV_DIMENSION_TEXTURE1D,
279 D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY,
280 D3D10_1_SRV_DIMENSION_TEXTURE2D,
281 D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY,
282 D3D10_1_SRV_DIMENSION_TEXTURE2DMS,
283 D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY,
284 D3D10_1_SRV_DIMENSION_TEXTURE3D,
285 D3D10_1_SRV_DIMENSION_TEXTURECUBE,
286 D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY,
288 D3D11_SRV_DIMENSION_UNKNOWN = 0,
289 D3D11_SRV_DIMENSION_BUFFER,
290 D3D11_SRV_DIMENSION_TEXTURE1D,
291 D3D11_SRV_DIMENSION_TEXTURE1DARRAY,
292 D3D11_SRV_DIMENSION_TEXTURE2D,
293 D3D11_SRV_DIMENSION_TEXTURE2DARRAY,
294 D3D11_SRV_DIMENSION_TEXTURE2DMS,
295 D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY,
296 D3D11_SRV_DIMENSION_TEXTURE3D,
297 D3D11_SRV_DIMENSION_TEXTURECUBE,
298 D3D11_SRV_DIMENSION_TEXTURECUBEARRAY,
299 D3D11_SRV_DIMENSION_BUFFEREX,
302 typedef struct _D3D_SHADER_MACRO
308 typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO;
310 [object, local, uuid(8ba5fb08-5195-40e2-ac58-0d989c3a0102)]
311 interface ID3D10Blob : IUnknown
313 LPVOID GetBufferPointer();
314 SIZE_T GetBufferSize();
317 typedef enum _D3D_INCLUDE_TYPE
319 D3D_INCLUDE_LOCAL = 0,
322 D3D10_INCLUDE_LOCAL = 0,
323 D3D10_INCLUDE_SYSTEM,
325 D3D_INCLUDE_FORCE_DWORD = 0x7fffffff,
329 interface ID3DInclude : IUnknown
332 [in] D3D_INCLUDE_TYPE IncludeType,
333 [in] LPCSTR pFileName,
334 [in] LPCVOID pParentData,
335 [out] LPCVOID *ppData,
343 typedef enum _D3D_SHADER_VARIABLE_CLASS
348 D3D_SVC_MATRIX_COLUMNS,
351 D3D_SVC_INTERFACE_CLASS,
352 D3D_SVC_INTERFACE_POINTER,
354 D3D10_SVC_SCALAR = 0,
356 D3D10_SVC_MATRIX_ROWS,
357 D3D10_SVC_MATRIX_COLUMNS,
360 D3D11_SVC_INTERFACE_CLASS,
361 D3D11_SVC_INTERFACE_POINTER,
362 D3D_SVC_FORCE_DWORD = 0x7fffffff
363 } D3D_SHADER_VARIABLE_CLASS;
365 typedef enum _D3D_SHADER_VARIABLE_FLAGS
367 D3D_SVF_USERPACKED = 1,
369 D3D_SVF_INTERFACE_POINTER = 4,
370 D3D_SVF_INTERFACE_PARAMETER = 8,
372 D3D10_SVF_USERPACKED = 1,
374 D3D10_SVF_INTERFACE_POINTER = 4,
375 D3D10_SVF_INTERFACE_PARAMETER = 8,
377 D3D_SVF_FORCE_DWORD = 0x7fffffff
378 } D3D_SHADER_VARIABLE_FLAGS;
380 typedef enum _D3D_SHADER_VARIABLE_TYPE
398 D3D_SVT_VERTEXSHADER,
399 D3D_SVT_PIXELFRAGMENT,
400 D3D_SVT_VERTEXFRAGMENT,
403 D3D_SVT_GEOMETRYSHADER,
405 D3D_SVT_DEPTHSTENCIL,
410 D3D_SVT_TEXTURE1DARRAY,
411 D3D_SVT_TEXTURE2DARRAY,
412 D3D_SVT_RENDERTARGETVIEW,
413 D3D_SVT_DEPTHSTENCILVIEW,
415 D3D_SVT_TEXTURE2DMSARRAY,
416 D3D_SVT_TEXTURECUBEARRAY,
418 D3D_SVT_DOMAINSHADER,
419 D3D_SVT_INTERFACE_POINTER,
420 D3D_SVT_COMPUTESHADER,
423 D3D_SVT_RWTEXTURE1DARRAY,
425 D3D_SVT_RWTEXTURE2DARRAY,
428 D3D_SVT_BYTEADDRESS_BUFFER,
429 D3D_SVT_RWBYTEADDRESS_BUFFER,
430 D3D_SVT_STRUCTURED_BUFFER,
431 D3D_SVT_RWSTRUCTURED_BUFFER,
432 D3D_SVT_APPEND_STRUCTURED_BUFFER,
433 D3D_SVT_CONSUME_STRUCTURED_BUFFER,
444 D3D10_SVT_TEXTURECUBE,
449 D3D10_SVT_SAMPLERCUBE,
450 D3D10_SVT_PIXELSHADER,
451 D3D10_SVT_VERTEXSHADER,
452 D3D10_SVT_PIXELFRAGMENT,
453 D3D10_SVT_VERTEXFRAGMENT,
456 D3D10_SVT_GEOMETRYSHADER,
457 D3D10_SVT_RASTERIZER,
458 D3D10_SVT_DEPTHSTENCIL,
463 D3D10_SVT_TEXTURE1DARRAY,
464 D3D10_SVT_TEXTURE2DARRAY,
465 D3D10_SVT_RENDERTARGETVIEW,
466 D3D10_SVT_DEPTHSTENCILVIEW,
467 D3D10_SVT_TEXTURE2DMS,
468 D3D10_SVT_TEXTURE2DMSARRAY,
469 D3D10_SVT_TEXTURECUBEARRAY,
471 D3D11_SVT_HULLSHADER,
472 D3D11_SVT_DOMAINSHADER,
473 D3D11_SVT_INTERFACE_POINTER,
474 D3D11_SVT_COMPUTESHADER,
476 D3D11_SVT_RWTEXTURE1D,
477 D3D11_SVT_RWTEXTURE1DARRAY,
478 D3D11_SVT_RWTEXTURE2D,
479 D3D11_SVT_RWTEXTURE2DARRAY,
480 D3D11_SVT_RWTEXTURE3D,
482 D3D11_SVT_BYTEADDRESS_BUFFER,
483 D3D11_SVT_RWBYTEADDRESS_BUFFER,
484 D3D11_SVT_STRUCTURED_BUFFER,
485 D3D11_SVT_RWSTRUCTURED_BUFFER,
486 D3D11_SVT_APPEND_STRUCTURED_BUFFER,
487 D3D11_SVT_CONSUME_STRUCTURED_BUFFER,
489 D3D_SVT_FORCE_DWORD = 0x7fffffff
490 } D3D_SHADER_VARIABLE_TYPE;
492 typedef enum _D3D_SHADER_INPUT_FLAGS
494 D3D_SIF_USERPACKED = 1,
495 D3D_SIF_COMPARISON_SAMPLER = 2,
496 D3D_SIF_TEXTURE_COMPONENT_0 = 4,
497 D3D_SIF_TEXTURE_COMPONENT_1 = 8,
498 D3D_SIF_TEXTURE_COMPONENTS = 12,
500 D3D10_SIF_USERPACKED = 1,
501 D3D10_SIF_COMPARISON_SAMPLER = 2,
502 D3D10_SIF_TEXTURE_COMPONENT_0 = 4,
503 D3D10_SIF_TEXTURE_COMPONENT_1 = 8,
504 D3D10_SIF_TEXTURE_COMPONENTS = 12,
506 D3D_SIF_FORCE_DWORD = 0x7fffffff
507 } D3D_SHADER_INPUT_FLAGS;
509 typedef enum _D3D_SHADER_INPUT_TYPE
517 D3D_SIT_UAV_RWSTRUCTURED,
519 D3D_SIT_UAV_RWBYTEADDRESS,
520 D3D_SIT_UAV_APPEND_STRUCTURED,
521 D3D_SIT_UAV_CONSUME_STRUCTURED,
522 D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
524 D3D10_SIT_CBUFFER = 0,
529 D3D11_SIT_UAV_RWTYPED,
530 D3D11_SIT_STRUCTURED,
531 D3D11_SIT_UAV_RWSTRUCTURED,
532 D3D11_SIT_BYTEADDRESS,
533 D3D11_SIT_UAV_RWBYTEADDRESS,
534 D3D11_SIT_UAV_APPEND_STRUCTURED,
535 D3D11_SIT_UAV_CONSUME_STRUCTURED,
536 D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
537 } D3D_SHADER_INPUT_TYPE;
539 typedef enum _D3D_SHADER_CBUFFER_FLAGS
541 D3D_CBF_USERPACKED = 1,
543 D3D10_CBF_USERPACKED = 1,
545 D3D_CBF_FORCE_DWORD = 0x7fffffff
546 } D3D_SHADER_CBUFFER_FLAGS;
548 typedef enum _D3D_CBUFFER_TYPE
552 D3D_CT_INTERFACE_POINTERS,
553 D3D_CT_RESOURCE_BIND_INFO,
555 D3D10_CT_CBUFFER = 0,
558 D3D11_CT_CBUFFER = 0,
560 D3D11_CT_INTERFACE_POINTERS,
561 D3D11_CT_RESOURCE_BIND_INFO,
564 typedef enum D3D_NAME
566 D3D_NAME_UNDEFINED = 0,
568 D3D_NAME_CLIP_DISTANCE,
569 D3D_NAME_CULL_DISTANCE,
570 D3D_NAME_RENDER_TARGET_ARRAY_INDEX,
571 D3D_NAME_VIEWPORT_ARRAY_INDEX,
573 D3D_NAME_PRIMITIVE_ID,
574 D3D_NAME_INSTANCE_ID,
575 D3D_NAME_IS_FRONT_FACE,
576 D3D_NAME_SAMPLE_INDEX,
577 D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
578 D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
579 D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR,
580 D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
581 D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
582 D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
584 D3D_NAME_TARGET = 64,
587 D3D_NAME_DEPTH_GREATER_EQUAL,
588 D3D_NAME_DEPTH_LESS_EQUAL,
590 D3D10_NAME_UNDEFINED = 0,
592 D3D10_NAME_CLIP_DISTANCE,
593 D3D10_NAME_CULL_DISTANCE,
594 D3D10_NAME_RENDER_TARGET_ARRAY_INDEX,
595 D3D10_NAME_VIEWPORT_ARRAY_INDEX,
596 D3D10_NAME_VERTEX_ID,
597 D3D10_NAME_PRIMITIVE_ID,
598 D3D10_NAME_INSTANCE_ID,
599 D3D10_NAME_IS_FRONT_FACE,
600 D3D10_NAME_SAMPLE_INDEX,
602 D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
603 D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
604 D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR,
605 D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
606 D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
607 D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
609 D3D10_NAME_TARGET = 64,
613 D3D11_NAME_DEPTH_GREATER_EQUAL,
614 D3D11_NAME_DEPTH_LESS_EQUAL,
617 typedef enum D3D_RESOURCE_RETURN_TYPE
619 D3D_RETURN_TYPE_UNORM = 1,
620 D3D_RETURN_TYPE_SNORM,
621 D3D_RETURN_TYPE_SINT,
622 D3D_RETURN_TYPE_UINT,
623 D3D_RETURN_TYPE_FLOAT,
624 D3D_RETURN_TYPE_MIXED,
625 D3D_RETURN_TYPE_DOUBLE,
626 D3D_RETURN_TYPE_CONTINUED,
628 D3D10_RETURN_TYPE_UNORM = 1,
629 D3D10_RETURN_TYPE_SNORM,
630 D3D10_RETURN_TYPE_SINT,
631 D3D10_RETURN_TYPE_UINT,
632 D3D10_RETURN_TYPE_FLOAT,
633 D3D10_RETURN_TYPE_MIXED,
635 D3D11_RETURN_TYPE_UNORM = 1,
636 D3D11_RETURN_TYPE_SNORM,
637 D3D11_RETURN_TYPE_SINT,
638 D3D11_RETURN_TYPE_UINT,
639 D3D11_RETURN_TYPE_FLOAT,
640 D3D11_RETURN_TYPE_MIXED,
641 D3D11_RETURN_TYPE_DOUBLE,
642 D3D11_RETURN_TYPE_CONTINUED,
643 } D3D_RESOURCE_RETURN_TYPE;
645 typedef enum D3D_REGISTER_COMPONENT_TYPE
647 D3D_REGISTER_COMPONENT_UNKNOWN = 0,
648 D3D_REGISTER_COMPONENT_UINT32,
649 D3D_REGISTER_COMPONENT_SINT32,
650 D3D_REGISTER_COMPONENT_FLOAT32,
652 D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
653 D3D10_REGISTER_COMPONENT_UINT32,
654 D3D10_REGISTER_COMPONENT_SINT32,
655 D3D10_REGISTER_COMPONENT_FLOAT32,
656 } D3D_REGISTER_COMPONENT_TYPE;
658 typedef enum D3D_TESSELLATOR_DOMAIN
660 D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0,
661 D3D_TESSELLATOR_DOMAIN_ISOLINE,
662 D3D_TESSELLATOR_DOMAIN_TRI,
663 D3D_TESSELLATOR_DOMAIN_QUAD,
665 D3D11_TESSELLATOR_DOMAIN_UNDEFINED = 0,
666 D3D11_TESSELLATOR_DOMAIN_ISOLINE,
667 D3D11_TESSELLATOR_DOMAIN_TRI,
668 D3D11_TESSELLATOR_DOMAIN_QUAD,
669 } D3D_TESSELLATOR_DOMAIN;
671 typedef enum D3D_TESSELLATOR_PARTITIONING
673 D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
674 D3D_TESSELLATOR_PARTITIONING_INTEGER,
675 D3D_TESSELLATOR_PARTITIONING_POW2,
676 D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
677 D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,
679 D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
680 D3D11_TESSELLATOR_PARTITIONING_INTEGER,
681 D3D11_TESSELLATOR_PARTITIONING_POW2,
682 D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
683 D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,
684 } D3D_TESSELLATOR_PARTITIONING;
686 typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE
688 D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0,
689 D3D_TESSELLATOR_OUTPUT_POINT,
690 D3D_TESSELLATOR_OUTPUT_LINE,
691 D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW,
692 D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW,
694 D3D11_TESSELLATOR_OUTPUT_UNDEFINED = 0,
695 D3D11_TESSELLATOR_OUTPUT_POINT,
696 D3D11_TESSELLATOR_OUTPUT_LINE,
697 D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW,
698 D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW,
699 } D3D_TESSELLATOR_OUTPUT_PRIMITIVE;