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 ID3D10Blob* LPD3D10BLOB;
318
typedef ID3D10Blob ID3DBlob;
319
typedef ID3DBlob* LPD3DBLOB;
321
typedef enum _D3D_INCLUDE_TYPE
323
D3D_INCLUDE_LOCAL = 0,
326
D3D10_INCLUDE_LOCAL = 0,
327
D3D10_INCLUDE_SYSTEM,
329
D3D_INCLUDE_FORCE_DWORD = 0x7fffffff,
333
interface ID3DInclude : IUnknown
336
[in] D3D_INCLUDE_TYPE a,
347
typedef enum _D3D_SHADER_VARIABLE_CLASS
352
D3D_SVC_MATRIX_COLUMNS,
355
D3D_SVC_INTERFACE_CLASS,
356
D3D_SVC_INTERFACE_POINTER,
358
D3D10_SVC_SCALAR = 0,
360
D3D10_SVC_MATRIX_ROWS,
361
D3D10_SVC_MATRIX_COLUMNS,
364
D3D11_SVC_INTERFACE_CLASS,
365
D3D11_SVC_INTERFACE_POINTER,
366
D3D_SVC_FORCE_DWORD = 0x7fffffff
367
} D3D_SHADER_VARIABLE_CLASS;
369
typedef enum _D3D_SHADER_VARIABLE_FLAGS
371
D3D_SVF_USERPACKED = 1,
373
D3D_SVF_INTERFACE_POINTER = 4,
374
D3D_SVF_INTERFACE_PARAMETER = 8,
376
D3D10_SVF_USERPACKED = 1,
378
D3D10_SVF_INTERFACE_POINTER = 4,
379
D3D10_SVF_INTERFACE_PARAMETER = 8,
381
D3D_SVF_FORCE_DWORD = 0x7fffffff
382
} D3D_SHADER_VARIABLE_FLAGS;
384
typedef enum _D3D_SHADER_VARIABLE_TYPE
402
D3D_SVT_VERTEXSHADER,
403
D3D_SVT_PIXELFRAGMENT,
404
D3D_SVT_VERTEXFRAGMENT,
407
D3D_SVT_GEOMETRYSHADER,
409
D3D_SVT_DEPTHSTENCIL,
414
D3D_SVT_TEXTURE1DARRAY,
415
D3D_SVT_TEXTURE2DARRAY,
416
D3D_SVT_RENDERTARGETVIEW,
417
D3D_SVT_DEPTHSTENCILVIEW,
419
D3D_SVT_TEXTURE2DMSARRAY,
420
D3D_SVT_TEXTURECUBEARRAY,
422
D3D_SVT_DOMAINSHADER,
423
D3D_SVT_INTERFACE_POINTER,
424
D3D_SVT_COMPUTESHADER,
427
D3D_SVT_RWTEXTURE1DARRAY,
429
D3D_SVT_RWTEXTURE2DARRAY,
432
D3D_SVT_BYTEADDRESS_BUFFER,
433
D3D_SVT_RWBYTEADDRESS_BUFFER,
434
D3D_SVT_STRUCTURED_BUFFER,
435
D3D_SVT_RWSTRUCTURED_BUFFER,
436
D3D_SVT_APPEND_STRUCTURED_BUFFER,
437
D3D_SVT_CONSUME_STRUCTURED_BUFFER,
448
D3D10_SVT_TEXTURECUBE,
453
D3D10_SVT_SAMPLERCUBE,
454
D3D10_SVT_PIXELSHADER,
455
D3D10_SVT_VERTEXSHADER,
456
D3D10_SVT_PIXELFRAGMENT,
457
D3D10_SVT_VERTEXFRAGMENT,
460
D3D10_SVT_GEOMETRYSHADER,
461
D3D10_SVT_RASTERIZER,
462
D3D10_SVT_DEPTHSTENCIL,
467
D3D10_SVT_TEXTURE1DARRAY,
468
D3D10_SVT_TEXTURE2DARRAY,
469
D3D10_SVT_RENDERTARGETVIEW,
470
D3D10_SVT_DEPTHSTENCILVIEW,
471
D3D10_SVT_TEXTURE2DMS,
472
D3D10_SVT_TEXTURE2DMSARRAY,
473
D3D10_SVT_TEXTURECUBEARRAY,
475
D3D11_SVT_HULLSHADER,
476
D3D11_SVT_DOMAINSHADER,
477
D3D11_SVT_INTERFACE_POINTER,
478
D3D11_SVT_COMPUTESHADER,
480
D3D11_SVT_RWTEXTURE1D,
481
D3D11_SVT_RWTEXTURE1DARRAY,
482
D3D11_SVT_RWTEXTURE2D,
483
D3D11_SVT_RWTEXTURE2DARRAY,
484
D3D11_SVT_RWTEXTURE3D,
486
D3D11_SVT_BYTEADDRESS_BUFFER,
487
D3D11_SVT_RWBYTEADDRESS_BUFFER,
488
D3D11_SVT_STRUCTURED_BUFFER,
489
D3D11_SVT_RWSTRUCTURED_BUFFER,
490
D3D11_SVT_APPEND_STRUCTURED_BUFFER,
491
D3D11_SVT_CONSUME_STRUCTURED_BUFFER,
493
D3D_SVT_FORCE_DWORD = 0x7fffffff
494
} D3D_SHADER_VARIABLE_TYPE;
496
typedef enum _D3D_SHADER_INPUT_FLAGS
498
D3D_SIF_USERPACKED = 1,
499
D3D_SIF_COMPARISON_SAMPLER = 2,
500
D3D_SIF_TEXTURE_COMPONENT_0 = 4,
501
D3D_SIF_TEXTURE_COMPONENT_1 = 8,
502
D3D_SIF_TEXTURE_COMPONENTS = 12,
504
D3D10_SIF_USERPACKED = 1,
505
D3D10_SIF_COMPARISON_SAMPLER = 2,
506
D3D10_SIF_TEXTURE_COMPONENT_0 = 4,
507
D3D10_SIF_TEXTURE_COMPONENT_1 = 8,
508
D3D10_SIF_TEXTURE_COMPONENTS = 12,
510
D3D_SIF_FORCE_DWORD = 0x7fffffff
511
} D3D_SHADER_INPUT_FLAGS;
513
typedef enum _D3D_SHADER_INPUT_TYPE
521
D3D_SIT_UAV_RWSTRUCTURED,
523
D3D_SIT_UAV_RWBYTEADDRESS,
524
D3D_SIT_UAV_APPEND_STRUCTURED,
525
D3D_SIT_UAV_CONSUME_STRUCTURED,
526
D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
528
D3D10_SIT_CBUFFER = 0,
533
D3D11_SIT_UAV_RWTYPED,
534
D3D11_SIT_STRUCTURED,
535
D3D11_SIT_UAV_RWSTRUCTURED,
536
D3D11_SIT_BYTEADDRESS,
537
D3D11_SIT_UAV_RWBYTEADDRESS,
538
D3D11_SIT_UAV_APPEND_STRUCTURED,
539
D3D11_SIT_UAV_CONSUME_STRUCTURED,
540
D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
541
} D3D_SHADER_INPUT_TYPE;
543
typedef enum _D3D_SHADER_CBUFFER_FLAGS
545
D3D_CBF_USERPACKED = 1,
547
D3D10_CBF_USERPACKED = 1,
549
D3D_CBF_FORCE_DWORD = 0x7fffffff
550
} D3D_SHADER_CBUFFER_FLAGS;
552
typedef enum _D3D_CBUFFER_TYPE
556
D3D_CT_INTERFACE_POINTERS,
557
D3D_CT_RESOURCE_BIND_INFO,
559
D3D10_CT_CBUFFER = 0,
562
D3D11_CT_CBUFFER = 0,
564
D3D11_CT_INTERFACE_POINTERS,
565
D3D11_CT_RESOURCE_BIND_INFO,
568
typedef enum D3D_NAME
570
D3D_NAME_UNDEFINED = 0,
572
D3D_NAME_CLIP_DISTANCE,
573
D3D_NAME_CULL_DISTANCE,
574
D3D_NAME_RENDER_TARGET_ARRAY_INDEX,
575
D3D_NAME_VIEWPORT_ARRAY_INDEX,
577
D3D_NAME_PRIMITIVE_ID,
578
D3D_NAME_INSTANCE_ID,
579
D3D_NAME_IS_FRONT_FACE,
580
D3D_NAME_SAMPLE_INDEX,
581
D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
582
D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
583
D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR,
584
D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
585
D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
586
D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
588
D3D_NAME_TARGET = 64,
591
D3D_NAME_DEPTH_GREATER_EQUAL,
592
D3D_NAME_DEPTH_LESS_EQUAL,
594
D3D10_NAME_UNDEFINED = 0,
596
D3D10_NAME_CLIP_DISTANCE,
597
D3D10_NAME_CULL_DISTANCE,
598
D3D10_NAME_RENDER_TARGET_ARRAY_INDEX,
599
D3D10_NAME_VIEWPORT_ARRAY_INDEX,
600
D3D10_NAME_VERTEX_ID,
601
D3D10_NAME_PRIMITIVE_ID,
602
D3D10_NAME_INSTANCE_ID,
603
D3D10_NAME_IS_FRONT_FACE,
604
D3D10_NAME_SAMPLE_INDEX,
606
D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
607
D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
608
D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR,
609
D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
610
D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
611
D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
613
D3D10_NAME_TARGET = 64,
617
D3D11_NAME_DEPTH_GREATER_EQUAL,
618
D3D11_NAME_DEPTH_LESS_EQUAL,
621
typedef enum D3D_RESOURCE_RETURN_TYPE
623
D3D_RETURN_TYPE_UNORM = 1,
624
D3D_RETURN_TYPE_SNORM,
625
D3D_RETURN_TYPE_SINT,
626
D3D_RETURN_TYPE_UINT,
627
D3D_RETURN_TYPE_FLOAT,
628
D3D_RETURN_TYPE_MIXED,
629
D3D_RETURN_TYPE_DOUBLE,
630
D3D_RETURN_TYPE_CONTINUED,
632
D3D10_RETURN_TYPE_UNORM = 1,
633
D3D10_RETURN_TYPE_SNORM,
634
D3D10_RETURN_TYPE_SINT,
635
D3D10_RETURN_TYPE_UINT,
636
D3D10_RETURN_TYPE_FLOAT,
637
D3D10_RETURN_TYPE_MIXED,
639
D3D11_RETURN_TYPE_UNORM = 1,
640
D3D11_RETURN_TYPE_SNORM,
641
D3D11_RETURN_TYPE_SINT,
642
D3D11_RETURN_TYPE_UINT,
643
D3D11_RETURN_TYPE_FLOAT,
644
D3D11_RETURN_TYPE_MIXED,
645
D3D11_RETURN_TYPE_DOUBLE,
646
D3D11_RETURN_TYPE_CONTINUED,
647
} D3D_RESOURCE_RETURN_TYPE;
649
typedef enum D3D_REGISTER_COMPONENT_TYPE
651
D3D_REGISTER_COMPONENT_UNKNOWN = 0,
652
D3D_REGISTER_COMPONENT_UINT32,
653
D3D_REGISTER_COMPONENT_SINT32,
654
D3D_REGISTER_COMPONENT_FLOAT32,
656
D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
657
D3D10_REGISTER_COMPONENT_UINT32,
658
D3D10_REGISTER_COMPONENT_SINT32,
659
D3D10_REGISTER_COMPONENT_FLOAT32,
660
} D3D_REGISTER_COMPONENT_TYPE;
662
typedef enum D3D_TESSELLATOR_DOMAIN
664
D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0,
665
D3D_TESSELLATOR_DOMAIN_ISOLINE,
666
D3D_TESSELLATOR_DOMAIN_TRI,
667
D3D_TESSELLATOR_DOMAIN_QUAD,
669
D3D11_TESSELLATOR_DOMAIN_UNDEFINED = 0,
670
D3D11_TESSELLATOR_DOMAIN_ISOLINE,
671
D3D11_TESSELLATOR_DOMAIN_TRI,
672
D3D11_TESSELLATOR_DOMAIN_QUAD,
673
} D3D_TESSELLATOR_DOMAIN;
675
typedef enum D3D_TESSELLATOR_PARTITIONING
677
D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
678
D3D_TESSELLATOR_PARTITIONING_INTEGER,
679
D3D_TESSELLATOR_PARTITIONING_POW2,
680
D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
681
D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,
683
D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
684
D3D11_TESSELLATOR_PARTITIONING_INTEGER,
685
D3D11_TESSELLATOR_PARTITIONING_POW2,
686
D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
687
D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,
688
} D3D_TESSELLATOR_PARTITIONING;
690
typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE
692
D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0,
693
D3D_TESSELLATOR_OUTPUT_POINT,
694
D3D_TESSELLATOR_OUTPUT_LINE,
695
D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW,
696
D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW,
698
D3D11_TESSELLATOR_OUTPUT_UNDEFINED = 0,
699
D3D11_TESSELLATOR_OUTPUT_POINT,
700
D3D11_TESSELLATOR_OUTPUT_LINE,
701
D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW,
702
D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW,
703
} D3D_TESSELLATOR_OUTPUT_PRIMITIVE;