zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

d3dcommon.h (34668B) - Raw


      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__
     23 typedef interface ID3D10Blob ID3D10Blob;
     24 #ifdef __cplusplus
     25 interface ID3D10Blob;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __ID3DDestructionNotifier_FWD_DEFINED__
     30 #define __ID3DDestructionNotifier_FWD_DEFINED__
     31 typedef interface ID3DDestructionNotifier ID3DDestructionNotifier;
     32 #ifdef __cplusplus
     33 interface ID3DDestructionNotifier;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __ID3DInclude_FWD_DEFINED__
     38 #define __ID3DInclude_FWD_DEFINED__
     39 typedef interface ID3DInclude ID3DInclude;
     40 #ifdef __cplusplus
     41 interface 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
     51 extern "C" {
     52 #endif
     53 
     54 typedef struct _D3D_SHADER_MACRO {
     55     const char *Name;
     56     const char *Definition;
     57 } D3D_SHADER_MACRO;
     58 typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO;
     59 /*****************************************************************************
     60  * ID3D10Blob interface
     61  */
     62 #ifndef __ID3D10Blob_INTERFACE_DEFINED__
     63 #define __ID3D10Blob_INTERFACE_DEFINED__
     64 
     65 DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac,0x58, 0x0d,0x98,0x9c,0x3a,0x01,0x02);
     66 #if defined(__cplusplus) && !defined(CINTERFACE)
     67 MIDL_INTERFACE("8ba5fb08-5195-40e2-ac58-0d989c3a0102")
     68 ID3D10Blob : 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
     81 typedef 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 
    106 interface 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 ***/
    121 static inline HRESULT ID3D10Blob_QueryInterface(ID3D10Blob* This,REFIID riid,void **ppvObject) {
    122     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    123 }
    124 static inline ULONG ID3D10Blob_AddRef(ID3D10Blob* This) {
    125     return This->lpVtbl->AddRef(This);
    126 }
    127 static inline ULONG ID3D10Blob_Release(ID3D10Blob* This) {
    128     return This->lpVtbl->Release(This);
    129 }
    130 /*** ID3D10Blob methods ***/
    131 static inline void * ID3D10Blob_GetBufferPointer(ID3D10Blob* This) {
    132     return This->lpVtbl->GetBufferPointer(This);
    133 }
    134 static 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 
    145 typedef ID3D10Blob *LPD3D10BLOB;
    146 typedef ID3D10Blob ID3DBlob;
    147 typedef ID3DBlob *LPD3DBLOB;
    148 #define IID_ID3DBlob IID_ID3D10Blob
    149 typedef void (__stdcall *PFN_DESTRUCTION_CALLBACK)(void *data);
    150 /*****************************************************************************
    151  * ID3DDestructionNotifier interface
    152  */
    153 #ifndef __ID3DDestructionNotifier_INTERFACE_DEFINED__
    154 #define __ID3DDestructionNotifier_INTERFACE_DEFINED__
    155 
    156 DEFINE_GUID(IID_ID3DDestructionNotifier, 0xa06eb39a, 0x50da, 0x425b, 0x8c,0x31, 0x4e,0xec,0xd6,0xc2,0x70,0xf3);
    157 #if defined(__cplusplus) && !defined(CINTERFACE)
    158 MIDL_INTERFACE("a06eb39a-50da-425b-8c31-4eecd6c270f3")
    159 ID3DDestructionNotifier : 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
    174 typedef 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 
    203 interface 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 ***/
    218 static inline HRESULT ID3DDestructionNotifier_QueryInterface(ID3DDestructionNotifier* This,REFIID riid,void **ppvObject) {
    219     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    220 }
    221 static inline ULONG ID3DDestructionNotifier_AddRef(ID3DDestructionNotifier* This) {
    222     return This->lpVtbl->AddRef(This);
    223 }
    224 static inline ULONG ID3DDestructionNotifier_Release(ID3DDestructionNotifier* This) {
    225     return This->lpVtbl->Release(This);
    226 }
    227 /*** ID3DDestructionNotifier methods ***/
    228 static 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 }
    231 static 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 
    242 typedef 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)
    256 interface 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
    275 typedef 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 
    294 interface 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 ***/
    305 static 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 }
    308 static 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 
    319 typedef ID3DInclude *LPD3DINCLUDE;
    320 typedef 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;
    328 typedef 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
    356 typedef 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;
    375 typedef 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;
    386 typedef 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;
    499 typedef 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;
    513 typedef 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;
    597 typedef 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;
    693 typedef 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;
    703 typedef 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;
    715 typedef 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;
    727 typedef 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;
    737 typedef 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;
    749 typedef 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;
    796 typedef 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;
    806 typedef 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;
    830 typedef 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;
    886 typedef 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;
    914 typedef 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;
    919 typedef 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;
    925 typedef 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;
    935 DEFINE_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__ */