| 
| #define  | __midl | 
| #define  | _In_ | 
| #define  | _In_z_ | 
| #define  | _In_opt_ | 
| #define  | _Out_ | 
| #define  | _Out_opt_ | 
| #define  | _Inout_ | 
| #define  | _Inout_opt_ | 
| #define  | _COM_Outptr_ | 
| #define  | _COM_Outptr_opt_ | 
| #define  | _Check_return_ | 
| #define  | _Null_terminated_ | 
| #define  | _Return_type_success_(expr) | 
| #define  | _Post_equal_to_(e) | 
| #define  | _Post_satisfies_(expr) | 
| #define  | _In_range_(lb,  ub) | 
| #define  | _In_reads_(size) | 
| #define  | _In_reads_opt_(size) | 
| #define  | _In_reads_bytes_(size) | 
| #define  | _In_reads_bytes_opt_(size) | 
| #define  | _Out_writes_(size) | 
| #define  | _Out_writes_opt_(size) | 
| #define  | _Out_writes_bytes_(size) | 
| #define  | _Out_writes_bytes_opt_(size) | 
| #define  | _Inout_updates_bytes_(size) | 
| #define  | _Field_size_full_(size) | 
| #define  | _Field_size_bytes_full_(size) | 
| #define  | _Outptr_opt_result_bytebuffer_(size) | 
| #define  | _Must_inspect_result_ | 
| #define  | __specstrings | 
| #define  | _Always_(annos) | 
| #define  | __RPC_string | 
| #define  | __RPC__deref_out | 
| #define  | WINAPI   __stdcall | 
| #define  | VOID   void | 
| #define  | CONST   const | 
| #define  | far | 
| #define  | near | 
| #define  | FAR   far | 
| #define  | NEAR   near | 
| #define  | FALSE   0 | 
| #define  | TRUE   1 | 
| #define  | _W64 | 
| #define  | __int3264   INT32 | 
| #define  | STRICT   1 | 
| #define  | STDMETHODCALLTYPE   __export __stdcall | 
| #define  | STDMETHODVCALLTYPE   __export __cdecl | 
| #define  | STDAPICALLTYPE   __export __stdcall | 
| #define  | STDAPIVCALLTYPE   __export __cdecl | 
| #define  | DUMMYSTRUCTNAME | 
| #define  | EXTERN_C   extern | 
| #define  | EXTERN_C_START | 
| #define  | EXTERN_C_END | 
| #define  | DECLSPEC_IMPORT | 
| #define  | DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) | 
| #define  | DECLSPEC_NOTHROW | 
| #define  | DECLARE_HANDLE(name) | 
| #define  | _HRESULT_TYPEDEF_(_sc) | 
| #define  | S_OK   _HRESULT_TYPEDEF_(0x0L) | 
| #define  | E_UNEXPECTED   _HRESULT_TYPEDEF_(0x8000FFFFL) | 
| #define  | DXGI_ERROR_NOT_FOUND   _HRESULT_TYPEDEF_(0x887a0002) | 
| #define  | SUCCEEDED(hr) | 
| #define  | FAILED(hr) | 
| #define  | __MIDL_CONST   const | 
| #define  | REFIID   const IID *__MIDL_CONST | 
| #define  | REFGUID   const GUID *__MIDL_CONST | 
| #define  | DECLSPEC_SELECTANY | 
| #define  | DEFINE_GUID(name,  l,  w1,  w2,  b1,  b2,  b3,  b4,  b5,  b6,  b7,  b8) | 
| #define  | __RPC_API | 
| #define  | __RPC_USER | 
| #define  | __RPC_STUB | 
| #define  | RPC_ENTRY | 
| #define  | __RPC_FAR | 
| #define  | UUID_DEFINED | 
| #define  | uuid_t   UUID | 
| #define  | rpc_binding_handle_t   RPC_BINDING_HANDLE | 
| #define  | RPC_MGR_EPV   void | 
| #define  | DECLSPEC_NOVTABLE | 
| #define  | DECLSPEC_UUID(x) | 
| #define  | MIDL_INTERFACE(x) | 
| #define  | BEGIN_INTERFACE | 
| #define  | END_INTERFACE | 
| #define  | WINOLEAPI   EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE | 
| #define  | WINOLEAPI_(type) | 
| #define  | COM_DECLSPEC_NOTHROW   DECLSPEC_NOTHROW | 
| #define  | interface   struct | 
| #define  | STDMETHOD(method) | 
| #define  | STDMETHOD_(type,  method) | 
| #define  | STDMETHODV(method) | 
| #define  | STDMETHODV_(type,  method) | 
| #define  | IFACEMETHOD(method) | 
| #define  | IFACEMETHOD_(type,  method) | 
| #define  | IFACEMETHODV(method) | 
| #define  | IFACEMETHODV_(type,  method) | 
| #define  | PURE | 
| #define  | THIS_   INTERFACE FAR *This, | 
| #define  | THIS   INTERFACE FAR *This | 
| #define  | CONST_VTBL | 
| #define  | DECLARE_INTERFACE(iface) | 
| #define  | DECLARE_INTERFACE_(iface,  baseiface) | 
| #define  | DECLARE_INTERFACE_IID(iface,  iid) | 
| #define  | DECLARE_INTERFACE_IID_(iface,  baseiface,  iid) | 
| #define  | __IUnknown_FWD_DEFINED__ | 
| #define  | __IUnknown_INTERFACE_DEFINED__ | 
| #define  | OLESTR(str) | 
| #define  | INTERFACE   ID3DInclude | 
| #define  | __ID3D10Blob_FWD_DEFINED__ | 
| #define  | IID_ID3DBlob   IID_ID3D10Blob | 
| #define  | __ID3D12Object_FWD_DEFINED__ | 
| #define  | __ID3D12DeviceChild_FWD_DEFINED__ | 
| #define  | __ID3D12RootSignature_FWD_DEFINED__ | 
| #define  | __ID3D12RootSignatureDeserializer_FWD_DEFINED__ | 
| #define  | __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ | 
| #define  | __ID3D12Pageable_FWD_DEFINED__ | 
| #define  | __ID3D12Heap_FWD_DEFINED__ | 
| #define  | __ID3D12Resource_FWD_DEFINED__ | 
| #define  | __ID3D12CommandAllocator_FWD_DEFINED__ | 
| #define  | __ID3D12Fence_FWD_DEFINED__ | 
| #define  | __ID3D12PipelineState_FWD_DEFINED__ | 
| #define  | __ID3D12DescriptorHeap_FWD_DEFINED__ | 
| #define  | __ID3D12QueryHeap_FWD_DEFINED__ | 
| #define  | __ID3D12CommandSignature_FWD_DEFINED__ | 
| #define  | __ID3D12CommandList_FWD_DEFINED__ | 
| #define  | __ID3D12GraphicsCommandList_FWD_DEFINED__ | 
| #define  | __ID3D12GraphicsCommandList1_FWD_DEFINED__ | 
| #define  | __ID3D12CommandQueue_FWD_DEFINED__ | 
| #define  | __ID3D12Device_FWD_DEFINED__ | 
| #define  | __ID3D12PipelineLibrary_FWD_DEFINED__ | 
| #define  | __ID3D12PipelineLibrary1_FWD_DEFINED__ | 
| #define  | __ID3D12Device1_FWD_DEFINED__ | 
| #define  | __ID3D12Device2_FWD_DEFINED__ | 
| #define  | __ID3D12Tools_FWD_DEFINED__ | 
| #define  | D3D12_SHADER_COMPONENT_MAPPING_MASK   0x7 | 
| #define  | D3D12_SHADER_COMPONENT_MAPPING_SHIFT   3 | 
| #define  | D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES   (1 << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 4)) | 
| #define  | D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,  Src1,  Src2,  Src3) | 
| #define  | D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,  Mapping) | 
| #define  | D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING   D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0, 1, 2, 3) | 
| #define  | D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE   (16) | 
| #define  | D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND   (0xffffffff) | 
| #define  | __ID3D12Resource_INTERFACE_DEFINED__ | 
| #define  | __ID3D12CommandAllocator_INTERFACE_DEFINED__ | 
| #define  | __ID3D12CommandList_INTERFACE_DEFINED__ | 
| #define  | __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ | 
| #define  | __ID3D12CommandQueue_INTERFACE_DEFINED__ | 
| #define  | LUID_DEFINED   1 | 
| #define  | D3D12_REQ_SUBRESOURCES   (30720) | 
| #define  | __ID3D12Device_INTERFACE_DEFINED__ | 
| #define  | __ID3D12Fence_INTERFACE_DEFINED__ | 
| #define  | __ID3D12PipelineState_INTERFACE_DEFINED__ | 
| #define  | __ID3D12DescriptorHeap_INTERFACE_DEFINED__ | 
| #define  | __ID3D12QueryHeap_INTERFACE_DEFINED__ | 
| #define  | __ID3D12Debug_FWD_DEFINED__ | 
| #define  | __ID3D12Debug_INTERFACE_DEFINED__ | 
| #define  | __IDXGIObject_FWD_DEFINED__ | 
| #define  | __IDXGIAdapter_FWD_DEFINED__ | 
| #define  | __IDXGIOutput_FWD_DEFINED__ | 
| #define  | __IDXGISwapChain_FWD_DEFINED__ | 
| #define  | __IDXGIFactory_FWD_DEFINED__ | 
| #define  | __IDXGIFactory1_FWD_DEFINED__ | 
| #define  | __IDXGIAdapter1_FWD_DEFINED__ | 
| #define  | __IDXGIObject_INTERFACE_DEFINED__ | 
| #define  | __IDXGIFactory_INTERFACE_DEFINED__ | 
| #define  | __IDXGIAdapter_INTERFACE_DEFINED__ | 
| #define  | __IDXGIFactory1_INTERFACE_DEFINED__ | 
| #define  | __IDXGIAdapter1_INTERFACE_DEFINED__ | 
| #define  | D3DCOMPILE_DEBUG   (1 << 0) | 
| #define  | D3DCOMPILE_SKIP_VALIDATION   (1 << 1) | 
| #define  | D3DCOMPILE_SKIP_OPTIMIZATION   (1 << 2) | 
| #define  | D3DCOMPILE_PACK_MATRIX_ROW_MAJOR   (1 << 3) | 
| #define  | D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR   (1 << 4) | 
| #define  | D3DCOMPILE_PARTIAL_PRECISION   (1 << 5) | 
| #define  | D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT   (1 << 6) | 
| #define  | D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT   (1 << 7) | 
| #define  | D3DCOMPILE_NO_PRESHADER   (1 << 8) | 
| #define  | D3DCOMPILE_AVOID_FLOW_CONTROL   (1 << 9) | 
| #define  | D3DCOMPILE_PREFER_FLOW_CONTROL   (1 << 10) | 
| #define  | D3DCOMPILE_ENABLE_STRICTNESS   (1 << 11) | 
| #define  | D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY   (1 << 12) | 
| #define  | D3DCOMPILE_IEEE_STRICTNESS   (1 << 13) | 
| #define  | D3DCOMPILE_OPTIMIZATION_LEVEL0   (1 << 14) | 
| #define  | D3DCOMPILE_OPTIMIZATION_LEVEL1   0 | 
| #define  | D3DCOMPILE_OPTIMIZATION_LEVEL2   ((1 << 14) | (1 << 15)) | 
| #define  | D3DCOMPILE_OPTIMIZATION_LEVEL3   (1 << 15) | 
| #define  | D3DCOMPILE_RESERVED16   (1 << 16) | 
| #define  | D3DCOMPILE_RESERVED17   (1 << 17) | 
| #define  | D3DCOMPILE_WARNINGS_ARE_ERRORS   (1 << 18) | 
| #define  | D3DCOMPILE_RESOURCES_MAY_ALIAS   (1 << 19) | 
| #define  | D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES   (1 << 20) | 
| #define  | D3DCOMPILE_ALL_RESOURCES_BOUND   (1 << 21) | 
| #define  | WINBASEAPI   DECLSPEC_IMPORT | 
| #define  | _Ret_maybenull_ | 
| #define  | _Post_ptr_invalid_ | 
| #define  | STATUS_WAIT_0   ((DWORD)0x00000000L) | 
| #define  | WAIT_OBJECT_0   ((STATUS_WAIT_0) + 0) | 
| #define  | CreateEvent   CreateEventA | 
 | 
| typedef char  | CHAR | 
| typedef short  | SHORT | 
| typedef unsigned char  | BYTE | 
| typedef unsigned short  | WORD | 
| typedef long  | LONG | 
| typedef int  | INT | 
| typedef unsigned long  | ULONG | 
| typedef unsigned int  | UINT | 
| typedef unsigned long  | DWORD | 
| typedef float  | FLOAT | 
| typedef CONST void far *  | LPCVOID | 
| typedef void far *  | LPVOID | 
| typedef INT  | BOOL | 
| typedef wchar_t  | WCHAR | 
| typedef _Null_terminated_ CHAR *  | NPSTR | 
| typedef _Null_terminated_ CHAR *  | LPSTR | 
| typedef _Null_terminated_ CHAR *  | PSTR | 
| typedef _Null_terminated_ CONST CHAR *  | LPCSTR | 
| typedef _Null_terminated_ CONST CHAR *  | PCSTR | 
| typedef _Null_terminated_ CONST WCHAR *  | LPCWSTR | 
| typedef _Null_terminated_ CONST WCHAR *  | PCWSTR | 
| typedef CHAR  | INT8 | 
| typedef CHAR *  | PINT8 | 
| typedef SHORT  | INT16 | 
| typedef SHORT *  | PINT16 | 
| typedef INT  | INT32 | 
| typedef INT *  | PINT32 | 
| typedef BYTE  | UINT8 | 
| typedef BYTE *  | PUINT8 | 
| typedef WORD  | UINT16 | 
| typedef WORD *  | PUINT16 | 
| typedef UINT  | UINT32 | 
| typedef UINT *  | PUINT32 | 
| typedef __int64  | INT64 | 
| typedef __int64 *  | PINT64 | 
| typedef unsigned __int64  | UINT64 | 
| typedef unsigned __int64 *  | PUINT64 | 
| typedef _W64 INT32  | INT_PTR | 
| typedef _W64 INT32 *  | PINT_PTR | 
| typedef _W64 UINT32  | UINT_PTR | 
| typedef _W64 UINT32 *  | PUINT_PTR | 
| typedef _W64 INT32  | LONG_PTR | 
| typedef _W64 INT32 *  | PLONG_PTR | 
| typedef _W64 UINT32  | ULONG_PTR | 
| typedef _W64 UINT32 *  | PULONG_PTR | 
| typedef ULONG_PTR  | SIZE_T | 
| typedef ULONG_PTR *  | PSIZE_T | 
| typedef LONG_PTR  | SSIZE_T | 
| typedef LONG_PTR *  | PSSIZE_T | 
| typedef struct _SECURITY_ATTRIBUTES  | SECURITY_ATTRIBUTES | 
| typedef struct _SECURITY_ATTRIBUTES *  | PSECURITY_ATTRIBUTES | 
| typedef struct _SECURITY_ATTRIBUTES *  | LPSECURITY_ATTRIBUTES | 
| typedef __int64  | LONGLONG | 
| typedef union _LARGE_INTEGER  | LARGE_INTEGER | 
| typedef void *  | HANDLE | 
| typedef HANDLE *  | PHANDLE | 
| typedef struct tagRECT  | RECT | 
| typedef struct tagRECT *  | PRECT | 
| typedef struct tagRECT *  | NPRECT | 
| typedef struct tagRECT *  | LPRECT | 
| typedef HINSTANCE  | HMODULE | 
| typedef struct _GUID  | GUID | 
| typedef GUID  | IID | 
| typedef IID *  | LPIID | 
| typedef void *  | I_RPC_HANDLE | 
| typedef GUID  | UUID | 
| typedef I_RPC_HANDLE  | RPC_BINDING_HANDLE | 
| typedef RPC_BINDING_HANDLE  | handle_t | 
| typedef struct _RPC_VERSION  | RPC_VERSION | 
| typedef struct _RPC_SYNTAX_IDENTIFIER  | RPC_SYNTAX_IDENTIFIER | 
| typedef struct _RPC_SYNTAX_IDENTIFIER *  | PRPC_SYNTAX_IDENTIFIER | 
| typedef struct _RPC_MESSAGE  | RPC_MESSAGE | 
| typedef struct _RPC_MESSAGE *  | PRPC_MESSAGE | 
| typedef interface IRpcStubBuffer  | IRpcStubBuffer | 
| typedef interface IRpcChannelBuffer  | IRpcChannelBuffer | 
| typedef interface IUnknown  | IUnknown | 
| typedef IUnknown *  | LPUNKNOWN | 
| typedef struct IUnknownVtbl  | IUnknownVtbl | 
| typedef char  | OLECHAR | 
| typedef LPSTR  | LPOLESTR | 
| typedef LPCSTR  | LPCOLESTR | 
| typedef enum D3D_FEATURE_LEVEL  | D3D_FEATURE_LEVEL | 
| typedef enum D3D_PRIMITIVE_TOPOLOGY  | D3D_PRIMITIVE_TOPOLOGY | 
| typedef enum DXGI_FORMAT  | DXGI_FORMAT | 
| typedef struct DXGI_SAMPLE_DESC  | DXGI_SAMPLE_DESC | 
| typedef enum _D3D_INCLUDE_TYPE  | D3D_INCLUDE_TYPE | 
| typedef interface ID3DInclude  | ID3DInclude | 
| typedef struct _D3D_SHADER_MACRO  | D3D_SHADER_MACRO | 
| typedef struct _D3D_SHADER_MACRO *  | LPD3D_SHADER_MACRO | 
| typedef interface ID3D10Blob  | ID3D10Blob | 
| typedef struct ID3D10BlobVtbl  | ID3D10BlobVtbl | 
| typedef interface ID3D10Blob *  | LPD3D10BLOB | 
| typedef ID3D10Blob  | ID3DBlob | 
| typedef ID3DBlob *  | LPD3DBLOB | 
| typedef interface ID3D12Object  | ID3D12Object | 
| typedef interface ID3D12DeviceChild  | ID3D12DeviceChild | 
| typedef interface ID3D12RootSignature  | ID3D12RootSignature | 
| typedef interface ID3D12RootSignatureDeserializer  | ID3D12RootSignatureDeserializer | 
| typedef interface ID3D12VersionedRootSignatureDeserializer  | ID3D12VersionedRootSignatureDeserializer | 
| typedef interface ID3D12Pageable  | ID3D12Pageable | 
| typedef interface ID3D12Heap  | ID3D12Heap | 
| typedef interface ID3D12Resource  | ID3D12Resource | 
| typedef interface ID3D12CommandAllocator  | ID3D12CommandAllocator | 
| typedef interface ID3D12Fence  | ID3D12Fence | 
| typedef interface ID3D12PipelineState  | ID3D12PipelineState | 
| typedef interface ID3D12DescriptorHeap  | ID3D12DescriptorHeap | 
| typedef interface ID3D12QueryHeap  | ID3D12QueryHeap | 
| typedef interface ID3D12CommandSignature  | ID3D12CommandSignature | 
| typedef interface ID3D12CommandList  | ID3D12CommandList | 
| typedef interface ID3D12GraphicsCommandList  | ID3D12GraphicsCommandList | 
| typedef interface ID3D12GraphicsCommandList1  | ID3D12GraphicsCommandList1 | 
| typedef interface ID3D12CommandQueue  | ID3D12CommandQueue | 
| typedef interface ID3D12Device  | ID3D12Device | 
| typedef interface ID3D12PipelineLibrary  | ID3D12PipelineLibrary | 
| typedef interface ID3D12PipelineLibrary1  | ID3D12PipelineLibrary1 | 
| typedef interface ID3D12Device1  | ID3D12Device1 | 
| typedef interface ID3D12Device2  | ID3D12Device2 | 
| typedef interface ID3D12Tools  | ID3D12Tools | 
| typedef struct ID3D12ObjectVtbl  | ID3D12ObjectVtbl | 
| typedef struct ID3D12DeviceChildVtbl  | ID3D12DeviceChildVtbl | 
| typedef struct ID3D12RootSignatureVtbl  | ID3D12RootSignatureVtbl | 
| typedef struct ID3D12PageableVtbl  | ID3D12PageableVtbl | 
| typedef struct D3D12_RANGE  | D3D12_RANGE | 
| typedef struct D3D12_BOX  | D3D12_BOX | 
| typedef enum D3D12_COMMAND_LIST_TYPE  | D3D12_COMMAND_LIST_TYPE | 
| typedef enum D3D12_COMMAND_QUEUE_FLAGS  | D3D12_COMMAND_QUEUE_FLAGS | 
| typedef enum D3D12_COMMAND_QUEUE_PRIORITY  | D3D12_COMMAND_QUEUE_PRIORITY | 
| typedef struct D3D12_COMMAND_QUEUE_DESC  | D3D12_COMMAND_QUEUE_DESC | 
| typedef struct D3D12_SHADER_BYTECODE  | D3D12_SHADER_BYTECODE | 
| typedef struct D3D12_SO_DECLARATION_ENTRY  | D3D12_SO_DECLARATION_ENTRY | 
| typedef struct D3D12_STREAM_OUTPUT_DESC  | D3D12_STREAM_OUTPUT_DESC | 
| typedef enum D3D12_BLEND  | D3D12_BLEND | 
| typedef enum D3D12_BLEND_OP  | D3D12_BLEND_OP | 
| typedef enum D3D12_LOGIC_OP  | D3D12_LOGIC_OP | 
| typedef struct D3D12_RENDER_TARGET_BLEND_DESC  | D3D12_RENDER_TARGET_BLEND_DESC | 
| typedef struct D3D12_BLEND_DESC  | D3D12_BLEND_DESC | 
| typedef enum D3D12_FILL_MODE  | D3D12_FILL_MODE | 
| typedef enum D3D12_CULL_MODE  | D3D12_CULL_MODE | 
| typedef enum D3D12_CONSERVATIVE_RASTERIZATION_MODE  | D3D12_CONSERVATIVE_RASTERIZATION_MODE | 
| typedef struct D3D12_RASTERIZER_DESC  | D3D12_RASTERIZER_DESC | 
| typedef enum D3D12_DEPTH_WRITE_MASK  | D3D12_DEPTH_WRITE_MASK | 
| typedef enum D3D12_COMPARISON_FUNC  | D3D12_COMPARISON_FUNC | 
| typedef enum D3D12_STENCIL_OP  | D3D12_STENCIL_OP | 
| typedef struct D3D12_DEPTH_STENCILOP_DESC  | D3D12_DEPTH_STENCILOP_DESC | 
| typedef struct D3D12_DEPTH_STENCIL_DESC  | D3D12_DEPTH_STENCIL_DESC | 
| typedef enum D3D12_INPUT_CLASSIFICATION  | D3D12_INPUT_CLASSIFICATION | 
| typedef struct D3D12_INPUT_ELEMENT_DESC  | D3D12_INPUT_ELEMENT_DESC | 
| typedef struct D3D12_INPUT_LAYOUT_DESC  | D3D12_INPUT_LAYOUT_DESC | 
| typedef enum D3D12_PIPELINE_STATE_FLAGS  | D3D12_PIPELINE_STATE_FLAGS | 
| typedef enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE  | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE | 
| typedef enum D3D12_PRIMITIVE_TOPOLOGY_TYPE  | D3D12_PRIMITIVE_TOPOLOGY_TYPE | 
| typedef struct D3D12_CACHED_PIPELINE_STATE  | D3D12_CACHED_PIPELINE_STATE | 
| typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC  | D3D12_GRAPHICS_PIPELINE_STATE_DESC | 
| typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC  | D3D12_COMPUTE_PIPELINE_STATE_DESC | 
| typedef struct D3D12_RESOURCE_ALLOCATION_INFO  | D3D12_RESOURCE_ALLOCATION_INFO | 
| typedef enum D3D12_RESOURCE_DIMENSION  | D3D12_RESOURCE_DIMENSION | 
| typedef enum D3D12_TEXTURE_LAYOUT  | D3D12_TEXTURE_LAYOUT | 
| typedef enum D3D12_RESOURCE_FLAGS  | D3D12_RESOURCE_FLAGS | 
| typedef struct D3D12_RESOURCE_DESC  | D3D12_RESOURCE_DESC | 
| typedef enum D3D12_CPU_PAGE_PROPERTY  | D3D12_CPU_PAGE_PROPERTY | 
| typedef enum D3D12_MEMORY_POOL  | D3D12_MEMORY_POOL | 
| typedef enum D3D12_HEAP_TYPE  | D3D12_HEAP_TYPE | 
| typedef struct D3D12_HEAP_PROPERTIES  | D3D12_HEAP_PROPERTIES | 
| typedef enum D3D12_HEAP_FLAGS  | D3D12_HEAP_FLAGS | 
| typedef enum D3D12_TILE_MAPPING_FLAGS  | D3D12_TILE_MAPPING_FLAGS | 
| typedef enum D3D12_TILE_COPY_FLAGS  | D3D12_TILE_COPY_FLAGS | 
| typedef enum D3D12_RESOURCE_STATES  | D3D12_RESOURCE_STATES | 
| typedef struct D3D12_DEPTH_STENCIL_VALUE  | D3D12_DEPTH_STENCIL_VALUE | 
| typedef struct D3D12_CLEAR_VALUE  | D3D12_CLEAR_VALUE | 
| typedef enum D3D12_FEATURE  | D3D12_FEATURE | 
| typedef enum D3D12_CLEAR_FLAGS  | D3D12_CLEAR_FLAGS | 
| typedef enum D3D12_FENCE_FLAGS  | D3D12_FENCE_FLAGS | 
| typedef enum D3D12_DESCRIPTOR_HEAP_TYPE  | D3D12_DESCRIPTOR_HEAP_TYPE | 
| typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS  | D3D12_DESCRIPTOR_HEAP_FLAGS | 
| typedef enum D3D12_SHADER_COMPONENT_MAPPING  | D3D12_SHADER_COMPONENT_MAPPING | 
| typedef enum D3D12_BUFFER_SRV_FLAGS  | D3D12_BUFFER_SRV_FLAGS | 
| typedef struct D3D12_BUFFER_SRV  | D3D12_BUFFER_SRV | 
| typedef struct D3D12_TEX1D_SRV  | D3D12_TEX1D_SRV | 
| typedef struct D3D12_TEX1D_ARRAY_SRV  | D3D12_TEX1D_ARRAY_SRV | 
| typedef struct D3D12_TEX2D_SRV  | D3D12_TEX2D_SRV | 
| typedef struct D3D12_TEX2D_ARRAY_SRV  | D3D12_TEX2D_ARRAY_SRV | 
| typedef struct D3D12_TEX3D_SRV  | D3D12_TEX3D_SRV | 
| typedef struct D3D12_TEXCUBE_SRV  | D3D12_TEXCUBE_SRV | 
| typedef struct D3D12_TEXCUBE_ARRAY_SRV  | D3D12_TEXCUBE_ARRAY_SRV | 
| typedef struct D3D12_TEX2DMS_SRV  | D3D12_TEX2DMS_SRV | 
| typedef struct D3D12_TEX2DMS_ARRAY_SRV  | D3D12_TEX2DMS_ARRAY_SRV | 
| typedef enum D3D12_SRV_DIMENSION  | D3D12_SRV_DIMENSION | 
| typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC  | D3D12_SHADER_RESOURCE_VIEW_DESC | 
| typedef UINT64  | D3D12_GPU_VIRTUAL_ADDRESS | 
| typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC  | D3D12_CONSTANT_BUFFER_VIEW_DESC | 
| typedef struct D3D12_CPU_DESCRIPTOR_HANDLE  | D3D12_CPU_DESCRIPTOR_HANDLE | 
| typedef struct D3D12_GPU_DESCRIPTOR_HANDLE  | D3D12_GPU_DESCRIPTOR_HANDLE | 
| typedef enum D3D12_BUFFER_UAV_FLAGS  | D3D12_BUFFER_UAV_FLAGS | 
| typedef struct D3D12_BUFFER_UAV  | D3D12_BUFFER_UAV | 
| typedef struct D3D12_TEX1D_UAV  | D3D12_TEX1D_UAV | 
| typedef struct D3D12_TEX1D_ARRAY_UAV  | D3D12_TEX1D_ARRAY_UAV | 
| typedef struct D3D12_TEX2D_UAV  | D3D12_TEX2D_UAV | 
| typedef struct D3D12_TEX2D_ARRAY_UAV  | D3D12_TEX2D_ARRAY_UAV | 
| typedef struct D3D12_TEX3D_UAV  | D3D12_TEX3D_UAV | 
| typedef enum D3D12_UAV_DIMENSION  | D3D12_UAV_DIMENSION | 
| typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC  | D3D12_UNORDERED_ACCESS_VIEW_DESC | 
| typedef struct D3D12_BUFFER_RTV  | D3D12_BUFFER_RTV | 
| typedef struct D3D12_TEX1D_RTV  | D3D12_TEX1D_RTV | 
| typedef struct D3D12_TEX1D_ARRAY_RTV  | D3D12_TEX1D_ARRAY_RTV | 
| typedef struct D3D12_TEX2D_RTV  | D3D12_TEX2D_RTV | 
| typedef struct D3D12_TEX2DMS_RTV  | D3D12_TEX2DMS_RTV | 
| typedef struct D3D12_TEX2D_ARRAY_RTV  | D3D12_TEX2D_ARRAY_RTV | 
| typedef struct D3D12_TEX2DMS_ARRAY_RTV  | D3D12_TEX2DMS_ARRAY_RTV | 
| typedef struct D3D12_TEX3D_RTV  | D3D12_TEX3D_RTV | 
| typedef enum D3D12_RTV_DIMENSION  | D3D12_RTV_DIMENSION | 
| typedef struct D3D12_RENDER_TARGET_VIEW_DESC  | D3D12_RENDER_TARGET_VIEW_DESC | 
| typedef struct D3D12_TEX1D_DSV  | D3D12_TEX1D_DSV | 
| typedef struct D3D12_TEX1D_ARRAY_DSV  | D3D12_TEX1D_ARRAY_DSV | 
| typedef struct D3D12_TEX2D_DSV  | D3D12_TEX2D_DSV | 
| typedef struct D3D12_TEX2D_ARRAY_DSV  | D3D12_TEX2D_ARRAY_DSV | 
| typedef struct D3D12_TEX2DMS_DSV  | D3D12_TEX2DMS_DSV | 
| typedef struct D3D12_TEX2DMS_ARRAY_DSV  | D3D12_TEX2DMS_ARRAY_DSV | 
| typedef enum D3D12_DSV_FLAGS  | D3D12_DSV_FLAGS | 
| typedef enum D3D12_DSV_DIMENSION  | D3D12_DSV_DIMENSION | 
| typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC  | D3D12_DEPTH_STENCIL_VIEW_DESC | 
| typedef enum D3D12_FILTER  | D3D12_FILTER | 
| typedef enum D3D12_TEXTURE_ADDRESS_MODE  | D3D12_TEXTURE_ADDRESS_MODE | 
| typedef struct D3D12_SAMPLER_DESC  | D3D12_SAMPLER_DESC | 
| typedef struct D3D12_DESCRIPTOR_HEAP_DESC  | D3D12_DESCRIPTOR_HEAP_DESC | 
| typedef struct D3D12_HEAP_DESC  | D3D12_HEAP_DESC | 
| typedef struct D3D12_SUBRESOURCE_FOOTPRINT  | D3D12_SUBRESOURCE_FOOTPRINT | 
| typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT  | D3D12_PLACED_SUBRESOURCE_FOOTPRINT | 
| typedef enum D3D12_QUERY_HEAP_TYPE  | D3D12_QUERY_HEAP_TYPE | 
| typedef struct D3D12_QUERY_HEAP_DESC  | D3D12_QUERY_HEAP_DESC | 
| typedef enum D3D12_INDIRECT_ARGUMENT_TYPE  | D3D12_INDIRECT_ARGUMENT_TYPE | 
| typedef struct D3D12_INDIRECT_ARGUMENT_DESC  | D3D12_INDIRECT_ARGUMENT_DESC | 
| typedef struct D3D12_COMMAND_SIGNATURE_DESC  | D3D12_COMMAND_SIGNATURE_DESC | 
| typedef struct D3D12_PACKED_MIP_INFO  | D3D12_PACKED_MIP_INFO | 
| typedef struct D3D12_TILE_SHAPE  | D3D12_TILE_SHAPE | 
| typedef struct D3D12_SUBRESOURCE_TILING  | D3D12_SUBRESOURCE_TILING | 
| typedef struct D3D12_TILED_RESOURCE_COORDINATE  | D3D12_TILED_RESOURCE_COORDINATE | 
| typedef struct D3D12_TILE_REGION_SIZE  | D3D12_TILE_REGION_SIZE | 
| typedef enum D3D12_TILE_RANGE_FLAGS  | D3D12_TILE_RANGE_FLAGS | 
| typedef enum D3D12_TEXTURE_COPY_TYPE  | D3D12_TEXTURE_COPY_TYPE | 
| typedef struct D3D12_TEXTURE_COPY_LOCATION  | D3D12_TEXTURE_COPY_LOCATION | 
| typedef D3D_PRIMITIVE_TOPOLOGY  | D3D12_PRIMITIVE_TOPOLOGY | 
| typedef struct D3D12_INDEX_BUFFER_VIEW  | D3D12_INDEX_BUFFER_VIEW | 
| typedef struct D3D12_VIEWPORT  | D3D12_VIEWPORT | 
| typedef RECT  | D3D12_RECT | 
| typedef struct D3D12_RESOURCE_TRANSITION_BARRIER  | D3D12_RESOURCE_TRANSITION_BARRIER | 
| typedef struct D3D12_RESOURCE_ALIASING_BARRIER  | D3D12_RESOURCE_ALIASING_BARRIER | 
| typedef struct D3D12_RESOURCE_UAV_BARRIER  | D3D12_RESOURCE_UAV_BARRIER | 
| typedef enum D3D12_RESOURCE_BARRIER_FLAGS  | D3D12_RESOURCE_BARRIER_FLAGS | 
| typedef enum D3D12_RESOURCE_BARRIER_TYPE  | D3D12_RESOURCE_BARRIER_TYPE | 
| typedef struct D3D12_RESOURCE_BARRIER  | D3D12_RESOURCE_BARRIER | 
| typedef struct D3D12_VERTEX_BUFFER_VIEW  | D3D12_VERTEX_BUFFER_VIEW | 
| typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW  | D3D12_STREAM_OUTPUT_BUFFER_VIEW | 
| typedef struct D3D12_DISCARD_REGION  | D3D12_DISCARD_REGION | 
| typedef enum D3D12_QUERY_TYPE  | D3D12_QUERY_TYPE | 
| typedef enum D3D12_PREDICATION_OP  | D3D12_PREDICATION_OP | 
| typedef enum D3D12_ROOT_SIGNATURE_FLAGS  | D3D12_ROOT_SIGNATURE_FLAGS | 
| typedef enum D3D12_ROOT_PARAMETER_TYPE  | D3D12_ROOT_PARAMETER_TYPE | 
| typedef enum D3D12_DESCRIPTOR_RANGE_TYPE  | D3D12_DESCRIPTOR_RANGE_TYPE | 
| typedef struct D3D12_DESCRIPTOR_RANGE  | D3D12_DESCRIPTOR_RANGE | 
| typedef struct D3D12_ROOT_DESCRIPTOR_TABLE  | D3D12_ROOT_DESCRIPTOR_TABLE | 
| typedef struct D3D12_ROOT_CONSTANTS  | D3D12_ROOT_CONSTANTS | 
| typedef struct D3D12_ROOT_DESCRIPTOR  | D3D12_ROOT_DESCRIPTOR | 
| typedef enum D3D12_SHADER_VISIBILITY  | D3D12_SHADER_VISIBILITY | 
| typedef struct D3D12_ROOT_PARAMETER  | D3D12_ROOT_PARAMETER | 
| typedef enum D3D12_STATIC_BORDER_COLOR  | D3D12_STATIC_BORDER_COLOR | 
| typedef struct D3D12_STATIC_SAMPLER_DESC  | D3D12_STATIC_SAMPLER_DESC | 
| typedef struct D3D12_ROOT_SIGNATURE_DESC  | D3D12_ROOT_SIGNATURE_DESC | 
| typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS  | D3D12_DESCRIPTOR_RANGE_FLAGS | 
| typedef struct D3D12_DESCRIPTOR_RANGE1  | D3D12_DESCRIPTOR_RANGE1 | 
| typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1  | D3D12_ROOT_DESCRIPTOR_TABLE1 | 
| typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS  | D3D12_ROOT_DESCRIPTOR_FLAGS | 
| typedef struct D3D12_ROOT_DESCRIPTOR1  | D3D12_ROOT_DESCRIPTOR1 | 
| typedef struct D3D12_ROOT_PARAMETER1  | D3D12_ROOT_PARAMETER1 | 
| typedef struct D3D12_ROOT_SIGNATURE_DESC1  | D3D12_ROOT_SIGNATURE_DESC1 | 
| typedef enum D3D_ROOT_SIGNATURE_VERSION  | D3D_ROOT_SIGNATURE_VERSION | 
| typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC  | D3D12_VERSIONED_ROOT_SIGNATURE_DESC | 
| typedef struct ID3D12ResourceVtbl  | ID3D12ResourceVtbl | 
| typedef struct ID3D12CommandAllocatorVtbl  | ID3D12CommandAllocatorVtbl | 
| typedef struct ID3D12CommandListVtbl  | ID3D12CommandListVtbl | 
| typedef struct ID3D12GraphicsCommandListVtbl  | ID3D12GraphicsCommandListVtbl | 
| typedef struct ID3D12CommandQueueVtbl  | ID3D12CommandQueueVtbl | 
| typedef struct __LUID  | LUID | 
| typedef struct __LUID *  | PLUID | 
| typedef struct ID3D12DeviceVtbl  | ID3D12DeviceVtbl | 
| typedef struct ID3D12FenceVtbl  | ID3D12FenceVtbl | 
| typedef struct ID3D12PipelineStateVtbl  | ID3D12PipelineStateVtbl | 
| typedef struct ID3D12DescriptorHeapVtbl  | ID3D12DescriptorHeapVtbl | 
| typedef struct ID3D12QueryHeapVtbl  | ID3D12QueryHeapVtbl | 
| typedef HRESULT(WINAPI *  | PFN_D3D12_CREATE_DEVICE) (_In_opt_ IUnknown *, D3D_FEATURE_LEVEL, _In_ REFIID, _COM_Outptr_opt_ void **) | 
| typedef HRESULT(WINAPI *  | PFN_D3D12_SERIALIZE_ROOT_SIGNATURE) (_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature, _In_ D3D_ROOT_SIGNATURE_VERSION Version, _Out_ ID3DBlob **ppBlob, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob) | 
| typedef HRESULT(WINAPI *  | PFN_D3D12_GET_DEBUG_INTERFACE) (_In_ REFIID, _COM_Outptr_opt_ void **) | 
| typedef interface ID3D12Debug  | ID3D12Debug | 
| typedef struct ID3D12DebugVtbl  | ID3D12DebugVtbl | 
| typedef interface IDXGIObject  | IDXGIObject | 
| typedef interface IDXGIAdapter  | IDXGIAdapter | 
| typedef interface IDXGIOutput  | IDXGIOutput | 
| typedef interface IDXGISwapChain  | IDXGISwapChain | 
| typedef interface IDXGIFactory  | IDXGIFactory | 
| typedef interface IDXGIFactory1  | IDXGIFactory1 | 
| typedef interface IDXGIAdapter1  | IDXGIAdapter1 | 
| typedef struct DXGI_ADAPTER_DESC  | DXGI_ADAPTER_DESC | 
| typedef enum DXGI_ADAPTER_FLAG  | DXGI_ADAPTER_FLAG | 
| typedef struct DXGI_ADAPTER_DESC1  | DXGI_ADAPTER_DESC1 | 
| typedef struct DXGI_SWAP_CHAIN_DESC  | DXGI_SWAP_CHAIN_DESC | 
| typedef struct IDXGIObjectVtbl  | IDXGIObjectVtbl | 
| typedef struct IDXGIFactoryVtbl  | IDXGIFactoryVtbl | 
| typedef struct IDXGIAdapterVtbl  | IDXGIAdapterVtbl | 
| typedef struct IDXGIFactory1Vtbl  | IDXGIFactory1Vtbl | 
| typedef struct IDXGIAdapter1Vtbl  | IDXGIAdapter1Vtbl | 
| typedef HRESULT(WINAPI *  | PFN_CREATEDXGIFACORY1) (REFIID riid, _COM_Outptr_ void **ppFactory) | 
| typedef HRESULT(WINAPI *  | PFN_D3DCOMPILE) (_In_reads_bytes_(SrcDataSize) LPCVOID pSrcData, _In_ SIZE_T SrcDataSize, _In_opt_ LPCSTR pSourceName, _In_reads_opt_(_Inexpressible_(pDefines->Name !=nullptr)) CONST D3D_SHADER_MACRO *pDefines, _In_opt_ ID3DInclude *pInclude, _In_opt_ LPCSTR pEntrypoint, _In_ LPCSTR pTarget, _In_ UINT Flags1, _In_ UINT Flags2, _Out_ ID3DBlob **ppCode, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorMsgs) | 
 | 
| enum   | D3D_FEATURE_LEVEL {  
  D3D_FEATURE_LEVEL_9_1 = 0x9100
, D3D_FEATURE_LEVEL_9_2 = 0x9200
, D3D_FEATURE_LEVEL_9_3 = 0x9300
, D3D_FEATURE_LEVEL_10_0 = 0xa000
,  
  D3D_FEATURE_LEVEL_10_1 = 0xa100
, D3D_FEATURE_LEVEL_11_0 = 0xb000
, D3D_FEATURE_LEVEL_11_1 = 0xb100
, D3D_FEATURE_LEVEL_12_0 = 0xc000
,  
  D3D_FEATURE_LEVEL_12_1 = 0xc100
 
 } | 
| enum   | D3D_PRIMITIVE_TOPOLOGY {  
  D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0
, D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1
, D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2
, D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3
,  
  D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4
, D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5
, D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10
, D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11
,  
  D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12
, D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
, D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33
, D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34
,  
  D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35
, D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36
, D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37
, D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38
,  
  D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39
, D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40
, D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41
, D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42
,  
  D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43
, D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44
, D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45
, D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46
,  
  D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47
, D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48
, D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49
, D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50
,  
  D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51
, D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52
, D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53
, D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54
,  
  D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55
, D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56
, D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57
, D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58
,  
  D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59
, D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60
, D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61
, D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62
,  
  D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63
, D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64
, D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
, D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST
,  
  D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST
, D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
, D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
, D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
,  
  D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
, D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
, D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
, D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
,  
  D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
, D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST
, D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST
, D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
,  
  D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
, D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
, D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
,  
  D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
, D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
,  
  D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
,  
  D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
,  
  D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
,  
  D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
,  
  D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
,  
  D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
,  
  D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
,  
  D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
, D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
 
 } | 
| enum   | DXGI_FORMAT {  
  DXGI_FORMAT_UNKNOWN = 0
, DXGI_FORMAT_R32G32B32A32_TYPELESS = 1
, DXGI_FORMAT_R32G32B32A32_FLOAT = 2
, DXGI_FORMAT_R32G32B32A32_UINT = 3
,  
  DXGI_FORMAT_R32G32B32A32_SINT = 4
, DXGI_FORMAT_R32G32B32_TYPELESS = 5
, DXGI_FORMAT_R32G32B32_FLOAT = 6
, DXGI_FORMAT_R32G32B32_UINT = 7
,  
  DXGI_FORMAT_R32G32B32_SINT = 8
, DXGI_FORMAT_R16G16B16A16_TYPELESS = 9
, DXGI_FORMAT_R16G16B16A16_FLOAT = 10
, DXGI_FORMAT_R16G16B16A16_UNORM = 11
,  
  DXGI_FORMAT_R16G16B16A16_UINT = 12
, DXGI_FORMAT_R16G16B16A16_SNORM = 13
, DXGI_FORMAT_R16G16B16A16_SINT = 14
, DXGI_FORMAT_R32G32_TYPELESS = 15
,  
  DXGI_FORMAT_R32G32_FLOAT = 16
, DXGI_FORMAT_R32G32_UINT = 17
, DXGI_FORMAT_R32G32_SINT = 18
, DXGI_FORMAT_R32G8X24_TYPELESS = 19
,  
  DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20
, DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21
, DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22
, DXGI_FORMAT_R10G10B10A2_TYPELESS = 23
,  
  DXGI_FORMAT_R10G10B10A2_UNORM = 24
, DXGI_FORMAT_R10G10B10A2_UINT = 25
, DXGI_FORMAT_R11G11B10_FLOAT = 26
, DXGI_FORMAT_R8G8B8A8_TYPELESS = 27
,  
  DXGI_FORMAT_R8G8B8A8_UNORM = 28
, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29
, DXGI_FORMAT_R8G8B8A8_UINT = 30
, DXGI_FORMAT_R8G8B8A8_SNORM = 31
,  
  DXGI_FORMAT_R8G8B8A8_SINT = 32
, DXGI_FORMAT_R16G16_TYPELESS = 33
, DXGI_FORMAT_R16G16_FLOAT = 34
, DXGI_FORMAT_R16G16_UNORM = 35
,  
  DXGI_FORMAT_R16G16_UINT = 36
, DXGI_FORMAT_R16G16_SNORM = 37
, DXGI_FORMAT_R16G16_SINT = 38
, DXGI_FORMAT_R32_TYPELESS = 39
,  
  DXGI_FORMAT_D32_FLOAT = 40
, DXGI_FORMAT_R32_FLOAT = 41
, DXGI_FORMAT_R32_UINT = 42
, DXGI_FORMAT_R32_SINT = 43
,  
  DXGI_FORMAT_R24G8_TYPELESS = 44
, DXGI_FORMAT_D24_UNORM_S8_UINT = 45
, DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46
, DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47
,  
  DXGI_FORMAT_R8G8_TYPELESS = 48
, DXGI_FORMAT_R8G8_UNORM = 49
, DXGI_FORMAT_R8G8_UINT = 50
, DXGI_FORMAT_R8G8_SNORM = 51
,  
  DXGI_FORMAT_R8G8_SINT = 52
, DXGI_FORMAT_R16_TYPELESS = 53
, DXGI_FORMAT_R16_FLOAT = 54
, DXGI_FORMAT_D16_UNORM = 55
,  
  DXGI_FORMAT_R16_UNORM = 56
, DXGI_FORMAT_R16_UINT = 57
, DXGI_FORMAT_R16_SNORM = 58
, DXGI_FORMAT_R16_SINT = 59
,  
  DXGI_FORMAT_R8_TYPELESS = 60
, DXGI_FORMAT_R8_UNORM = 61
, DXGI_FORMAT_R8_UINT = 62
, DXGI_FORMAT_R8_SNORM = 63
,  
  DXGI_FORMAT_R8_SINT = 64
, DXGI_FORMAT_A8_UNORM = 65
, DXGI_FORMAT_R1_UNORM = 66
, DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67
,  
  DXGI_FORMAT_R8G8_B8G8_UNORM = 68
, DXGI_FORMAT_G8R8_G8B8_UNORM = 69
, DXGI_FORMAT_BC1_TYPELESS = 70
, DXGI_FORMAT_BC1_UNORM = 71
,  
  DXGI_FORMAT_BC1_UNORM_SRGB = 72
, DXGI_FORMAT_BC2_TYPELESS = 73
, DXGI_FORMAT_BC2_UNORM = 74
, DXGI_FORMAT_BC2_UNORM_SRGB = 75
,  
  DXGI_FORMAT_BC3_TYPELESS = 76
, DXGI_FORMAT_BC3_UNORM = 77
, DXGI_FORMAT_BC3_UNORM_SRGB = 78
, DXGI_FORMAT_BC4_TYPELESS = 79
,  
  DXGI_FORMAT_BC4_UNORM = 80
, DXGI_FORMAT_BC4_SNORM = 81
, DXGI_FORMAT_BC5_TYPELESS = 82
, DXGI_FORMAT_BC5_UNORM = 83
,  
  DXGI_FORMAT_BC5_SNORM = 84
, DXGI_FORMAT_B5G6R5_UNORM = 85
, DXGI_FORMAT_B5G5R5A1_UNORM = 86
, DXGI_FORMAT_B8G8R8A8_UNORM = 87
,  
  DXGI_FORMAT_B8G8R8X8_UNORM = 88
, DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89
, DXGI_FORMAT_B8G8R8A8_TYPELESS = 90
, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91
,  
  DXGI_FORMAT_B8G8R8X8_TYPELESS = 92
, DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93
, DXGI_FORMAT_BC6H_TYPELESS = 94
, DXGI_FORMAT_BC6H_UF16 = 95
,  
  DXGI_FORMAT_BC6H_SF16 = 96
, DXGI_FORMAT_BC7_TYPELESS = 97
, DXGI_FORMAT_BC7_UNORM = 98
, DXGI_FORMAT_BC7_UNORM_SRGB = 99
,  
  DXGI_FORMAT_AYUV = 100
, DXGI_FORMAT_Y410 = 101
, DXGI_FORMAT_Y416 = 102
, DXGI_FORMAT_NV12 = 103
,  
  DXGI_FORMAT_P010 = 104
, DXGI_FORMAT_P016 = 105
, DXGI_FORMAT_420_OPAQUE = 106
, DXGI_FORMAT_YUY2 = 107
,  
  DXGI_FORMAT_Y210 = 108
, DXGI_FORMAT_Y216 = 109
, DXGI_FORMAT_NV11 = 110
, DXGI_FORMAT_AI44 = 111
,  
  DXGI_FORMAT_IA44 = 112
, DXGI_FORMAT_P8 = 113
, DXGI_FORMAT_A8P8 = 114
, DXGI_FORMAT_B4G4R4A4_UNORM = 115
,  
  DXGI_FORMAT_FORCE_UINT = 0xffffffff
 
 } | 
| enum   | _D3D_INCLUDE_TYPE {  
  D3D_INCLUDE_LOCAL = 0
, D3D_INCLUDE_SYSTEM = (D3D_INCLUDE_LOCAL + 1)
, D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL
, D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM
,  
  D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
 
 } | 
| enum   | D3D12_COMMAND_LIST_TYPE { D3D12_COMMAND_LIST_TYPE_DIRECT = 0
, D3D12_COMMAND_LIST_TYPE_BUNDLE = 1
, D3D12_COMMAND_LIST_TYPE_COMPUTE = 2
, D3D12_COMMAND_LIST_TYPE_COPY = 3
 } | 
| enum   | D3D12_COMMAND_QUEUE_FLAGS { D3D12_COMMAND_QUEUE_FLAG_NONE = 0
, D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1
 } | 
| enum   | D3D12_COMMAND_QUEUE_PRIORITY { D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0
, D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100
, D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000
 } | 
| enum   | D3D12_BLEND {  
  D3D12_BLEND_ZERO = 1
, D3D12_BLEND_ONE = 2
, D3D12_BLEND_SRC_COLOR = 3
, D3D12_BLEND_INV_SRC_COLOR = 4
,  
  D3D12_BLEND_SRC_ALPHA = 5
, D3D12_BLEND_INV_SRC_ALPHA = 6
, D3D12_BLEND_DEST_ALPHA = 7
, D3D12_BLEND_INV_DEST_ALPHA = 8
,  
  D3D12_BLEND_DEST_COLOR = 9
, D3D12_BLEND_INV_DEST_COLOR = 10
, D3D12_BLEND_SRC_ALPHA_SAT = 11
, D3D12_BLEND_BLEND_FACTOR = 14
,  
  D3D12_BLEND_INV_BLEND_FACTOR = 15
, D3D12_BLEND_SRC1_COLOR = 16
, D3D12_BLEND_INV_SRC1_COLOR = 17
, D3D12_BLEND_SRC1_ALPHA = 18
,  
  D3D12_BLEND_INV_SRC1_ALPHA = 19
 
 } | 
| enum   | D3D12_BLEND_OP {  
  D3D12_BLEND_OP_ADD = 1
, D3D12_BLEND_OP_SUBTRACT = 2
, D3D12_BLEND_OP_REV_SUBTRACT = 3
, D3D12_BLEND_OP_MIN = 4
,  
  D3D12_BLEND_OP_MAX = 5
 
 } | 
| enum   | D3D12_LOGIC_OP {  
  D3D12_LOGIC_OP_CLEAR = 0
, D3D12_LOGIC_OP_SET = (D3D12_LOGIC_OP_CLEAR + 1)
, D3D12_LOGIC_OP_COPY = (D3D12_LOGIC_OP_SET + 1)
, D3D12_LOGIC_OP_COPY_INVERTED = (D3D12_LOGIC_OP_COPY + 1)
,  
  D3D12_LOGIC_OP_NOOP = (D3D12_LOGIC_OP_COPY_INVERTED + 1)
, D3D12_LOGIC_OP_INVERT = (D3D12_LOGIC_OP_NOOP + 1)
, D3D12_LOGIC_OP_AND = (D3D12_LOGIC_OP_INVERT + 1)
, D3D12_LOGIC_OP_NAND = (D3D12_LOGIC_OP_AND + 1)
,  
  D3D12_LOGIC_OP_OR = (D3D12_LOGIC_OP_NAND + 1)
, D3D12_LOGIC_OP_NOR = (D3D12_LOGIC_OP_OR + 1)
, D3D12_LOGIC_OP_XOR = (D3D12_LOGIC_OP_NOR + 1)
, D3D12_LOGIC_OP_EQUIV = (D3D12_LOGIC_OP_XOR + 1)
,  
  D3D12_LOGIC_OP_AND_REVERSE = (D3D12_LOGIC_OP_EQUIV + 1)
, D3D12_LOGIC_OP_AND_INVERTED = (D3D12_LOGIC_OP_AND_REVERSE + 1)
, D3D12_LOGIC_OP_OR_REVERSE = (D3D12_LOGIC_OP_AND_INVERTED + 1)
, D3D12_LOGIC_OP_OR_INVERTED = (D3D12_LOGIC_OP_OR_REVERSE + 1)
 
 } | 
| enum   | D3D12_FILL_MODE { D3D12_FILL_MODE_WIREFRAME = 2
, D3D12_FILL_MODE_SOLID = 3
 } | 
| enum   | D3D12_CULL_MODE { D3D12_CULL_MODE_NONE = 1
, D3D12_CULL_MODE_FRONT = 2
, D3D12_CULL_MODE_BACK = 3
 } | 
| enum   | D3D12_CONSERVATIVE_RASTERIZATION_MODE { D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0
, D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1
 } | 
| enum   | D3D12_DEPTH_WRITE_MASK { D3D12_DEPTH_WRITE_MASK_ZERO = 0
, D3D12_DEPTH_WRITE_MASK_ALL = 1
 } | 
| enum   | D3D12_COMPARISON_FUNC {  
  D3D12_COMPARISON_FUNC_NEVER = 1
, D3D12_COMPARISON_FUNC_LESS = 2
, D3D12_COMPARISON_FUNC_EQUAL = 3
, D3D12_COMPARISON_FUNC_LESS_EQUAL = 4
,  
  D3D12_COMPARISON_FUNC_GREATER = 5
, D3D12_COMPARISON_FUNC_NOT_EQUAL = 6
, D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7
, D3D12_COMPARISON_FUNC_ALWAYS = 8
 
 } | 
| enum   | D3D12_STENCIL_OP {  
  D3D12_STENCIL_OP_KEEP = 1
, D3D12_STENCIL_OP_ZERO = 2
, D3D12_STENCIL_OP_REPLACE = 3
, D3D12_STENCIL_OP_INCR_SAT = 4
,  
  D3D12_STENCIL_OP_DECR_SAT = 5
, D3D12_STENCIL_OP_INVERT = 6
, D3D12_STENCIL_OP_INCR = 7
, D3D12_STENCIL_OP_DECR = 8
 
 } | 
| enum   | D3D12_INPUT_CLASSIFICATION { D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0
, D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1
 } | 
| enum   | D3D12_PIPELINE_STATE_FLAGS { D3D12_PIPELINE_STATE_FLAG_NONE = 0
, D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1
 } | 
| enum   | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE { D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0
, D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1
, D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2
 } | 
| enum   | D3D12_PRIMITIVE_TOPOLOGY_TYPE {  
  D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0
, D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1
, D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2
, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3
,  
  D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4
 
 } | 
| enum   | D3D12_RESOURCE_DIMENSION {  
  D3D12_RESOURCE_DIMENSION_UNKNOWN = 0
, D3D12_RESOURCE_DIMENSION_BUFFER = 1
, D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2
, D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3
,  
  D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4
 
 } | 
| enum   | D3D12_TEXTURE_LAYOUT { D3D12_TEXTURE_LAYOUT_UNKNOWN = 0
, D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1
, D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2
, D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3
 } | 
| enum   | D3D12_RESOURCE_FLAGS {  
  D3D12_RESOURCE_FLAG_NONE = 0
, D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1
, D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2
, D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4
,  
  D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8
, D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10
, D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20
 
 } | 
| enum   | D3D12_CPU_PAGE_PROPERTY { D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0
, D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1
, D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2
, D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3
 } | 
| enum   | D3D12_MEMORY_POOL { D3D12_MEMORY_POOL_UNKNOWN = 0
, D3D12_MEMORY_POOL_L0 = 1
, D3D12_MEMORY_POOL_L1 = 2
 } | 
| enum   | D3D12_HEAP_TYPE { D3D12_HEAP_TYPE_DEFAULT = 1
, D3D12_HEAP_TYPE_UPLOAD = 2
, D3D12_HEAP_TYPE_READBACK = 3
, D3D12_HEAP_TYPE_CUSTOM = 4
 } | 
| enum   | D3D12_HEAP_FLAGS {  
  D3D12_HEAP_FLAG_NONE = 0
, D3D12_HEAP_FLAG_SHARED = 0x1
, D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4
, D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8
,  
  D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20
, D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40
, D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80
, D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100
,  
  D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200
, D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0
, D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0
, D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44
,  
  D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84
 
 } | 
| enum   | D3D12_TILE_MAPPING_FLAGS { D3D12_TILE_MAPPING_FLAG_NONE = 0
, D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1
 } | 
| enum   | D3D12_TILE_COPY_FLAGS { D3D12_TILE_COPY_FLAG_NONE = 0
, D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1
, D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2
, D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4
 } | 
| enum   | D3D12_RESOURCE_STATES {  
  D3D12_RESOURCE_STATE_COMMON = 0
, D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1
, D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2
, D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4
,  
  D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8
, D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10
, D3D12_RESOURCE_STATE_DEPTH_READ = 0x20
, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40
,  
  D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80
, D3D12_RESOURCE_STATE_STREAM_OUT = 0x100
, D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200
, D3D12_RESOURCE_STATE_COPY_DEST = 0x400
,  
  D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800
, D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000
, D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000
, D3D12_RESOURCE_STATE_GENERIC_READ = (((((0x1 | 0x2) | 0x40) | 0x80) | 0x200) | 0x800)
,  
  D3D12_RESOURCE_STATE_PRESENT = 0
, D3D12_RESOURCE_STATE_PREDICATION = 0x200
 
 } | 
| enum   | D3D12_FEATURE {  
  D3D12_FEATURE_D3D12_OPTIONS = 0
, D3D12_FEATURE_ARCHITECTURE = 1
, D3D12_FEATURE_FEATURE_LEVELS = 2
, D3D12_FEATURE_FORMAT_SUPPORT = 3
,  
  D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4
, D3D12_FEATURE_FORMAT_INFO = 5
, D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6
, D3D12_FEATURE_SHADER_MODEL = 7
,  
  D3D12_FEATURE_D3D12_OPTIONS1 = 8
, D3D12_FEATURE_ROOT_SIGNATURE = 12
, D3D12_FEATURE_ARCHITECTURE1 = 16
, D3D12_FEATURE_D3D12_OPTIONS2 = 18
,  
  D3D12_FEATURE_SHADER_CACHE = 19
, D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20
 
 } | 
| enum   | D3D12_CLEAR_FLAGS { D3D12_CLEAR_FLAG_DEPTH = 0x1
, D3D12_CLEAR_FLAG_STENCIL = 0x2
 } | 
| enum   | D3D12_FENCE_FLAGS { D3D12_FENCE_FLAG_NONE = 0
, D3D12_FENCE_FLAG_SHARED = 0x1
, D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2
 } | 
| enum   | D3D12_DESCRIPTOR_HEAP_TYPE {  
  D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0
, D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = (D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV + 1)
, D3D12_DESCRIPTOR_HEAP_TYPE_RTV = (D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER + 1)
, D3D12_DESCRIPTOR_HEAP_TYPE_DSV = (D3D12_DESCRIPTOR_HEAP_TYPE_RTV + 1)
,  
  D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = (D3D12_DESCRIPTOR_HEAP_TYPE_DSV + 1)
 
 } | 
| enum   | D3D12_DESCRIPTOR_HEAP_FLAGS { D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0
, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
 } | 
| enum   | D3D12_SHADER_COMPONENT_MAPPING {  
  D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0
, D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1
, D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2
, D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3
,  
  D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4
, D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
 
 } | 
| enum   | D3D12_BUFFER_SRV_FLAGS { D3D12_BUFFER_SRV_FLAG_NONE = 0
, D3D12_BUFFER_SRV_FLAG_RAW = 0x1
 } | 
| enum   | D3D12_SRV_DIMENSION {  
  D3D12_SRV_DIMENSION_UNKNOWN = 0
, D3D12_SRV_DIMENSION_BUFFER = 1
, D3D12_SRV_DIMENSION_TEXTURE1D = 2
, D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3
,  
  D3D12_SRV_DIMENSION_TEXTURE2D = 4
, D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5
, D3D12_SRV_DIMENSION_TEXTURE2DMS = 6
, D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7
,  
  D3D12_SRV_DIMENSION_TEXTURE3D = 8
, D3D12_SRV_DIMENSION_TEXTURECUBE = 9
, D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10
 
 } | 
| enum   | D3D12_BUFFER_UAV_FLAGS { D3D12_BUFFER_UAV_FLAG_NONE = 0
, D3D12_BUFFER_UAV_FLAG_RAW = 0x1
 } | 
| enum   | D3D12_UAV_DIMENSION {  
  D3D12_UAV_DIMENSION_UNKNOWN = 0
, D3D12_UAV_DIMENSION_BUFFER = 1
, D3D12_UAV_DIMENSION_TEXTURE1D = 2
, D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3
,  
  D3D12_UAV_DIMENSION_TEXTURE2D = 4
, D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5
, D3D12_UAV_DIMENSION_TEXTURE3D = 8
 
 } | 
| enum   | D3D12_RTV_DIMENSION {  
  D3D12_RTV_DIMENSION_UNKNOWN = 0
, D3D12_RTV_DIMENSION_BUFFER = 1
, D3D12_RTV_DIMENSION_TEXTURE1D = 2
, D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3
,  
  D3D12_RTV_DIMENSION_TEXTURE2D = 4
, D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5
, D3D12_RTV_DIMENSION_TEXTURE2DMS = 6
, D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7
,  
  D3D12_RTV_DIMENSION_TEXTURE3D = 8
 
 } | 
| enum   | D3D12_DSV_FLAGS { D3D12_DSV_FLAG_NONE = 0
, D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1
, D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2
 } | 
| enum   | D3D12_DSV_DIMENSION {  
  D3D12_DSV_DIMENSION_UNKNOWN = 0
, D3D12_DSV_DIMENSION_TEXTURE1D = 1
, D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2
, D3D12_DSV_DIMENSION_TEXTURE2D = 3
,  
  D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4
, D3D12_DSV_DIMENSION_TEXTURE2DMS = 5
, D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
 
 } | 
| enum   | D3D12_FILTER {  
  D3D12_FILTER_MIN_MAG_MIP_POINT = 0
, D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1
, D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4
, D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5
,  
  D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10
, D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11
, D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14
, D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15
,  
  D3D12_FILTER_ANISOTROPIC = 0x55
, D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80
, D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81
, D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84
,  
  D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85
, D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90
, D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91
, D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94
,  
  D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95
, D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5
, D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100
, D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101
,  
  D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104
, D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105
, D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110
, D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111
,  
  D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114
, D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115
, D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155
, D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180
,  
  D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181
, D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184
, D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185
, D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190
,  
  D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191
, D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194
, D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195
, D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
 
 } | 
| enum   | D3D12_TEXTURE_ADDRESS_MODE {  
  D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1
, D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2
, D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3
, D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4
,  
  D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5
 
 } | 
| enum   | D3D12_QUERY_HEAP_TYPE { D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0
, D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1
, D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2
, D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3
 } | 
| enum   | D3D12_INDIRECT_ARGUMENT_TYPE {  
  D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0
, D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = (D3D12_INDIRECT_ARGUMENT_TYPE_DRAW + 1)
, D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = (D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED + 1)
, D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH + 1)
,  
  D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW + 1)
, D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = (D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW + 1)
, D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT + 1)
, D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW + 1)
,  
  D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW + 1)
 
 } | 
| enum   | D3D12_TILE_RANGE_FLAGS { D3D12_TILE_RANGE_FLAG_NONE = 0
, D3D12_TILE_RANGE_FLAG_NULL = 1
, D3D12_TILE_RANGE_FLAG_SKIP = 2
, D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4
 } | 
| enum   | D3D12_TEXTURE_COPY_TYPE { D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0
, D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1
 } | 
| enum   | D3D12_RESOURCE_BARRIER_FLAGS { D3D12_RESOURCE_BARRIER_FLAG_NONE = 0
, D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1
, D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2
 } | 
| enum   | D3D12_RESOURCE_BARRIER_TYPE { D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0
, D3D12_RESOURCE_BARRIER_TYPE_ALIASING = (D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1)
, D3D12_RESOURCE_BARRIER_TYPE_UAV = (D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1)
 } | 
| enum   | D3D12_QUERY_TYPE {  
  D3D12_QUERY_TYPE_OCCLUSION = 0
, D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1
, D3D12_QUERY_TYPE_TIMESTAMP = 2
, D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3
,  
  D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4
, D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5
, D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6
, D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7
 
 } | 
| enum   | D3D12_PREDICATION_OP { D3D12_PREDICATION_OP_EQUAL_ZERO = 0
, D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1
 } | 
| enum   | D3D12_ROOT_SIGNATURE_FLAGS {  
  D3D12_ROOT_SIGNATURE_FLAG_NONE = 0
, D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1
, D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2
, D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4
,  
  D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8
, D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10
, D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20
, D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40
 
 } | 
| enum   | D3D12_ROOT_PARAMETER_TYPE {  
  D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0
, D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = (D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE + 1)
, D3D12_ROOT_PARAMETER_TYPE_CBV = (D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS + 1)
, D3D12_ROOT_PARAMETER_TYPE_SRV = (D3D12_ROOT_PARAMETER_TYPE_CBV + 1)
,  
  D3D12_ROOT_PARAMETER_TYPE_UAV = (D3D12_ROOT_PARAMETER_TYPE_SRV + 1)
 
 } | 
| enum   | D3D12_DESCRIPTOR_RANGE_TYPE { D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0
, D3D12_DESCRIPTOR_RANGE_TYPE_UAV = (D3D12_DESCRIPTOR_RANGE_TYPE_SRV + 1)
, D3D12_DESCRIPTOR_RANGE_TYPE_CBV = (D3D12_DESCRIPTOR_RANGE_TYPE_UAV + 1)
, D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = (D3D12_DESCRIPTOR_RANGE_TYPE_CBV + 1)
 } | 
| enum   | D3D12_SHADER_VISIBILITY {  
  D3D12_SHADER_VISIBILITY_ALL = 0
, D3D12_SHADER_VISIBILITY_VERTEX = 1
, D3D12_SHADER_VISIBILITY_HULL = 2
, D3D12_SHADER_VISIBILITY_DOMAIN = 3
,  
  D3D12_SHADER_VISIBILITY_GEOMETRY = 4
, D3D12_SHADER_VISIBILITY_PIXEL = 5
 
 } | 
| enum   | D3D12_STATIC_BORDER_COLOR { D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0
, D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = (D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1)
, D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = (D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1)
 } | 
| enum   | D3D12_DESCRIPTOR_RANGE_FLAGS {  
  D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0
, D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1
, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2
, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4
,  
  D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8
 
 } | 
| enum   | D3D12_ROOT_DESCRIPTOR_FLAGS { D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0
, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2
, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4
, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8
 } | 
| enum   | D3D_ROOT_SIGNATURE_VERSION { D3D_ROOT_SIGNATURE_VERSION_1 = 0x1
, D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1
, D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2
 } | 
| enum   | DXGI_ADAPTER_FLAG { DXGI_ADAPTER_FLAG_NONE = 0
, DXGI_ADAPTER_FLAG_REMOTE = 1
, DXGI_ADAPTER_FLAG_SOFTWARE = 2
, DXGI_ADAPTER_FLAG_FORCE_DWORD = 0xffffffff
 } | 
 | 
| typedef  | _Return_type_success_ (return >=0) LONG HRESULT | 
|   | DECLARE_HANDLE (HWND) | 
|   | DECLARE_HANDLE (HINSTANCE) | 
| typedef  | _Return_type_success_ (return==0) LONG RPC_STATUS | 
|   | DECLARE_INTERFACE (ID3DInclude) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_COMMAND_QUEUE_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_PIPELINE_STATE_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_RESOURCE_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_TILE_MAPPING_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_TILE_COPY_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_CLEAR_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_FENCE_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_BUFFER_SRV_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_BUFFER_UAV_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_DSV_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_DESCRIPTOR_HEAP_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_HEAP_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_RESOURCE_STATES) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_RESOURCE_BARRIER_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_ROOT_SIGNATURE_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_DESCRIPTOR_RANGE_FLAGS) | 
|   | DEFINE_ENUM_FLAG_OPERATORS (D3D12_ROOT_DESCRIPTOR_FLAGS) | 
|   | DEFINE_GUID (IID_ID3D12Object, 0xc4fec28f, 0x7966, 0x4e95, 0x9f, 0x94, 0xf4, 0x31, 0xcb, 0x56, 0xc3, 0xb8) | 
|   | DEFINE_GUID (IID_ID3D12DeviceChild, 0x905db94b, 0xa00c, 0x4140, 0x9d, 0xf5, 0x2b, 0x64, 0xca, 0x9e, 0xa3, 0x57) | 
|   | DEFINE_GUID (IID_ID3D12RootSignature, 0xc54a6b66, 0x72df, 0x4ee8, 0x8b, 0xe5, 0xa9, 0x46, 0xa1, 0x42, 0x92, 0x14) | 
|   | DEFINE_GUID (IID_ID3D12RootSignatureDeserializer, 0x34AB647B, 0x3CC8, 0x46AC, 0x84, 0x1B, 0xC0, 0x96, 0x56, 0x45, 0xC0, 0x46) | 
|   | DEFINE_GUID (IID_ID3D12VersionedRootSignatureDeserializer, 0x7F91CE67, 0x090C, 0x4BB7, 0xB7, 0x8E, 0xED, 0x8F, 0xF2, 0xE3, 0x1D, 0xA0) | 
|   | DEFINE_GUID (IID_ID3D12Pageable, 0x63ee58fb, 0x1268, 0x4835, 0x86, 0xda, 0xf0, 0x08, 0xce, 0x62, 0xf0, 0xd6) | 
|   | DEFINE_GUID (IID_ID3D12Heap, 0x6b3b2502, 0x6e51, 0x45b3, 0x90, 0xee, 0x98, 0x84, 0x26, 0x5e, 0x8d, 0xf3) | 
|   | DEFINE_GUID (IID_ID3D12Resource, 0x696442be, 0xa72e, 0x4059, 0xbc, 0x79, 0x5b, 0x5c, 0x98, 0x04, 0x0f, 0xad) | 
|   | DEFINE_GUID (IID_ID3D12CommandAllocator, 0x6102dee4, 0xaf59, 0x4b09, 0xb9, 0x99, 0xb4, 0x4d, 0x73, 0xf0, 0x9b, 0x24) | 
|   | DEFINE_GUID (IID_ID3D12Fence, 0x0a753dcf, 0xc4d8, 0x4b91, 0xad, 0xf6, 0xbe, 0x5a, 0x60, 0xd9, 0x5a, 0x76) | 
|   | DEFINE_GUID (IID_ID3D12PipelineState, 0x765a30f3, 0xf624, 0x4c6f, 0xa8, 0x28, 0xac, 0xe9, 0x48, 0x62, 0x24, 0x45) | 
|   | DEFINE_GUID (IID_ID3D12DescriptorHeap, 0x8efb471d, 0x616c, 0x4f49, 0x90, 0xf7, 0x12, 0x7b, 0xb7, 0x63, 0xfa, 0x51) | 
|   | DEFINE_GUID (IID_ID3D12QueryHeap, 0x0d9658ae, 0xed45, 0x469e, 0xa6, 0x1d, 0x97, 0x0e, 0xc5, 0x83, 0xca, 0xb4) | 
|   | DEFINE_GUID (IID_ID3D12CommandSignature, 0xc36a797c, 0xec80, 0x4f0a, 0x89, 0x85, 0xa7, 0xb2, 0x47, 0x50, 0x82, 0xd1) | 
|   | DEFINE_GUID (IID_ID3D12CommandList, 0x7116d91c, 0xe7e4, 0x47ce, 0xb8, 0xc6, 0xec, 0x81, 0x68, 0xf4, 0x37, 0xe5) | 
|   | DEFINE_GUID (IID_ID3D12GraphicsCommandList, 0x5b160d0f, 0xac1b, 0x4185, 0x8b, 0xa8, 0xb3, 0xae, 0x42, 0xa5, 0xa4, 0x55) | 
|   | DEFINE_GUID (IID_ID3D12GraphicsCommandList1, 0x553103fb, 0x1fe7, 0x4557, 0xbb, 0x38, 0x94, 0x6d, 0x7d, 0x0e, 0x7c, 0xa7) | 
|   | DEFINE_GUID (IID_ID3D12CommandQueue, 0x0ec870a6, 0x5d7e, 0x4c22, 0x8c, 0xfc, 0x5b, 0xaa, 0xe0, 0x76, 0x16, 0xed) | 
|   | DEFINE_GUID (IID_ID3D12Device, 0x189819f1, 0x1db6, 0x4b57, 0xbe, 0x54, 0x18, 0x21, 0x33, 0x9b, 0x85, 0xf7) | 
|   | DEFINE_GUID (IID_ID3D12PipelineLibrary, 0xc64226a8, 0x9201, 0x46af, 0xb4, 0xcc, 0x53, 0xfb, 0x9f, 0xf7, 0x41, 0x4f) | 
|   | DEFINE_GUID (IID_ID3D12PipelineLibrary1, 0x80eabf42, 0x2568, 0x4e5e, 0xbd, 0x82, 0xc3, 0x7f, 0x86, 0x96, 0x1d, 0xc3) | 
|   | DEFINE_GUID (IID_ID3D12Device1, 0x77acce80, 0x638e, 0x4e65, 0x88, 0x95, 0xc1, 0xf2, 0x33, 0x86, 0x86, 0x3e) | 
|   | DEFINE_GUID (IID_ID3D12Device2, 0x30baa41e, 0xb15b, 0x475c, 0xa0, 0xbb, 0x1a, 0xf5, 0xc5, 0xb6, 0x43, 0x28) | 
|   | DEFINE_GUID (IID_ID3D12Tools, 0x7071e1f0, 0xe84b, 0x4b33, 0x97, 0x4f, 0x12, 0xfa, 0x49, 0xde, 0x65, 0xc5) | 
|   | DEFINE_GUID (IID_ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9, 0x89, 0xf0, 0x27, 0x44, 0x82, 0x45, 0xe0) | 
|   | DEFINE_GUID (IID_IDXGIObject, 0xaec22fb8, 0x76f3, 0x4639, 0x9b, 0xe0, 0x28, 0xeb, 0x43, 0xa6, 0x7a, 0x2e) | 
|   | DEFINE_GUID (IID_IDXGIDeviceSubObject, 0x3d3e0379, 0xf9de, 0x4d58, 0xbb, 0x6c, 0x18, 0xd6, 0x29, 0x92, 0xf1, 0xa6) | 
|   | DEFINE_GUID (IID_IDXGIResource, 0x035f3ab4, 0x482e, 0x4e50, 0xb4, 0x1f, 0x8a, 0x7f, 0x8b, 0xd8, 0x96, 0x0b) | 
|   | DEFINE_GUID (IID_IDXGIKeyedMutex, 0x9d8e1289, 0xd7b3, 0x465f, 0x81, 0x26, 0x25, 0x0e, 0x34, 0x9a, 0xf8, 0x5d) | 
|   | DEFINE_GUID (IID_IDXGISurface, 0xcafcb56c, 0x6ac3, 0x4889, 0xbf, 0x47, 0x9e, 0x23, 0xbb, 0xd2, 0x60, 0xec) | 
|   | DEFINE_GUID (IID_IDXGISurface1, 0x4AE63092, 0x6327, 0x4c1b, 0x80, 0xAE, 0xBF, 0xE1, 0x2E, 0xA3, 0x2B, 0x86) | 
|   | DEFINE_GUID (IID_IDXGIAdapter, 0x2411e7e1, 0x12ac, 0x4ccf, 0xbd, 0x14, 0x97, 0x98, 0xe8, 0x53, 0x4d, 0xc0) | 
|   | DEFINE_GUID (IID_IDXGIOutput, 0xae02eedb, 0xc735, 0x4690, 0x8d, 0x52, 0x5a, 0x8d, 0xc2, 0x02, 0x13, 0xaa) | 
|   | DEFINE_GUID (IID_IDXGISwapChain, 0x310d36a0, 0xd2e7, 0x4c0a, 0xaa, 0x04, 0x6a, 0x9d, 0x23, 0xb8, 0x88, 0x6a) | 
|   | DEFINE_GUID (IID_IDXGIFactory, 0x7b7166ec, 0x21c7, 0x44ae, 0xb2, 0x1a, 0xc9, 0xae, 0x32, 0x1a, 0xe3, 0x69) | 
|   | DEFINE_GUID (IID_IDXGIDevice, 0x54ec77fa, 0x1377, 0x44e6, 0x8c, 0x32, 0x88, 0xfd, 0x5f, 0x44, 0xc8, 0x4c) | 
|   | DEFINE_GUID (IID_IDXGIFactory1, 0x770aae78, 0xf26f, 0x4dba, 0xa8, 0x29, 0x25, 0x3c, 0x83, 0xd1, 0xb3, 0x87) | 
|   | DEFINE_GUID (IID_IDXGIAdapter1, 0x29038f61, 0x3839, 0x4626, 0x91, 0xfd, 0x08, 0x68, 0x79, 0x01, 0x1a, 0x05) | 
|   | DEFINE_GUID (IID_IDXGIDevice1, 0x77db970f, 0x6276, 0x48ba, 0xba, 0x28, 0x07, 0x01, 0x43, 0xb4, 0x39, 0x2c) | 
| WINBASEAPI BOOL WINAPI  | CloseHandle (_In_ _Post_ptr_invalid_ HANDLE hObject) | 
| WINBASEAPI _Ret_maybenull_ HANDLE WINAPI  | CreateEventA (_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCSTR lpName) | 
| WINBASEAPI _Ret_maybenull_ HANDLE WINAPI  | CreateEventW (_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCWSTR lpName) | 
| WINBASEAPI DWORD WINAPI  | WaitForSingleObject (_In_ HANDLE hHandle, _In_ DWORD dwMilliseconds) |