master
  1/*** Autogenerated by WIDL 10.4 from include/d3dcommon.idl - Do not edit ***/
  2
  3#ifdef _WIN32
  4#ifndef __REQUIRED_RPCNDR_H_VERSION__
  5#define __REQUIRED_RPCNDR_H_VERSION__ 475
  6#endif
  7#include <rpc.h>
  8#include <rpcndr.h>
  9#endif
 10
 11#ifndef COM_NO_WINDOWS_H
 12#include <windows.h>
 13#include <ole2.h>
 14#endif
 15
 16#ifndef __d3dcommon_h__
 17#define __d3dcommon_h__
 18
 19/* Forward declarations */
 20
 21#ifndef __ID3D10Blob_FWD_DEFINED__
 22#define __ID3D10Blob_FWD_DEFINED__
 23typedef interface ID3D10Blob ID3D10Blob;
 24#ifdef __cplusplus
 25interface ID3D10Blob;
 26#endif /* __cplusplus */
 27#endif
 28
 29#ifndef __ID3DDestructionNotifier_FWD_DEFINED__
 30#define __ID3DDestructionNotifier_FWD_DEFINED__
 31typedef interface ID3DDestructionNotifier ID3DDestructionNotifier;
 32#ifdef __cplusplus
 33interface ID3DDestructionNotifier;
 34#endif /* __cplusplus */
 35#endif
 36
 37#ifndef __ID3DInclude_FWD_DEFINED__
 38#define __ID3DInclude_FWD_DEFINED__
 39typedef interface ID3DInclude ID3DInclude;
 40#ifdef __cplusplus
 41interface ID3DInclude;
 42#endif /* __cplusplus */
 43#endif
 44
 45/* Headers for imported files */
 46
 47#include <oaidl.h>
 48#include <ocidl.h>
 49
 50#ifdef __cplusplus
 51extern "C" {
 52#endif
 53
 54typedef struct _D3D_SHADER_MACRO {
 55    const char *Name;
 56    const char *Definition;
 57} D3D_SHADER_MACRO;
 58typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO;
 59/*****************************************************************************
 60 * ID3D10Blob interface
 61 */
 62#ifndef __ID3D10Blob_INTERFACE_DEFINED__
 63#define __ID3D10Blob_INTERFACE_DEFINED__
 64
 65DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac,0x58, 0x0d,0x98,0x9c,0x3a,0x01,0x02);
 66#if defined(__cplusplus) && !defined(CINTERFACE)
 67MIDL_INTERFACE("8ba5fb08-5195-40e2-ac58-0d989c3a0102")
 68ID3D10Blob : public IUnknown
 69{
 70    virtual void * STDMETHODCALLTYPE GetBufferPointer(
 71        ) = 0;
 72
 73    virtual SIZE_T STDMETHODCALLTYPE GetBufferSize(
 74        ) = 0;
 75
 76};
 77#ifdef __CRT_UUID_DECL
 78__CRT_UUID_DECL(ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac,0x58, 0x0d,0x98,0x9c,0x3a,0x01,0x02)
 79#endif
 80#else
 81typedef struct ID3D10BlobVtbl {
 82    BEGIN_INTERFACE
 83
 84    /*** IUnknown methods ***/
 85    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 86        ID3D10Blob *This,
 87        REFIID riid,
 88        void **ppvObject);
 89
 90    ULONG (STDMETHODCALLTYPE *AddRef)(
 91        ID3D10Blob *This);
 92
 93    ULONG (STDMETHODCALLTYPE *Release)(
 94        ID3D10Blob *This);
 95
 96    /*** ID3D10Blob methods ***/
 97    void * (STDMETHODCALLTYPE *GetBufferPointer)(
 98        ID3D10Blob *This);
 99
100    SIZE_T (STDMETHODCALLTYPE *GetBufferSize)(
101        ID3D10Blob *This);
102
103    END_INTERFACE
104} ID3D10BlobVtbl;
105
106interface ID3D10Blob {
107    CONST_VTBL ID3D10BlobVtbl* lpVtbl;
108};
109
110#ifdef COBJMACROS
111#ifndef WIDL_C_INLINE_WRAPPERS
112/*** IUnknown methods ***/
113#define ID3D10Blob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
114#define ID3D10Blob_AddRef(This) (This)->lpVtbl->AddRef(This)
115#define ID3D10Blob_Release(This) (This)->lpVtbl->Release(This)
116/*** ID3D10Blob methods ***/
117#define ID3D10Blob_GetBufferPointer(This) (This)->lpVtbl->GetBufferPointer(This)
118#define ID3D10Blob_GetBufferSize(This) (This)->lpVtbl->GetBufferSize(This)
119#else
120/*** IUnknown methods ***/
121static inline HRESULT ID3D10Blob_QueryInterface(ID3D10Blob* This,REFIID riid,void **ppvObject) {
122    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
123}
124static inline ULONG ID3D10Blob_AddRef(ID3D10Blob* This) {
125    return This->lpVtbl->AddRef(This);
126}
127static inline ULONG ID3D10Blob_Release(ID3D10Blob* This) {
128    return This->lpVtbl->Release(This);
129}
130/*** ID3D10Blob methods ***/
131static inline void * ID3D10Blob_GetBufferPointer(ID3D10Blob* This) {
132    return This->lpVtbl->GetBufferPointer(This);
133}
134static inline SIZE_T ID3D10Blob_GetBufferSize(ID3D10Blob* This) {
135    return This->lpVtbl->GetBufferSize(This);
136}
137#endif
138#endif
139
140#endif
141
142
143#endif  /* __ID3D10Blob_INTERFACE_DEFINED__ */
144
145typedef ID3D10Blob *LPD3D10BLOB;
146typedef ID3D10Blob ID3DBlob;
147typedef ID3DBlob *LPD3DBLOB;
148#define IID_ID3DBlob IID_ID3D10Blob
149typedef void (__stdcall *PFN_DESTRUCTION_CALLBACK)(void *data);
150/*****************************************************************************
151 * ID3DDestructionNotifier interface
152 */
153#ifndef __ID3DDestructionNotifier_INTERFACE_DEFINED__
154#define __ID3DDestructionNotifier_INTERFACE_DEFINED__
155
156DEFINE_GUID(IID_ID3DDestructionNotifier, 0xa06eb39a, 0x50da, 0x425b, 0x8c,0x31, 0x4e,0xec,0xd6,0xc2,0x70,0xf3);
157#if defined(__cplusplus) && !defined(CINTERFACE)
158MIDL_INTERFACE("a06eb39a-50da-425b-8c31-4eecd6c270f3")
159ID3DDestructionNotifier : public IUnknown
160{
161    virtual HRESULT STDMETHODCALLTYPE RegisterDestructionCallback(
162        PFN_DESTRUCTION_CALLBACK callback_func,
163        void *data,
164        UINT *callback_id) = 0;
165
166    virtual HRESULT STDMETHODCALLTYPE UnregisterDestructionCallback(
167        UINT callback_id) = 0;
168
169};
170#ifdef __CRT_UUID_DECL
171__CRT_UUID_DECL(ID3DDestructionNotifier, 0xa06eb39a, 0x50da, 0x425b, 0x8c,0x31, 0x4e,0xec,0xd6,0xc2,0x70,0xf3)
172#endif
173#else
174typedef struct ID3DDestructionNotifierVtbl {
175    BEGIN_INTERFACE
176
177    /*** IUnknown methods ***/
178    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
179        ID3DDestructionNotifier *This,
180        REFIID riid,
181        void **ppvObject);
182
183    ULONG (STDMETHODCALLTYPE *AddRef)(
184        ID3DDestructionNotifier *This);
185
186    ULONG (STDMETHODCALLTYPE *Release)(
187        ID3DDestructionNotifier *This);
188
189    /*** ID3DDestructionNotifier methods ***/
190    HRESULT (STDMETHODCALLTYPE *RegisterDestructionCallback)(
191        ID3DDestructionNotifier *This,
192        PFN_DESTRUCTION_CALLBACK callback_func,
193        void *data,
194        UINT *callback_id);
195
196    HRESULT (STDMETHODCALLTYPE *UnregisterDestructionCallback)(
197        ID3DDestructionNotifier *This,
198        UINT callback_id);
199
200    END_INTERFACE
201} ID3DDestructionNotifierVtbl;
202
203interface ID3DDestructionNotifier {
204    CONST_VTBL ID3DDestructionNotifierVtbl* lpVtbl;
205};
206
207#ifdef COBJMACROS
208#ifndef WIDL_C_INLINE_WRAPPERS
209/*** IUnknown methods ***/
210#define ID3DDestructionNotifier_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
211#define ID3DDestructionNotifier_AddRef(This) (This)->lpVtbl->AddRef(This)
212#define ID3DDestructionNotifier_Release(This) (This)->lpVtbl->Release(This)
213/*** ID3DDestructionNotifier methods ***/
214#define ID3DDestructionNotifier_RegisterDestructionCallback(This,callback_func,data,callback_id) (This)->lpVtbl->RegisterDestructionCallback(This,callback_func,data,callback_id)
215#define ID3DDestructionNotifier_UnregisterDestructionCallback(This,callback_id) (This)->lpVtbl->UnregisterDestructionCallback(This,callback_id)
216#else
217/*** IUnknown methods ***/
218static inline HRESULT ID3DDestructionNotifier_QueryInterface(ID3DDestructionNotifier* This,REFIID riid,void **ppvObject) {
219    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
220}
221static inline ULONG ID3DDestructionNotifier_AddRef(ID3DDestructionNotifier* This) {
222    return This->lpVtbl->AddRef(This);
223}
224static inline ULONG ID3DDestructionNotifier_Release(ID3DDestructionNotifier* This) {
225    return This->lpVtbl->Release(This);
226}
227/*** ID3DDestructionNotifier methods ***/
228static inline HRESULT ID3DDestructionNotifier_RegisterDestructionCallback(ID3DDestructionNotifier* This,PFN_DESTRUCTION_CALLBACK callback_func,void *data,UINT *callback_id) {
229    return This->lpVtbl->RegisterDestructionCallback(This,callback_func,data,callback_id);
230}
231static inline HRESULT ID3DDestructionNotifier_UnregisterDestructionCallback(ID3DDestructionNotifier* This,UINT callback_id) {
232    return This->lpVtbl->UnregisterDestructionCallback(This,callback_id);
233}
234#endif
235#endif
236
237#endif
238
239
240#endif  /* __ID3DDestructionNotifier_INTERFACE_DEFINED__ */
241
242typedef enum _D3D_INCLUDE_TYPE {
243    D3D_INCLUDE_LOCAL = 0,
244    D3D_INCLUDE_SYSTEM = 1,
245    D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL,
246    D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM,
247    D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
248} D3D_INCLUDE_TYPE;
249/*****************************************************************************
250 * ID3DInclude interface
251 */
252#ifndef __ID3DInclude_INTERFACE_DEFINED__
253#define __ID3DInclude_INTERFACE_DEFINED__
254
255#if defined(__cplusplus) && !defined(CINTERFACE)
256interface ID3DInclude
257{
258
259    BEGIN_INTERFACE
260
261    virtual HRESULT STDMETHODCALLTYPE Open(
262        D3D_INCLUDE_TYPE include_type,
263        const char *filename,
264        const void *parent_data,
265        const void **data,
266        UINT *bytes) = 0;
267
268    virtual HRESULT STDMETHODCALLTYPE Close(
269        const void *data) = 0;
270
271    END_INTERFACE
272
273};
274#else
275typedef struct ID3DIncludeVtbl {
276    BEGIN_INTERFACE
277
278    /*** ID3DInclude methods ***/
279    HRESULT (STDMETHODCALLTYPE *Open)(
280        ID3DInclude *This,
281        D3D_INCLUDE_TYPE include_type,
282        const char *filename,
283        const void *parent_data,
284        const void **data,
285        UINT *bytes);
286
287    HRESULT (STDMETHODCALLTYPE *Close)(
288        ID3DInclude *This,
289        const void *data);
290
291    END_INTERFACE
292} ID3DIncludeVtbl;
293
294interface ID3DInclude {
295    CONST_VTBL ID3DIncludeVtbl* lpVtbl;
296};
297
298#ifdef COBJMACROS
299#ifndef WIDL_C_INLINE_WRAPPERS
300/*** ID3DInclude methods ***/
301#define ID3DInclude_Open(This,include_type,filename,parent_data,data,bytes) (This)->lpVtbl->Open(This,include_type,filename,parent_data,data,bytes)
302#define ID3DInclude_Close(This,data) (This)->lpVtbl->Close(This,data)
303#else
304/*** ID3DInclude methods ***/
305static inline HRESULT ID3DInclude_Open(ID3DInclude* This,D3D_INCLUDE_TYPE include_type,const char *filename,const void *parent_data,const void **data,UINT *bytes) {
306    return This->lpVtbl->Open(This,include_type,filename,parent_data,data,bytes);
307}
308static inline HRESULT ID3DInclude_Close(ID3DInclude* This,const void *data) {
309    return This->lpVtbl->Close(This,data);
310}
311#endif
312#endif
313
314#endif
315
316
317#endif  /* __ID3DInclude_INTERFACE_DEFINED__ */
318
319typedef ID3DInclude *LPD3DINCLUDE;
320typedef enum D3D_DRIVER_TYPE {
321    D3D_DRIVER_TYPE_UNKNOWN = 0,
322    D3D_DRIVER_TYPE_HARDWARE = 1,
323    D3D_DRIVER_TYPE_REFERENCE = 2,
324    D3D_DRIVER_TYPE_NULL = 3,
325    D3D_DRIVER_TYPE_SOFTWARE = 4,
326    D3D_DRIVER_TYPE_WARP = 5
327} D3D_DRIVER_TYPE;
328typedef enum D3D_FEATURE_LEVEL {
329    D3D_FEATURE_LEVEL_1_0_CORE = 0x1000,
330    D3D_FEATURE_LEVEL_9_1 = 0x9100,
331    D3D_FEATURE_LEVEL_9_2 = 0x9200,
332    D3D_FEATURE_LEVEL_9_3 = 0x9300,
333    D3D_FEATURE_LEVEL_10_0 = 0xa000,
334    D3D_FEATURE_LEVEL_10_1 = 0xa100,
335    D3D_FEATURE_LEVEL_11_0 = 0xb000,
336    D3D_FEATURE_LEVEL_11_1 = 0xb100,
337    D3D_FEATURE_LEVEL_12_0 = 0xc000,
338    D3D_FEATURE_LEVEL_12_1 = 0xc100,
339    D3D_FEATURE_LEVEL_12_2 = 0xc200
340} D3D_FEATURE_LEVEL;
341#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION          2048
342#define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION          4096
343#define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION     2048
344#define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION     4096
345#define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION          512
346#define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION          4096
347#define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION   256
348#define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY             2
349#define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT             65535
350#define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT             1048575
351#define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT   1
352#define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT   4
353#define D3D_FL9_1_MAX_TEXTURE_REPEAT                 128
354#define D3D_FL9_2_MAX_TEXTURE_REPEAT                 2048
355#define D3D_FL9_3_MAX_TEXTURE_REPEAT                 8192
356typedef enum _D3D_SHADER_VARIABLE_CLASS {
357    D3D_SVC_SCALAR = 0,
358    D3D_SVC_VECTOR = 1,
359    D3D_SVC_MATRIX_ROWS = 2,
360    D3D_SVC_MATRIX_COLUMNS = 3,
361    D3D_SVC_OBJECT = 4,
362    D3D_SVC_STRUCT = 5,
363    D3D_SVC_INTERFACE_CLASS = 6,
364    D3D_SVC_INTERFACE_POINTER = 7,
365    D3D10_SVC_SCALAR = 0,
366    D3D10_SVC_VECTOR = 1,
367    D3D10_SVC_MATRIX_ROWS = 2,
368    D3D10_SVC_MATRIX_COLUMNS = 3,
369    D3D10_SVC_OBJECT = 4,
370    D3D10_SVC_STRUCT = 5,
371    D3D11_SVC_INTERFACE_CLASS = 6,
372    D3D11_SVC_INTERFACE_POINTER = 7,
373    D3D_SVC_FORCE_DWORD = 0x7fffffff
374} D3D_SHADER_VARIABLE_CLASS;
375typedef enum _D3D_SHADER_VARIABLE_FLAGS {
376    D3D_SVF_USERPACKED = 0x1,
377    D3D_SVF_USED = 0x2,
378    D3D_SVF_INTERFACE_POINTER = 0x4,
379    D3D_SVF_INTERFACE_PARAMETER = 0x8,
380    D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED,
381    D3D10_SVF_USED = D3D_SVF_USED,
382    D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER,
383    D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER,
384    D3D_SVF_FORCE_DWORD = 0x7fffffff
385} D3D_SHADER_VARIABLE_FLAGS;
386typedef enum _D3D_SHADER_VARIABLE_TYPE {
387    D3D_SVT_VOID = 0,
388    D3D_SVT_BOOL = 1,
389    D3D_SVT_INT = 2,
390    D3D_SVT_FLOAT = 3,
391    D3D_SVT_STRING = 4,
392    D3D_SVT_TEXTURE = 5,
393    D3D_SVT_TEXTURE1D = 6,
394    D3D_SVT_TEXTURE2D = 7,
395    D3D_SVT_TEXTURE3D = 8,
396    D3D_SVT_TEXTURECUBE = 9,
397    D3D_SVT_SAMPLER = 10,
398    D3D_SVT_SAMPLER1D = 11,
399    D3D_SVT_SAMPLER2D = 12,
400    D3D_SVT_SAMPLER3D = 13,
401    D3D_SVT_SAMPLERCUBE = 14,
402    D3D_SVT_PIXELSHADER = 15,
403    D3D_SVT_VERTEXSHADER = 16,
404    D3D_SVT_PIXELFRAGMENT = 17,
405    D3D_SVT_VERTEXFRAGMENT = 18,
406    D3D_SVT_UINT = 19,
407    D3D_SVT_UINT8 = 20,
408    D3D_SVT_GEOMETRYSHADER = 21,
409    D3D_SVT_RASTERIZER = 22,
410    D3D_SVT_DEPTHSTENCIL = 23,
411    D3D_SVT_BLEND = 24,
412    D3D_SVT_BUFFER = 25,
413    D3D_SVT_CBUFFER = 26,
414    D3D_SVT_TBUFFER = 27,
415    D3D_SVT_TEXTURE1DARRAY = 28,
416    D3D_SVT_TEXTURE2DARRAY = 29,
417    D3D_SVT_RENDERTARGETVIEW = 30,
418    D3D_SVT_DEPTHSTENCILVIEW = 31,
419    D3D_SVT_TEXTURE2DMS = 32,
420    D3D_SVT_TEXTURE2DMSARRAY = 33,
421    D3D_SVT_TEXTURECUBEARRAY = 34,
422    D3D_SVT_HULLSHADER = 35,
423    D3D_SVT_DOMAINSHADER = 36,
424    D3D_SVT_INTERFACE_POINTER = 37,
425    D3D_SVT_COMPUTESHADER = 38,
426    D3D_SVT_DOUBLE = 39,
427    D3D_SVT_RWTEXTURE1D = 40,
428    D3D_SVT_RWTEXTURE1DARRAY = 41,
429    D3D_SVT_RWTEXTURE2D = 42,
430    D3D_SVT_RWTEXTURE2DARRAY = 43,
431    D3D_SVT_RWTEXTURE3D = 44,
432    D3D_SVT_RWBUFFER = 45,
433    D3D_SVT_BYTEADDRESS_BUFFER = 46,
434    D3D_SVT_RWBYTEADDRESS_BUFFER = 47,
435    D3D_SVT_STRUCTURED_BUFFER = 48,
436    D3D_SVT_RWSTRUCTURED_BUFFER = 49,
437    D3D_SVT_APPEND_STRUCTURED_BUFFER = 50,
438    D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51,
439    D3D_SVT_MIN8FLOAT = 52,
440    D3D_SVT_MIN10FLOAT = 53,
441    D3D_SVT_MIN16FLOAT = 54,
442    D3D_SVT_MIN12INT = 55,
443    D3D_SVT_MIN16INT = 56,
444    D3D_SVT_MIN16UINT = 57,
445    D3D10_SVT_VOID = 0,
446    D3D10_SVT_BOOL = 1,
447    D3D10_SVT_INT = 2,
448    D3D10_SVT_FLOAT = 3,
449    D3D10_SVT_STRING = 4,
450    D3D10_SVT_TEXTURE = 5,
451    D3D10_SVT_TEXTURE1D = 6,
452    D3D10_SVT_TEXTURE2D = 7,
453    D3D10_SVT_TEXTURE3D = 8,
454    D3D10_SVT_TEXTURECUBE = 9,
455    D3D10_SVT_SAMPLER = 10,
456    D3D10_SVT_SAMPLER1D = 11,
457    D3D10_SVT_SAMPLER2D = 12,
458    D3D10_SVT_SAMPLER3D = 13,
459    D3D10_SVT_SAMPLERCUBE = 14,
460    D3D10_SVT_PIXELSHADER = 15,
461    D3D10_SVT_VERTEXSHADER = 16,
462    D3D10_SVT_PIXELFRAGMENT = 17,
463    D3D10_SVT_VERTEXFRAGMENT = 18,
464    D3D10_SVT_UINT = 19,
465    D3D10_SVT_UINT8 = 20,
466    D3D10_SVT_GEOMETRYSHADER = 21,
467    D3D10_SVT_RASTERIZER = 22,
468    D3D10_SVT_DEPTHSTENCIL = 23,
469    D3D10_SVT_BLEND = 24,
470    D3D10_SVT_BUFFER = 25,
471    D3D10_SVT_CBUFFER = 26,
472    D3D10_SVT_TBUFFER = 27,
473    D3D10_SVT_TEXTURE1DARRAY = 28,
474    D3D10_SVT_TEXTURE2DARRAY = 29,
475    D3D10_SVT_RENDERTARGETVIEW = 30,
476    D3D10_SVT_DEPTHSTENCILVIEW = 31,
477    D3D10_SVT_TEXTURE2DMS = 32,
478    D3D10_SVT_TEXTURE2DMSARRAY = 33,
479    D3D10_SVT_TEXTURECUBEARRAY = 34,
480    D3D11_SVT_HULLSHADER = 35,
481    D3D11_SVT_DOMAINSHADER = 36,
482    D3D11_SVT_INTERFACE_POINTER = 37,
483    D3D11_SVT_COMPUTESHADER = 38,
484    D3D11_SVT_DOUBLE = 39,
485    D3D11_SVT_RWTEXTURE1D = 40,
486    D3D11_SVT_RWTEXTURE1DARRAY = 41,
487    D3D11_SVT_RWTEXTURE2D = 42,
488    D3D11_SVT_RWTEXTURE2DARRAY = 43,
489    D3D11_SVT_RWTEXTURE3D = 44,
490    D3D11_SVT_RWBUFFER = 45,
491    D3D11_SVT_BYTEADDRESS_BUFFER = 46,
492    D3D11_SVT_RWBYTEADDRESS_BUFFER = 47,
493    D3D11_SVT_STRUCTURED_BUFFER = 48,
494    D3D11_SVT_RWSTRUCTURED_BUFFER = 49,
495    D3D11_SVT_APPEND_STRUCTURED_BUFFER = 50,
496    D3D11_SVT_CONSUME_STRUCTURED_BUFFER = 51,
497    D3D_SVT_FORCE_DWORD = 0x7fffffff
498} D3D_SHADER_VARIABLE_TYPE;
499typedef enum _D3D_SHADER_INPUT_FLAGS {
500    D3D_SIF_USERPACKED = 0x1,
501    D3D_SIF_COMPARISON_SAMPLER = 0x2,
502    D3D_SIF_TEXTURE_COMPONENT_0 = 0x4,
503    D3D_SIF_TEXTURE_COMPONENT_1 = 0x8,
504    D3D_SIF_TEXTURE_COMPONENTS = 0xc,
505    D3D_SIF_UNUSED = 0x10,
506    D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED,
507    D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER,
508    D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0,
509    D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1,
510    D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS,
511    D3D_SIF_FORCE_DWORD = 0x7fffffff
512} D3D_SHADER_INPUT_FLAGS;
513typedef enum D3D_PRIMITIVE {
514    D3D_PRIMITIVE_UNDEFINED = 0,
515    D3D_PRIMITIVE_POINT = 1,
516    D3D_PRIMITIVE_LINE = 2,
517    D3D_PRIMITIVE_TRIANGLE = 3,
518    D3D_PRIMITIVE_LINE_ADJ = 6,
519    D3D_PRIMITIVE_TRIANGLE_ADJ = 7,
520    D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
521    D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9,
522    D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10,
523    D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11,
524    D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12,
525    D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13,
526    D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14,
527    D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15,
528    D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16,
529    D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17,
530    D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18,
531    D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19,
532    D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20,
533    D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21,
534    D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22,
535    D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23,
536    D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
537    D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
538    D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
539    D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
540    D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
541    D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
542    D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
543    D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
544    D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
545    D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
546    D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
547    D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
548    D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
549    D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
550    D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
551    D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39,
552    D3D10_PRIMITIVE_UNDEFINED = 0,
553    D3D10_PRIMITIVE_POINT = 1,
554    D3D10_PRIMITIVE_LINE = 2,
555    D3D10_PRIMITIVE_TRIANGLE = 3,
556    D3D10_PRIMITIVE_LINE_ADJ = 6,
557    D3D10_PRIMITIVE_TRIANGLE_ADJ = 7,
558    D3D11_PRIMITIVE_UNDEFINED = 0,
559    D3D11_PRIMITIVE_POINT = 1,
560    D3D11_PRIMITIVE_LINE = 2,
561    D3D11_PRIMITIVE_TRIANGLE = 3,
562    D3D11_PRIMITIVE_LINE_ADJ = 6,
563    D3D11_PRIMITIVE_TRIANGLE_ADJ = 7,
564    D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
565    D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = 9,
566    D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = 10,
567    D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = 11,
568    D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = 12,
569    D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = 13,
570    D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = 14,
571    D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = 15,
572    D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = 16,
573    D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = 17,
574    D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = 18,
575    D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = 19,
576    D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = 20,
577    D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = 21,
578    D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = 22,
579    D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = 23,
580    D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
581    D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
582    D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
583    D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
584    D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
585    D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
586    D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
587    D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
588    D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
589    D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
590    D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
591    D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
592    D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
593    D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
594    D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
595    D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = 39
596} D3D_PRIMITIVE;
597typedef enum D3D_PRIMITIVE_TOPOLOGY {
598    D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
599    D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
600    D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2,
601    D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
602    D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
603    D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
604    D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
605    D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
606    D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
607    D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
608    D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
609    D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34,
610    D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35,
611    D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36,
612    D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37,
613    D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38,
614    D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39,
615    D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40,
616    D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41,
617    D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42,
618    D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43,
619    D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44,
620    D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45,
621    D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46,
622    D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47,
623    D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48,
624    D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49,
625    D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50,
626    D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51,
627    D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52,
628    D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53,
629    D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54,
630    D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55,
631    D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56,
632    D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57,
633    D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58,
634    D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59,
635    D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60,
636    D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61,
637    D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62,
638    D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63,
639    D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64,
640    D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
641    D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
642    D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
643    D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
644    D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
645    D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
646    D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
647    D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
648    D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
649    D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
650    D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
651    D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
652    D3D11_PRIMITIVE_TOPOLOGY_LINELIST = 2,
653    D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
654    D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
655    D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
656    D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
657    D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
658    D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
659    D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
660    D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
661    D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34,
662    D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35,
663    D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36,
664    D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37,
665    D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38,
666    D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39,
667    D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40,
668    D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41,
669    D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42,
670    D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43,
671    D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44,
672    D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45,
673    D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46,
674    D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47,
675    D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48,
676    D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49,
677    D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50,
678    D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51,
679    D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52,
680    D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53,
681    D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54,
682    D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55,
683    D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56,
684    D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57,
685    D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58,
686    D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59,
687    D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60,
688    D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61,
689    D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62,
690    D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63,
691    D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64
692} D3D_PRIMITIVE_TOPOLOGY;
693typedef enum D3D_TESSELLATOR_DOMAIN {
694    D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0,
695    D3D_TESSELLATOR_DOMAIN_ISOLINE = 1,
696    D3D_TESSELLATOR_DOMAIN_TRI = 2,
697    D3D_TESSELLATOR_DOMAIN_QUAD = 3,
698    D3D11_TESSELLATOR_DOMAIN_UNDEFINED = 0,
699    D3D11_TESSELLATOR_DOMAIN_ISOLINE = 1,
700    D3D11_TESSELLATOR_DOMAIN_TRI = 2,
701    D3D11_TESSELLATOR_DOMAIN_QUAD = 3
702} D3D_TESSELLATOR_DOMAIN;
703typedef enum D3D_TESSELLATOR_PARTITIONING {
704    D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
705    D3D_TESSELLATOR_PARTITIONING_INTEGER = 1,
706    D3D_TESSELLATOR_PARTITIONING_POW2 = 2,
707    D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
708    D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4,
709    D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
710    D3D11_TESSELLATOR_PARTITIONING_INTEGER = 1,
711    D3D11_TESSELLATOR_PARTITIONING_POW2 = 2,
712    D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
713    D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4
714} D3D_TESSELLATOR_PARTITIONING;
715typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE {
716    D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0,
717    D3D_TESSELLATOR_OUTPUT_POINT = 1,
718    D3D_TESSELLATOR_OUTPUT_LINE = 2,
719    D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
720    D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4,
721    D3D11_TESSELLATOR_OUTPUT_UNDEFINED = 0,
722    D3D11_TESSELLATOR_OUTPUT_POINT = 1,
723    D3D11_TESSELLATOR_OUTPUT_LINE = 2,
724    D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
725    D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4
726} D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
727typedef enum D3D_MIN_PRECISION {
728    D3D_MIN_PRECISION_DEFAULT = 0,
729    D3D_MIN_PRECISION_FLOAT_16 = 1,
730    D3D_MIN_PRECISION_FLOAT_2_8 = 2,
731    D3D_MIN_PRECISION_RESERVED = 3,
732    D3D_MIN_PRECISION_SINT_16 = 4,
733    D3D_MIN_PRECISION_UINT_16 = 5,
734    D3D_MIN_PRECISION_ANY_16 = 0xf0,
735    D3D_MIN_PRECISION_ANY_10 = 0xf1
736} D3D_MIN_PRECISION;
737typedef enum D3D_CBUFFER_TYPE {
738    D3D_CT_CBUFFER = 0,
739    D3D_CT_TBUFFER = 1,
740    D3D_CT_INTERFACE_POINTERS = 2,
741    D3D_CT_RESOURCE_BIND_INFO = 3,
742    D3D10_CT_CBUFFER = 0,
743    D3D10_CT_TBUFFER = 1,
744    D3D11_CT_CBUFFER = 0,
745    D3D11_CT_TBUFFER = 1,
746    D3D11_CT_INTERFACE_POINTERS = 2,
747    D3D11_CT_RESOURCE_BIND_INFO = 3
748} D3D_CBUFFER_TYPE;
749typedef enum D3D_SRV_DIMENSION {
750    D3D_SRV_DIMENSION_UNKNOWN = 0,
751    D3D_SRV_DIMENSION_BUFFER = 1,
752    D3D_SRV_DIMENSION_TEXTURE1D = 2,
753    D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3,
754    D3D_SRV_DIMENSION_TEXTURE2D = 4,
755    D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5,
756    D3D_SRV_DIMENSION_TEXTURE2DMS = 6,
757    D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
758    D3D_SRV_DIMENSION_TEXTURE3D = 8,
759    D3D_SRV_DIMENSION_TEXTURECUBE = 9,
760    D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
761    D3D_SRV_DIMENSION_BUFFEREX = 11,
762    D3D10_SRV_DIMENSION_UNKNOWN = 0,
763    D3D10_SRV_DIMENSION_BUFFER = 1,
764    D3D10_SRV_DIMENSION_TEXTURE1D = 2,
765    D3D10_SRV_DIMENSION_TEXTURE1DARRAY = 3,
766    D3D10_SRV_DIMENSION_TEXTURE2D = 4,
767    D3D10_SRV_DIMENSION_TEXTURE2DARRAY = 5,
768    D3D10_SRV_DIMENSION_TEXTURE2DMS = 6,
769    D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
770    D3D10_SRV_DIMENSION_TEXTURE3D = 8,
771    D3D10_SRV_DIMENSION_TEXTURECUBE = 9,
772    D3D10_1_SRV_DIMENSION_UNKNOWN = 0,
773    D3D10_1_SRV_DIMENSION_BUFFER = 1,
774    D3D10_1_SRV_DIMENSION_TEXTURE1D = 2,
775    D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = 3,
776    D3D10_1_SRV_DIMENSION_TEXTURE2D = 4,
777    D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = 5,
778    D3D10_1_SRV_DIMENSION_TEXTURE2DMS = 6,
779    D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
780    D3D10_1_SRV_DIMENSION_TEXTURE3D = 8,
781    D3D10_1_SRV_DIMENSION_TEXTURECUBE = 9,
782    D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
783    D3D11_SRV_DIMENSION_UNKNOWN = 0,
784    D3D11_SRV_DIMENSION_BUFFER = 1,
785    D3D11_SRV_DIMENSION_TEXTURE1D = 2,
786    D3D11_SRV_DIMENSION_TEXTURE1DARRAY = 3,
787    D3D11_SRV_DIMENSION_TEXTURE2D = 4,
788    D3D11_SRV_DIMENSION_TEXTURE2DARRAY = 5,
789    D3D11_SRV_DIMENSION_TEXTURE2DMS = 6,
790    D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
791    D3D11_SRV_DIMENSION_TEXTURE3D = 8,
792    D3D11_SRV_DIMENSION_TEXTURECUBE = 9,
793    D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
794    D3D11_SRV_DIMENSION_BUFFEREX = 11
795} D3D_SRV_DIMENSION;
796typedef enum D3D_REGISTER_COMPONENT_TYPE {
797    D3D_REGISTER_COMPONENT_UNKNOWN = 0,
798    D3D_REGISTER_COMPONENT_UINT32 = 1,
799    D3D_REGISTER_COMPONENT_SINT32 = 2,
800    D3D_REGISTER_COMPONENT_FLOAT32 = 3,
801    D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
802    D3D10_REGISTER_COMPONENT_UINT32 = 1,
803    D3D10_REGISTER_COMPONENT_SINT32 = 2,
804    D3D10_REGISTER_COMPONENT_FLOAT32 = 3
805} D3D_REGISTER_COMPONENT_TYPE;
806typedef enum D3D_RESOURCE_RETURN_TYPE {
807    D3D_RETURN_TYPE_UNORM = 1,
808    D3D_RETURN_TYPE_SNORM = 2,
809    D3D_RETURN_TYPE_SINT = 3,
810    D3D_RETURN_TYPE_UINT = 4,
811    D3D_RETURN_TYPE_FLOAT = 5,
812    D3D_RETURN_TYPE_MIXED = 6,
813    D3D_RETURN_TYPE_DOUBLE = 7,
814    D3D_RETURN_TYPE_CONTINUED = 8,
815    D3D10_RETURN_TYPE_UNORM = 1,
816    D3D10_RETURN_TYPE_SNORM = 2,
817    D3D10_RETURN_TYPE_SINT = 3,
818    D3D10_RETURN_TYPE_UINT = 4,
819    D3D10_RETURN_TYPE_FLOAT = 5,
820    D3D10_RETURN_TYPE_MIXED = 6,
821    D3D11_RETURN_TYPE_UNORM = 1,
822    D3D11_RETURN_TYPE_SNORM = 2,
823    D3D11_RETURN_TYPE_SINT = 3,
824    D3D11_RETURN_TYPE_UINT = 4,
825    D3D11_RETURN_TYPE_FLOAT = 5,
826    D3D11_RETURN_TYPE_MIXED = 6,
827    D3D11_RETURN_TYPE_DOUBLE = 7,
828    D3D11_RETURN_TYPE_CONTINUED = 8
829} D3D_RESOURCE_RETURN_TYPE;
830typedef enum D3D_NAME {
831    D3D_NAME_UNDEFINED = 0,
832    D3D_NAME_POSITION = 1,
833    D3D_NAME_CLIP_DISTANCE = 2,
834    D3D_NAME_CULL_DISTANCE = 3,
835    D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
836    D3D_NAME_VIEWPORT_ARRAY_INDEX = 5,
837    D3D_NAME_VERTEX_ID = 6,
838    D3D_NAME_PRIMITIVE_ID = 7,
839    D3D_NAME_INSTANCE_ID = 8,
840    D3D_NAME_IS_FRONT_FACE = 9,
841    D3D_NAME_SAMPLE_INDEX = 10,
842    D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11,
843    D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12,
844    D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13,
845    D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14,
846    D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15,
847    D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16,
848    D3D_NAME_BARYCENTRICS = 23,
849    D3D_NAME_SHADINGRATE = 24,
850    D3D_NAME_CULLPRIMITIVE = 25,
851    D3D_NAME_TARGET = 64,
852    D3D_NAME_DEPTH = 65,
853    D3D_NAME_COVERAGE = 66,
854    D3D_NAME_DEPTH_GREATER_EQUAL = 67,
855    D3D_NAME_DEPTH_LESS_EQUAL = 68,
856    D3D_NAME_STENCIL_REF = 69,
857    D3D_NAME_INNER_COVERAGE = 70,
858    D3D10_NAME_UNDEFINED = 0,
859    D3D10_NAME_POSITION = 1,
860    D3D10_NAME_CLIP_DISTANCE = 2,
861    D3D10_NAME_CULL_DISTANCE = 3,
862    D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
863    D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5,
864    D3D10_NAME_VERTEX_ID = 6,
865    D3D10_NAME_PRIMITIVE_ID = 7,
866    D3D10_NAME_INSTANCE_ID = 8,
867    D3D10_NAME_IS_FRONT_FACE = 9,
868    D3D10_NAME_SAMPLE_INDEX = 10,
869    D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11,
870    D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12,
871    D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13,
872    D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14,
873    D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15,
874    D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16,
875    D3D10_NAME_TARGET = 64,
876    D3D10_NAME_DEPTH = 65,
877    D3D10_NAME_COVERAGE = 66,
878    D3D11_NAME_DEPTH_GREATER_EQUAL = 67,
879    D3D11_NAME_DEPTH_LESS_EQUAL = 68,
880    D3D11_NAME_STENCIL_REF = 69,
881    D3D11_NAME_INNER_COVERAGE = 70,
882    D3D12_NAME_BARYCENTRICS = 23,
883    D3D12_NAME_SHADINGRATE = 24,
884    D3D12_NAME_CULLPRIMITIVE = 25
885} D3D_NAME;
886typedef enum _D3D_SHADER_INPUT_TYPE {
887    D3D_SIT_CBUFFER = 0,
888    D3D_SIT_TBUFFER = 1,
889    D3D_SIT_TEXTURE = 2,
890    D3D_SIT_SAMPLER = 3,
891    D3D_SIT_UAV_RWTYPED = 4,
892    D3D_SIT_STRUCTURED = 5,
893    D3D_SIT_UAV_RWSTRUCTURED = 6,
894    D3D_SIT_BYTEADDRESS = 7,
895    D3D_SIT_UAV_RWBYTEADDRESS = 8,
896    D3D_SIT_UAV_APPEND_STRUCTURED = 9,
897    D3D_SIT_UAV_CONSUME_STRUCTURED = 10,
898    D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = 11,
899    D3D_SIT_RTACCELERATIONSTRUCTURE = 12,
900    D3D_SIT_UAV_FEEDBACKTEXTURE = 13,
901    D3D10_SIT_CBUFFER = 0,
902    D3D10_SIT_TBUFFER = 1,
903    D3D10_SIT_TEXTURE = 2,
904    D3D10_SIT_SAMPLER = 3,
905    D3D11_SIT_UAV_RWTYPED = 4,
906    D3D11_SIT_STRUCTURED = 5,
907    D3D11_SIT_UAV_RWSTRUCTURED = 6,
908    D3D11_SIT_BYTEADDRESS = 7,
909    D3D11_SIT_UAV_RWBYTEADDRESS = 8,
910    D3D11_SIT_UAV_APPEND_STRUCTURED = 9,
911    D3D11_SIT_UAV_CONSUME_STRUCTURED = 10,
912    D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = 11
913} D3D_SHADER_INPUT_TYPE;
914typedef enum _D3D_SHADER_CBUFFER_FLAGS {
915    D3D_CBF_USERPACKED = 0x1,
916    D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED,
917    D3D_CBF_FORCE_DWORD = 0x7fffffff
918} D3D_SHADER_CBUFFER_FLAGS;
919typedef enum _D3D_PARAMETER_FLAGS {
920    D3D_PF_NONE = 0,
921    D3D_PF_IN = 1,
922    D3D_PF_OUT = 2,
923    D3D_PF_FORCE_DWORD = 0x7fffffff
924} D3D_PARAMETER_FLAGS;
925typedef enum _D3D_INTERPOLATION_MODE {
926    D3D_INTERPOLATION_UNDEFINED = 0,
927    D3D_INTERPOLATION_CONSTANT = 1,
928    D3D_INTERPOLATION_LINEAR = 2,
929    D3D_INTERPOLATION_LINEAR_CENTROID = 3,
930    D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4,
931    D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5,
932    D3D_INTERPOLATION_LINEAR_SAMPLE = 6,
933    D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7
934} D3D_INTERPOLATION_MODE;
935DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);
936/* Begin additional prototypes for all interfaces */
937
938
939/* End additional prototypes */
940
941#ifdef __cplusplus
942}
943#endif
944
945#endif /* __d3dcommon_h__ */