zig

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

d3d11_2.h (126960B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/d3d11_2.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 __d3d11_2_h__
     17 #define __d3d11_2_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __ID3D11DeviceContext2_FWD_DEFINED__
     22 #define __ID3D11DeviceContext2_FWD_DEFINED__
     23 typedef interface ID3D11DeviceContext2 ID3D11DeviceContext2;
     24 #ifdef __cplusplus
     25 interface ID3D11DeviceContext2;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __ID3D11Device2_FWD_DEFINED__
     30 #define __ID3D11Device2_FWD_DEFINED__
     31 typedef interface ID3D11Device2 ID3D11Device2;
     32 #ifdef __cplusplus
     33 interface ID3D11Device2;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 /* Headers for imported files */
     38 
     39 #include <oaidl.h>
     40 #include <ocidl.h>
     41 #include <dxgi1_3.h>
     42 #include <d3dcommon.h>
     43 #include <d3d11_1.h>
     44 
     45 #ifdef __cplusplus
     46 extern "C" {
     47 #endif
     48 
     49 #define D3D11_PACKED_TILE (0xffffffff)
     50 
     51 typedef enum D3D11_TILE_MAPPING_FLAG {
     52     D3D11_TILE_MAPPING_NO_OVERWRITE = 0x1
     53 } D3D11_TILE_MAPPING_FLAG;
     54 typedef enum D3D11_TILE_RANGE_FLAG {
     55     D3D11_TILE_RANGE_NULL = 0x1,
     56     D3D11_TILE_RANGE_SKIP = 0x2,
     57     D3D11_TILE_RANGE_REUSE_SINGLE_TILE = 0x4
     58 } D3D11_TILE_RANGE_FLAG;
     59 typedef enum D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG {
     60     D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE = 0x1
     61 } D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG;
     62 typedef enum D3D11_TILE_COPY_FLAG {
     63     D3D11_TILE_COPY_NO_OVERWRITE = 0x1,
     64     D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
     65     D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4
     66 } D3D11_TILE_COPY_FLAG;
     67 typedef struct D3D11_TILED_RESOURCE_COORDINATE {
     68     UINT X;
     69     UINT Y;
     70     UINT Z;
     71     UINT Subresource;
     72 } D3D11_TILED_RESOURCE_COORDINATE;
     73 typedef struct D3D11_TILE_REGION_SIZE {
     74     UINT NumTiles;
     75     WINBOOL bUseBox;
     76     UINT Width;
     77     UINT16 Height;
     78     UINT16 Depth;
     79 } D3D11_TILE_REGION_SIZE;
     80 typedef struct D3D11_SUBRESOURCE_TILING {
     81     UINT WidthInTiles;
     82     UINT16 HeightInTiles;
     83     UINT16 DepthInTiles;
     84     UINT StartTileIndexInOverallResource;
     85 } D3D11_SUBRESOURCE_TILING;
     86 typedef struct D3D11_TILE_SHAPE {
     87     UINT WidthInTexels;
     88     UINT HeightInTexels;
     89     UINT DepthInTexels;
     90 } D3D11_TILE_SHAPE;
     91 typedef struct D3D11_PACKED_MIP_DESC {
     92     UINT8 NumStandardMips;
     93     UINT8 NumPackedMips;
     94     UINT NumTilesForPackedMips;
     95     UINT StartTileIndexInOverallResource;
     96 } D3D11_PACKED_MIP_DESC;
     97 /*****************************************************************************
     98  * ID3D11DeviceContext2 interface
     99  */
    100 #ifndef __ID3D11DeviceContext2_INTERFACE_DEFINED__
    101 #define __ID3D11DeviceContext2_INTERFACE_DEFINED__
    102 
    103 DEFINE_GUID(IID_ID3D11DeviceContext2, 0x420d5b32, 0xb90c, 0x4da4, 0xbe,0xf0, 0x35,0x9f,0x6a,0x24,0xa8,0x3a);
    104 #if defined(__cplusplus) && !defined(CINTERFACE)
    105 MIDL_INTERFACE("420d5b32-b90c-4da4-bef0-359f6a24a83a")
    106 ID3D11DeviceContext2 : public ID3D11DeviceContext1
    107 {
    108     virtual HRESULT STDMETHODCALLTYPE UpdateTileMappings(
    109         ID3D11Resource *resource,
    110         UINT region_count,
    111         const D3D11_TILED_RESOURCE_COORDINATE *region_start_coordinates,
    112         const D3D11_TILE_REGION_SIZE *region_sizes,
    113         ID3D11Buffer *pool,
    114         UINT range_count,
    115         const UINT *range_flags,
    116         const UINT *pool_start_offsets,
    117         const UINT *range_tile_counts,
    118         UINT flags) = 0;
    119 
    120     virtual HRESULT STDMETHODCALLTYPE CopyTileMappings(
    121         ID3D11Resource *dst_resource,
    122         const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
    123         ID3D11Resource *src_resource,
    124         const D3D11_TILED_RESOURCE_COORDINATE *src_start_coordinate,
    125         const D3D11_TILE_REGION_SIZE *region_size,
    126         UINT flags) = 0;
    127 
    128     virtual void STDMETHODCALLTYPE CopyTiles(
    129         ID3D11Resource *resource,
    130         const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,
    131         const D3D11_TILE_REGION_SIZE *size,
    132         ID3D11Buffer *buffer,
    133         UINT64 start_offset,
    134         UINT flags) = 0;
    135 
    136     virtual void STDMETHODCALLTYPE UpdateTiles(
    137         ID3D11Resource *dst_resource,
    138         const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
    139         const D3D11_TILE_REGION_SIZE *dst_region_size,
    140         const void *src_data,
    141         UINT flags) = 0;
    142 
    143     virtual HRESULT STDMETHODCALLTYPE ResizeTilePool(
    144         ID3D11Buffer *pool,
    145         UINT64 size) = 0;
    146 
    147     virtual void STDMETHODCALLTYPE TiledResourceBarrier(
    148         ID3D11DeviceChild *before_barrier,
    149         ID3D11DeviceChild *after_barrier) = 0;
    150 
    151     virtual WINBOOL STDMETHODCALLTYPE IsAnnotationEnabled(
    152         ) = 0;
    153 
    154     virtual void STDMETHODCALLTYPE SetMarkerInt(
    155         const WCHAR *label,
    156         int data) = 0;
    157 
    158     virtual void STDMETHODCALLTYPE BeginEventInt(
    159         const WCHAR *label,
    160         int data) = 0;
    161 
    162     virtual void STDMETHODCALLTYPE EndEvent(
    163         ) = 0;
    164 
    165 };
    166 #ifdef __CRT_UUID_DECL
    167 __CRT_UUID_DECL(ID3D11DeviceContext2, 0x420d5b32, 0xb90c, 0x4da4, 0xbe,0xf0, 0x35,0x9f,0x6a,0x24,0xa8,0x3a)
    168 #endif
    169 #else
    170 typedef struct ID3D11DeviceContext2Vtbl {
    171     BEGIN_INTERFACE
    172 
    173     /*** IUnknown methods ***/
    174     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    175         ID3D11DeviceContext2 *This,
    176         REFIID riid,
    177         void **ppvObject);
    178 
    179     ULONG (STDMETHODCALLTYPE *AddRef)(
    180         ID3D11DeviceContext2 *This);
    181 
    182     ULONG (STDMETHODCALLTYPE *Release)(
    183         ID3D11DeviceContext2 *This);
    184 
    185     /*** ID3D11DeviceChild methods ***/
    186     void (STDMETHODCALLTYPE *GetDevice)(
    187         ID3D11DeviceContext2 *This,
    188         ID3D11Device **ppDevice);
    189 
    190     HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
    191         ID3D11DeviceContext2 *This,
    192         REFGUID guid,
    193         UINT *pDataSize,
    194         void *pData);
    195 
    196     HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
    197         ID3D11DeviceContext2 *This,
    198         REFGUID guid,
    199         UINT DataSize,
    200         const void *pData);
    201 
    202     HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
    203         ID3D11DeviceContext2 *This,
    204         REFGUID guid,
    205         const IUnknown *pData);
    206 
    207     /*** ID3D11DeviceContext methods ***/
    208     void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
    209         ID3D11DeviceContext2 *This,
    210         UINT StartSlot,
    211         UINT NumBuffers,
    212         ID3D11Buffer *const *ppConstantBuffers);
    213 
    214     void (STDMETHODCALLTYPE *PSSetShaderResources)(
    215         ID3D11DeviceContext2 *This,
    216         UINT StartSlot,
    217         UINT NumViews,
    218         ID3D11ShaderResourceView *const *ppShaderResourceViews);
    219 
    220     void (STDMETHODCALLTYPE *PSSetShader)(
    221         ID3D11DeviceContext2 *This,
    222         ID3D11PixelShader *pPixelShader,
    223         ID3D11ClassInstance *const *ppClassInstances,
    224         UINT NumClassInstances);
    225 
    226     void (STDMETHODCALLTYPE *PSSetSamplers)(
    227         ID3D11DeviceContext2 *This,
    228         UINT StartSlot,
    229         UINT NumSamplers,
    230         ID3D11SamplerState *const *ppSamplers);
    231 
    232     void (STDMETHODCALLTYPE *VSSetShader)(
    233         ID3D11DeviceContext2 *This,
    234         ID3D11VertexShader *pVertexShader,
    235         ID3D11ClassInstance *const *ppClassInstances,
    236         UINT NumClassInstances);
    237 
    238     void (STDMETHODCALLTYPE *DrawIndexed)(
    239         ID3D11DeviceContext2 *This,
    240         UINT IndexCount,
    241         UINT StartIndexLocation,
    242         INT BaseVertexLocation);
    243 
    244     void (STDMETHODCALLTYPE *Draw)(
    245         ID3D11DeviceContext2 *This,
    246         UINT VertexCount,
    247         UINT StartVertexLocation);
    248 
    249     HRESULT (STDMETHODCALLTYPE *Map)(
    250         ID3D11DeviceContext2 *This,
    251         ID3D11Resource *pResource,
    252         UINT Subresource,
    253         D3D11_MAP MapType,
    254         UINT MapFlags,
    255         D3D11_MAPPED_SUBRESOURCE *pMappedResource);
    256 
    257     void (STDMETHODCALLTYPE *Unmap)(
    258         ID3D11DeviceContext2 *This,
    259         ID3D11Resource *pResource,
    260         UINT Subresource);
    261 
    262     void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
    263         ID3D11DeviceContext2 *This,
    264         UINT StartSlot,
    265         UINT NumBuffers,
    266         ID3D11Buffer *const *ppConstantBuffers);
    267 
    268     void (STDMETHODCALLTYPE *IASetInputLayout)(
    269         ID3D11DeviceContext2 *This,
    270         ID3D11InputLayout *pInputLayout);
    271 
    272     void (STDMETHODCALLTYPE *IASetVertexBuffers)(
    273         ID3D11DeviceContext2 *This,
    274         UINT StartSlot,
    275         UINT NumBuffers,
    276         ID3D11Buffer *const *ppVertexBuffers,
    277         const UINT *pStrides,
    278         const UINT *pOffsets);
    279 
    280     void (STDMETHODCALLTYPE *IASetIndexBuffer)(
    281         ID3D11DeviceContext2 *This,
    282         ID3D11Buffer *pIndexBuffer,
    283         DXGI_FORMAT Format,
    284         UINT Offset);
    285 
    286     void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
    287         ID3D11DeviceContext2 *This,
    288         UINT IndexCountPerInstance,
    289         UINT InstanceCount,
    290         UINT StartIndexLocation,
    291         INT BaseVertexLocation,
    292         UINT StartInstanceLocation);
    293 
    294     void (STDMETHODCALLTYPE *DrawInstanced)(
    295         ID3D11DeviceContext2 *This,
    296         UINT VertexCountPerInstance,
    297         UINT InstanceCount,
    298         UINT StartVertexLocation,
    299         UINT StartInstanceLocation);
    300 
    301     void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
    302         ID3D11DeviceContext2 *This,
    303         UINT StartSlot,
    304         UINT NumBuffers,
    305         ID3D11Buffer *const *ppConstantBuffers);
    306 
    307     void (STDMETHODCALLTYPE *GSSetShader)(
    308         ID3D11DeviceContext2 *This,
    309         ID3D11GeometryShader *pShader,
    310         ID3D11ClassInstance *const *ppClassInstances,
    311         UINT NumClassInstances);
    312 
    313     void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
    314         ID3D11DeviceContext2 *This,
    315         D3D11_PRIMITIVE_TOPOLOGY Topology);
    316 
    317     void (STDMETHODCALLTYPE *VSSetShaderResources)(
    318         ID3D11DeviceContext2 *This,
    319         UINT StartSlot,
    320         UINT NumViews,
    321         ID3D11ShaderResourceView *const *ppShaderResourceViews);
    322 
    323     void (STDMETHODCALLTYPE *VSSetSamplers)(
    324         ID3D11DeviceContext2 *This,
    325         UINT StartSlot,
    326         UINT NumSamplers,
    327         ID3D11SamplerState *const *ppSamplers);
    328 
    329     void (STDMETHODCALLTYPE *Begin)(
    330         ID3D11DeviceContext2 *This,
    331         ID3D11Asynchronous *pAsync);
    332 
    333     void (STDMETHODCALLTYPE *End)(
    334         ID3D11DeviceContext2 *This,
    335         ID3D11Asynchronous *pAsync);
    336 
    337     HRESULT (STDMETHODCALLTYPE *GetData)(
    338         ID3D11DeviceContext2 *This,
    339         ID3D11Asynchronous *pAsync,
    340         void *pData,
    341         UINT DataSize,
    342         UINT GetDataFlags);
    343 
    344     void (STDMETHODCALLTYPE *SetPredication)(
    345         ID3D11DeviceContext2 *This,
    346         ID3D11Predicate *pPredicate,
    347         WINBOOL PredicateValue);
    348 
    349     void (STDMETHODCALLTYPE *GSSetShaderResources)(
    350         ID3D11DeviceContext2 *This,
    351         UINT StartSlot,
    352         UINT NumViews,
    353         ID3D11ShaderResourceView *const *ppShaderResourceViews);
    354 
    355     void (STDMETHODCALLTYPE *GSSetSamplers)(
    356         ID3D11DeviceContext2 *This,
    357         UINT StartSlot,
    358         UINT NumSamplers,
    359         ID3D11SamplerState *const *ppSamplers);
    360 
    361     void (STDMETHODCALLTYPE *OMSetRenderTargets)(
    362         ID3D11DeviceContext2 *This,
    363         UINT NumViews,
    364         ID3D11RenderTargetView *const *ppRenderTargetViews,
    365         ID3D11DepthStencilView *pDepthStencilView);
    366 
    367     void (STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews)(
    368         ID3D11DeviceContext2 *This,
    369         UINT NumRTVs,
    370         ID3D11RenderTargetView *const *ppRenderTargetViews,
    371         ID3D11DepthStencilView *pDepthStencilView,
    372         UINT UAVStartSlot,
    373         UINT NumUAVs,
    374         ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
    375         const UINT *pUAVInitialCounts);
    376 
    377     void (STDMETHODCALLTYPE *OMSetBlendState)(
    378         ID3D11DeviceContext2 *This,
    379         ID3D11BlendState *pBlendState,
    380         const FLOAT BlendFactor[4],
    381         UINT SampleMask);
    382 
    383     void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
    384         ID3D11DeviceContext2 *This,
    385         ID3D11DepthStencilState *pDepthStencilState,
    386         UINT StencilRef);
    387 
    388     void (STDMETHODCALLTYPE *SOSetTargets)(
    389         ID3D11DeviceContext2 *This,
    390         UINT NumBuffers,
    391         ID3D11Buffer *const *ppSOTargets,
    392         const UINT *pOffsets);
    393 
    394     void (STDMETHODCALLTYPE *DrawAuto)(
    395         ID3D11DeviceContext2 *This);
    396 
    397     void (STDMETHODCALLTYPE *DrawIndexedInstancedIndirect)(
    398         ID3D11DeviceContext2 *This,
    399         ID3D11Buffer *pBufferForArgs,
    400         UINT AlignedByteOffsetForArgs);
    401 
    402     void (STDMETHODCALLTYPE *DrawInstancedIndirect)(
    403         ID3D11DeviceContext2 *This,
    404         ID3D11Buffer *pBufferForArgs,
    405         UINT AlignedByteOffsetForArgs);
    406 
    407     void (STDMETHODCALLTYPE *Dispatch)(
    408         ID3D11DeviceContext2 *This,
    409         UINT ThreadGroupCountX,
    410         UINT ThreadGroupCountY,
    411         UINT ThreadGroupCountZ);
    412 
    413     void (STDMETHODCALLTYPE *DispatchIndirect)(
    414         ID3D11DeviceContext2 *This,
    415         ID3D11Buffer *pBufferForArgs,
    416         UINT AlignedByteOffsetForArgs);
    417 
    418     void (STDMETHODCALLTYPE *RSSetState)(
    419         ID3D11DeviceContext2 *This,
    420         ID3D11RasterizerState *pRasterizerState);
    421 
    422     void (STDMETHODCALLTYPE *RSSetViewports)(
    423         ID3D11DeviceContext2 *This,
    424         UINT NumViewports,
    425         const D3D11_VIEWPORT *pViewports);
    426 
    427     void (STDMETHODCALLTYPE *RSSetScissorRects)(
    428         ID3D11DeviceContext2 *This,
    429         UINT NumRects,
    430         const D3D11_RECT *pRects);
    431 
    432     void (STDMETHODCALLTYPE *CopySubresourceRegion)(
    433         ID3D11DeviceContext2 *This,
    434         ID3D11Resource *pDstResource,
    435         UINT DstSubresource,
    436         UINT DstX,
    437         UINT DstY,
    438         UINT DstZ,
    439         ID3D11Resource *pSrcResource,
    440         UINT SrcSubresource,
    441         const D3D11_BOX *pSrcBox);
    442 
    443     void (STDMETHODCALLTYPE *CopyResource)(
    444         ID3D11DeviceContext2 *This,
    445         ID3D11Resource *pDstResource,
    446         ID3D11Resource *pSrcResource);
    447 
    448     void (STDMETHODCALLTYPE *UpdateSubresource)(
    449         ID3D11DeviceContext2 *This,
    450         ID3D11Resource *pDstResource,
    451         UINT DstSubresource,
    452         const D3D11_BOX *pDstBox,
    453         const void *pSrcData,
    454         UINT SrcRowPitch,
    455         UINT SrcDepthPitch);
    456 
    457     void (STDMETHODCALLTYPE *CopyStructureCount)(
    458         ID3D11DeviceContext2 *This,
    459         ID3D11Buffer *pDstBuffer,
    460         UINT DstAlignedByteOffset,
    461         ID3D11UnorderedAccessView *pSrcView);
    462 
    463     void (STDMETHODCALLTYPE *ClearRenderTargetView)(
    464         ID3D11DeviceContext2 *This,
    465         ID3D11RenderTargetView *pRenderTargetView,
    466         const FLOAT ColorRGBA[4]);
    467 
    468     void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
    469         ID3D11DeviceContext2 *This,
    470         ID3D11UnorderedAccessView *pUnorderedAccessView,
    471         const UINT Values[4]);
    472 
    473     void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
    474         ID3D11DeviceContext2 *This,
    475         ID3D11UnorderedAccessView *pUnorderedAccessView,
    476         const FLOAT Values[4]);
    477 
    478     void (STDMETHODCALLTYPE *ClearDepthStencilView)(
    479         ID3D11DeviceContext2 *This,
    480         ID3D11DepthStencilView *pDepthStencilView,
    481         UINT ClearFlags,
    482         FLOAT Depth,
    483         UINT8 Stencil);
    484 
    485     void (STDMETHODCALLTYPE *GenerateMips)(
    486         ID3D11DeviceContext2 *This,
    487         ID3D11ShaderResourceView *pShaderResourceView);
    488 
    489     void (STDMETHODCALLTYPE *SetResourceMinLOD)(
    490         ID3D11DeviceContext2 *This,
    491         ID3D11Resource *pResource,
    492         FLOAT MinLOD);
    493 
    494     FLOAT (STDMETHODCALLTYPE *GetResourceMinLOD)(
    495         ID3D11DeviceContext2 *This,
    496         ID3D11Resource *pResource);
    497 
    498     void (STDMETHODCALLTYPE *ResolveSubresource)(
    499         ID3D11DeviceContext2 *This,
    500         ID3D11Resource *pDstResource,
    501         UINT DstSubresource,
    502         ID3D11Resource *pSrcResource,
    503         UINT SrcSubresource,
    504         DXGI_FORMAT Format);
    505 
    506     void (STDMETHODCALLTYPE *ExecuteCommandList)(
    507         ID3D11DeviceContext2 *This,
    508         ID3D11CommandList *pCommandList,
    509         WINBOOL RestoreContextState);
    510 
    511     void (STDMETHODCALLTYPE *HSSetShaderResources)(
    512         ID3D11DeviceContext2 *This,
    513         UINT StartSlot,
    514         UINT NumViews,
    515         ID3D11ShaderResourceView *const *ppShaderResourceViews);
    516 
    517     void (STDMETHODCALLTYPE *HSSetShader)(
    518         ID3D11DeviceContext2 *This,
    519         ID3D11HullShader *pHullShader,
    520         ID3D11ClassInstance *const *ppClassInstances,
    521         UINT NumClassInstances);
    522 
    523     void (STDMETHODCALLTYPE *HSSetSamplers)(
    524         ID3D11DeviceContext2 *This,
    525         UINT StartSlot,
    526         UINT NumSamplers,
    527         ID3D11SamplerState *const *ppSamplers);
    528 
    529     void (STDMETHODCALLTYPE *HSSetConstantBuffers)(
    530         ID3D11DeviceContext2 *This,
    531         UINT StartSlot,
    532         UINT NumBuffers,
    533         ID3D11Buffer *const *ppConstantBuffers);
    534 
    535     void (STDMETHODCALLTYPE *DSSetShaderResources)(
    536         ID3D11DeviceContext2 *This,
    537         UINT StartSlot,
    538         UINT NumViews,
    539         ID3D11ShaderResourceView *const *ppShaderResourceViews);
    540 
    541     void (STDMETHODCALLTYPE *DSSetShader)(
    542         ID3D11DeviceContext2 *This,
    543         ID3D11DomainShader *pDomainShader,
    544         ID3D11ClassInstance *const *ppClassInstances,
    545         UINT NumClassInstances);
    546 
    547     void (STDMETHODCALLTYPE *DSSetSamplers)(
    548         ID3D11DeviceContext2 *This,
    549         UINT StartSlot,
    550         UINT NumSamplers,
    551         ID3D11SamplerState *const *ppSamplers);
    552 
    553     void (STDMETHODCALLTYPE *DSSetConstantBuffers)(
    554         ID3D11DeviceContext2 *This,
    555         UINT StartSlot,
    556         UINT NumBuffers,
    557         ID3D11Buffer *const *ppConstantBuffers);
    558 
    559     void (STDMETHODCALLTYPE *CSSetShaderResources)(
    560         ID3D11DeviceContext2 *This,
    561         UINT StartSlot,
    562         UINT NumViews,
    563         ID3D11ShaderResourceView *const *ppShaderResourceViews);
    564 
    565     void (STDMETHODCALLTYPE *CSSetUnorderedAccessViews)(
    566         ID3D11DeviceContext2 *This,
    567         UINT StartSlot,
    568         UINT NumUAVs,
    569         ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
    570         const UINT *pUAVInitialCounts);
    571 
    572     void (STDMETHODCALLTYPE *CSSetShader)(
    573         ID3D11DeviceContext2 *This,
    574         ID3D11ComputeShader *pComputeShader,
    575         ID3D11ClassInstance *const *ppClassInstances,
    576         UINT NumClassInstances);
    577 
    578     void (STDMETHODCALLTYPE *CSSetSamplers)(
    579         ID3D11DeviceContext2 *This,
    580         UINT StartSlot,
    581         UINT NumSamplers,
    582         ID3D11SamplerState *const *ppSamplers);
    583 
    584     void (STDMETHODCALLTYPE *CSSetConstantBuffers)(
    585         ID3D11DeviceContext2 *This,
    586         UINT StartSlot,
    587         UINT NumBuffers,
    588         ID3D11Buffer *const *ppConstantBuffers);
    589 
    590     void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
    591         ID3D11DeviceContext2 *This,
    592         UINT StartSlot,
    593         UINT NumBuffers,
    594         ID3D11Buffer **ppConstantBuffers);
    595 
    596     void (STDMETHODCALLTYPE *PSGetShaderResources)(
    597         ID3D11DeviceContext2 *This,
    598         UINT StartSlot,
    599         UINT NumViews,
    600         ID3D11ShaderResourceView **ppShaderResourceViews);
    601 
    602     void (STDMETHODCALLTYPE *PSGetShader)(
    603         ID3D11DeviceContext2 *This,
    604         ID3D11PixelShader **ppPixelShader,
    605         ID3D11ClassInstance **ppClassInstances,
    606         UINT *pNumClassInstances);
    607 
    608     void (STDMETHODCALLTYPE *PSGetSamplers)(
    609         ID3D11DeviceContext2 *This,
    610         UINT StartSlot,
    611         UINT NumSamplers,
    612         ID3D11SamplerState **ppSamplers);
    613 
    614     void (STDMETHODCALLTYPE *VSGetShader)(
    615         ID3D11DeviceContext2 *This,
    616         ID3D11VertexShader **ppVertexShader,
    617         ID3D11ClassInstance **ppClassInstances,
    618         UINT *pNumClassInstances);
    619 
    620     void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
    621         ID3D11DeviceContext2 *This,
    622         UINT StartSlot,
    623         UINT NumBuffers,
    624         ID3D11Buffer **ppConstantBuffers);
    625 
    626     void (STDMETHODCALLTYPE *IAGetInputLayout)(
    627         ID3D11DeviceContext2 *This,
    628         ID3D11InputLayout **ppInputLayout);
    629 
    630     void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
    631         ID3D11DeviceContext2 *This,
    632         UINT StartSlot,
    633         UINT NumBuffers,
    634         ID3D11Buffer **ppVertexBuffers,
    635         UINT *pStrides,
    636         UINT *pOffsets);
    637 
    638     void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
    639         ID3D11DeviceContext2 *This,
    640         ID3D11Buffer **pIndexBuffer,
    641         DXGI_FORMAT *Format,
    642         UINT *Offset);
    643 
    644     void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
    645         ID3D11DeviceContext2 *This,
    646         UINT StartSlot,
    647         UINT NumBuffers,
    648         ID3D11Buffer **ppConstantBuffers);
    649 
    650     void (STDMETHODCALLTYPE *GSGetShader)(
    651         ID3D11DeviceContext2 *This,
    652         ID3D11GeometryShader **ppGeometryShader,
    653         ID3D11ClassInstance **ppClassInstances,
    654         UINT *pNumClassInstances);
    655 
    656     void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
    657         ID3D11DeviceContext2 *This,
    658         D3D11_PRIMITIVE_TOPOLOGY *pTopology);
    659 
    660     void (STDMETHODCALLTYPE *VSGetShaderResources)(
    661         ID3D11DeviceContext2 *This,
    662         UINT StartSlot,
    663         UINT NumViews,
    664         ID3D11ShaderResourceView **ppShaderResourceViews);
    665 
    666     void (STDMETHODCALLTYPE *VSGetSamplers)(
    667         ID3D11DeviceContext2 *This,
    668         UINT StartSlot,
    669         UINT NumSamplers,
    670         ID3D11SamplerState **ppSamplers);
    671 
    672     void (STDMETHODCALLTYPE *GetPredication)(
    673         ID3D11DeviceContext2 *This,
    674         ID3D11Predicate **ppPredicate,
    675         WINBOOL *pPredicateValue);
    676 
    677     void (STDMETHODCALLTYPE *GSGetShaderResources)(
    678         ID3D11DeviceContext2 *This,
    679         UINT StartSlot,
    680         UINT NumViews,
    681         ID3D11ShaderResourceView **ppShaderResourceViews);
    682 
    683     void (STDMETHODCALLTYPE *GSGetSamplers)(
    684         ID3D11DeviceContext2 *This,
    685         UINT StartSlot,
    686         UINT NumSamplers,
    687         ID3D11SamplerState **ppSamplers);
    688 
    689     void (STDMETHODCALLTYPE *OMGetRenderTargets)(
    690         ID3D11DeviceContext2 *This,
    691         UINT NumViews,
    692         ID3D11RenderTargetView **ppRenderTargetViews,
    693         ID3D11DepthStencilView **ppDepthStencilView);
    694 
    695     void (STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews)(
    696         ID3D11DeviceContext2 *This,
    697         UINT NumRTVs,
    698         ID3D11RenderTargetView **ppRenderTargetViews,
    699         ID3D11DepthStencilView **ppDepthStencilView,
    700         UINT UAVStartSlot,
    701         UINT NumUAVs,
    702         ID3D11UnorderedAccessView **ppUnorderedAccessViews);
    703 
    704     void (STDMETHODCALLTYPE *OMGetBlendState)(
    705         ID3D11DeviceContext2 *This,
    706         ID3D11BlendState **ppBlendState,
    707         FLOAT BlendFactor[4],
    708         UINT *pSampleMask);
    709 
    710     void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
    711         ID3D11DeviceContext2 *This,
    712         ID3D11DepthStencilState **ppDepthStencilState,
    713         UINT *pStencilRef);
    714 
    715     void (STDMETHODCALLTYPE *SOGetTargets)(
    716         ID3D11DeviceContext2 *This,
    717         UINT NumBuffers,
    718         ID3D11Buffer **ppSOTargets);
    719 
    720     void (STDMETHODCALLTYPE *RSGetState)(
    721         ID3D11DeviceContext2 *This,
    722         ID3D11RasterizerState **ppRasterizerState);
    723 
    724     void (STDMETHODCALLTYPE *RSGetViewports)(
    725         ID3D11DeviceContext2 *This,
    726         UINT *pNumViewports,
    727         D3D11_VIEWPORT *pViewports);
    728 
    729     void (STDMETHODCALLTYPE *RSGetScissorRects)(
    730         ID3D11DeviceContext2 *This,
    731         UINT *pNumRects,
    732         D3D11_RECT *pRects);
    733 
    734     void (STDMETHODCALLTYPE *HSGetShaderResources)(
    735         ID3D11DeviceContext2 *This,
    736         UINT StartSlot,
    737         UINT NumViews,
    738         ID3D11ShaderResourceView **ppShaderResourceViews);
    739 
    740     void (STDMETHODCALLTYPE *HSGetShader)(
    741         ID3D11DeviceContext2 *This,
    742         ID3D11HullShader **ppHullShader,
    743         ID3D11ClassInstance **ppClassInstances,
    744         UINT *pNumClassInstances);
    745 
    746     void (STDMETHODCALLTYPE *HSGetSamplers)(
    747         ID3D11DeviceContext2 *This,
    748         UINT StartSlot,
    749         UINT NumSamplers,
    750         ID3D11SamplerState **ppSamplers);
    751 
    752     void (STDMETHODCALLTYPE *HSGetConstantBuffers)(
    753         ID3D11DeviceContext2 *This,
    754         UINT StartSlot,
    755         UINT NumBuffers,
    756         ID3D11Buffer **ppConstantBuffers);
    757 
    758     void (STDMETHODCALLTYPE *DSGetShaderResources)(
    759         ID3D11DeviceContext2 *This,
    760         UINT StartSlot,
    761         UINT NumViews,
    762         ID3D11ShaderResourceView **ppShaderResourceViews);
    763 
    764     void (STDMETHODCALLTYPE *DSGetShader)(
    765         ID3D11DeviceContext2 *This,
    766         ID3D11DomainShader **ppDomainShader,
    767         ID3D11ClassInstance **ppClassInstances,
    768         UINT *pNumClassInstances);
    769 
    770     void (STDMETHODCALLTYPE *DSGetSamplers)(
    771         ID3D11DeviceContext2 *This,
    772         UINT StartSlot,
    773         UINT NumSamplers,
    774         ID3D11SamplerState **ppSamplers);
    775 
    776     void (STDMETHODCALLTYPE *DSGetConstantBuffers)(
    777         ID3D11DeviceContext2 *This,
    778         UINT StartSlot,
    779         UINT NumBuffers,
    780         ID3D11Buffer **ppConstantBuffers);
    781 
    782     void (STDMETHODCALLTYPE *CSGetShaderResources)(
    783         ID3D11DeviceContext2 *This,
    784         UINT StartSlot,
    785         UINT NumViews,
    786         ID3D11ShaderResourceView **ppShaderResourceViews);
    787 
    788     void (STDMETHODCALLTYPE *CSGetUnorderedAccessViews)(
    789         ID3D11DeviceContext2 *This,
    790         UINT StartSlot,
    791         UINT NumUAVs,
    792         ID3D11UnorderedAccessView **ppUnorderedAccessViews);
    793 
    794     void (STDMETHODCALLTYPE *CSGetShader)(
    795         ID3D11DeviceContext2 *This,
    796         ID3D11ComputeShader **ppComputeShader,
    797         ID3D11ClassInstance **ppClassInstances,
    798         UINT *pNumClassInstances);
    799 
    800     void (STDMETHODCALLTYPE *CSGetSamplers)(
    801         ID3D11DeviceContext2 *This,
    802         UINT StartSlot,
    803         UINT NumSamplers,
    804         ID3D11SamplerState **ppSamplers);
    805 
    806     void (STDMETHODCALLTYPE *CSGetConstantBuffers)(
    807         ID3D11DeviceContext2 *This,
    808         UINT StartSlot,
    809         UINT NumBuffers,
    810         ID3D11Buffer **ppConstantBuffers);
    811 
    812     void (STDMETHODCALLTYPE *ClearState)(
    813         ID3D11DeviceContext2 *This);
    814 
    815     void (STDMETHODCALLTYPE *Flush)(
    816         ID3D11DeviceContext2 *This);
    817 
    818     D3D11_DEVICE_CONTEXT_TYPE (STDMETHODCALLTYPE *GetType)(
    819         ID3D11DeviceContext2 *This);
    820 
    821     UINT (STDMETHODCALLTYPE *GetContextFlags)(
    822         ID3D11DeviceContext2 *This);
    823 
    824     HRESULT (STDMETHODCALLTYPE *FinishCommandList)(
    825         ID3D11DeviceContext2 *This,
    826         WINBOOL RestoreDeferredContextState,
    827         ID3D11CommandList **ppCommandList);
    828 
    829     /*** ID3D11DeviceContext1 methods ***/
    830     void (STDMETHODCALLTYPE *CopySubresourceRegion1)(
    831         ID3D11DeviceContext2 *This,
    832         ID3D11Resource *pDstResource,
    833         UINT DstSubresource,
    834         UINT DstX,
    835         UINT DstY,
    836         UINT DstZ,
    837         ID3D11Resource *pSrcResource,
    838         UINT SrcSubresource,
    839         const D3D11_BOX *pSrcBox,
    840         UINT CopyFlags);
    841 
    842     void (STDMETHODCALLTYPE *UpdateSubresource1)(
    843         ID3D11DeviceContext2 *This,
    844         ID3D11Resource *pDstResource,
    845         UINT DstSubresource,
    846         const D3D11_BOX *pDstBox,
    847         const void *pSrcData,
    848         UINT SrcRowPitch,
    849         UINT SrcDepthPitch,
    850         UINT CopyFlags);
    851 
    852     void (STDMETHODCALLTYPE *DiscardResource)(
    853         ID3D11DeviceContext2 *This,
    854         ID3D11Resource *pResource);
    855 
    856     void (STDMETHODCALLTYPE *DiscardView)(
    857         ID3D11DeviceContext2 *This,
    858         ID3D11View *pResourceView);
    859 
    860     void (STDMETHODCALLTYPE *VSSetConstantBuffers1)(
    861         ID3D11DeviceContext2 *This,
    862         UINT StartSlot,
    863         UINT NumBuffers,
    864         ID3D11Buffer *const *ppConstantBuffers,
    865         const UINT *pFirstConstant,
    866         const UINT *pNumConstants);
    867 
    868     void (STDMETHODCALLTYPE *HSSetConstantBuffers1)(
    869         ID3D11DeviceContext2 *This,
    870         UINT StartSlot,
    871         UINT NumBuffers,
    872         ID3D11Buffer *const *ppConstantBuffers,
    873         const UINT *pFirstConstant,
    874         const UINT *pNumConstants);
    875 
    876     void (STDMETHODCALLTYPE *DSSetConstantBuffers1)(
    877         ID3D11DeviceContext2 *This,
    878         UINT StartSlot,
    879         UINT NumBuffers,
    880         ID3D11Buffer *const *ppConstantBuffers,
    881         const UINT *pFirstConstant,
    882         const UINT *pNumConstants);
    883 
    884     void (STDMETHODCALLTYPE *GSSetConstantBuffers1)(
    885         ID3D11DeviceContext2 *This,
    886         UINT StartSlot,
    887         UINT NumBuffers,
    888         ID3D11Buffer *const *ppConstantBuffers,
    889         const UINT *pFirstConstant,
    890         const UINT *pNumConstants);
    891 
    892     void (STDMETHODCALLTYPE *PSSetConstantBuffers1)(
    893         ID3D11DeviceContext2 *This,
    894         UINT StartSlot,
    895         UINT NumBuffers,
    896         ID3D11Buffer *const *ppConstantBuffers,
    897         const UINT *pFirstConstant,
    898         const UINT *pNumConstants);
    899 
    900     void (STDMETHODCALLTYPE *CSSetConstantBuffers1)(
    901         ID3D11DeviceContext2 *This,
    902         UINT StartSlot,
    903         UINT NumBuffers,
    904         ID3D11Buffer *const *ppConstantBuffers,
    905         const UINT *pFirstConstant,
    906         const UINT *pNumConstants);
    907 
    908     void (STDMETHODCALLTYPE *VSGetConstantBuffers1)(
    909         ID3D11DeviceContext2 *This,
    910         UINT StartSlot,
    911         UINT NumBuffers,
    912         ID3D11Buffer **ppConstantBuffers,
    913         UINT *pFirstConstant,
    914         UINT *pNumConstants);
    915 
    916     void (STDMETHODCALLTYPE *HSGetConstantBuffers1)(
    917         ID3D11DeviceContext2 *This,
    918         UINT StartSlot,
    919         UINT NumBuffers,
    920         ID3D11Buffer **ppConstantBuffers,
    921         UINT *pFirstConstant,
    922         UINT *pNumConstants);
    923 
    924     void (STDMETHODCALLTYPE *DSGetConstantBuffers1)(
    925         ID3D11DeviceContext2 *This,
    926         UINT StartSlot,
    927         UINT NumBuffers,
    928         ID3D11Buffer **ppConstantBuffers,
    929         UINT *pFirstConstant,
    930         UINT *pNumConstants);
    931 
    932     void (STDMETHODCALLTYPE *GSGetConstantBuffers1)(
    933         ID3D11DeviceContext2 *This,
    934         UINT StartSlot,
    935         UINT NumBuffers,
    936         ID3D11Buffer **ppConstantBuffers,
    937         UINT *pFirstConstant,
    938         UINT *pNumConstants);
    939 
    940     void (STDMETHODCALLTYPE *PSGetConstantBuffers1)(
    941         ID3D11DeviceContext2 *This,
    942         UINT StartSlot,
    943         UINT NumBuffers,
    944         ID3D11Buffer **ppConstantBuffers,
    945         UINT *pFirstConstant,
    946         UINT *pNumConstants);
    947 
    948     void (STDMETHODCALLTYPE *CSGetConstantBuffers1)(
    949         ID3D11DeviceContext2 *This,
    950         UINT StartSlot,
    951         UINT NumBuffers,
    952         ID3D11Buffer **ppConstantBuffers,
    953         UINT *pFirstConstant,
    954         UINT *pNumConstants);
    955 
    956     void (STDMETHODCALLTYPE *SwapDeviceContextState)(
    957         ID3D11DeviceContext2 *This,
    958         ID3DDeviceContextState *pState,
    959         ID3DDeviceContextState **ppPreviousState);
    960 
    961     void (STDMETHODCALLTYPE *ClearView)(
    962         ID3D11DeviceContext2 *This,
    963         ID3D11View *pView,
    964         const FLOAT Color[4],
    965         const D3D11_RECT *pRect,
    966         UINT NumRects);
    967 
    968     void (STDMETHODCALLTYPE *DiscardView1)(
    969         ID3D11DeviceContext2 *This,
    970         ID3D11View *pResourceView,
    971         const D3D11_RECT *pRects,
    972         UINT NumRects);
    973 
    974     /*** ID3D11DeviceContext2 methods ***/
    975     HRESULT (STDMETHODCALLTYPE *UpdateTileMappings)(
    976         ID3D11DeviceContext2 *This,
    977         ID3D11Resource *resource,
    978         UINT region_count,
    979         const D3D11_TILED_RESOURCE_COORDINATE *region_start_coordinates,
    980         const D3D11_TILE_REGION_SIZE *region_sizes,
    981         ID3D11Buffer *pool,
    982         UINT range_count,
    983         const UINT *range_flags,
    984         const UINT *pool_start_offsets,
    985         const UINT *range_tile_counts,
    986         UINT flags);
    987 
    988     HRESULT (STDMETHODCALLTYPE *CopyTileMappings)(
    989         ID3D11DeviceContext2 *This,
    990         ID3D11Resource *dst_resource,
    991         const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
    992         ID3D11Resource *src_resource,
    993         const D3D11_TILED_RESOURCE_COORDINATE *src_start_coordinate,
    994         const D3D11_TILE_REGION_SIZE *region_size,
    995         UINT flags);
    996 
    997     void (STDMETHODCALLTYPE *CopyTiles)(
    998         ID3D11DeviceContext2 *This,
    999         ID3D11Resource *resource,
   1000         const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,
   1001         const D3D11_TILE_REGION_SIZE *size,
   1002         ID3D11Buffer *buffer,
   1003         UINT64 start_offset,
   1004         UINT flags);
   1005 
   1006     void (STDMETHODCALLTYPE *UpdateTiles)(
   1007         ID3D11DeviceContext2 *This,
   1008         ID3D11Resource *dst_resource,
   1009         const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
   1010         const D3D11_TILE_REGION_SIZE *dst_region_size,
   1011         const void *src_data,
   1012         UINT flags);
   1013 
   1014     HRESULT (STDMETHODCALLTYPE *ResizeTilePool)(
   1015         ID3D11DeviceContext2 *This,
   1016         ID3D11Buffer *pool,
   1017         UINT64 size);
   1018 
   1019     void (STDMETHODCALLTYPE *TiledResourceBarrier)(
   1020         ID3D11DeviceContext2 *This,
   1021         ID3D11DeviceChild *before_barrier,
   1022         ID3D11DeviceChild *after_barrier);
   1023 
   1024     WINBOOL (STDMETHODCALLTYPE *IsAnnotationEnabled)(
   1025         ID3D11DeviceContext2 *This);
   1026 
   1027     void (STDMETHODCALLTYPE *SetMarkerInt)(
   1028         ID3D11DeviceContext2 *This,
   1029         const WCHAR *label,
   1030         int data);
   1031 
   1032     void (STDMETHODCALLTYPE *BeginEventInt)(
   1033         ID3D11DeviceContext2 *This,
   1034         const WCHAR *label,
   1035         int data);
   1036 
   1037     void (STDMETHODCALLTYPE *EndEvent)(
   1038         ID3D11DeviceContext2 *This);
   1039 
   1040     END_INTERFACE
   1041 } ID3D11DeviceContext2Vtbl;
   1042 
   1043 interface ID3D11DeviceContext2 {
   1044     CONST_VTBL ID3D11DeviceContext2Vtbl* lpVtbl;
   1045 };
   1046 
   1047 #ifdef COBJMACROS
   1048 #ifndef WIDL_C_INLINE_WRAPPERS
   1049 /*** IUnknown methods ***/
   1050 #define ID3D11DeviceContext2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1051 #define ID3D11DeviceContext2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1052 #define ID3D11DeviceContext2_Release(This) (This)->lpVtbl->Release(This)
   1053 /*** ID3D11DeviceChild methods ***/
   1054 #define ID3D11DeviceContext2_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
   1055 #define ID3D11DeviceContext2_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
   1056 #define ID3D11DeviceContext2_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
   1057 #define ID3D11DeviceContext2_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
   1058 /*** ID3D11DeviceContext methods ***/
   1059 #define ID3D11DeviceContext2_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1060 #define ID3D11DeviceContext2_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1061 #define ID3D11DeviceContext2_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances)
   1062 #define ID3D11DeviceContext2_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1063 #define ID3D11DeviceContext2_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances)
   1064 #define ID3D11DeviceContext2_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
   1065 #define ID3D11DeviceContext2_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
   1066 #define ID3D11DeviceContext2_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) (This)->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource)
   1067 #define ID3D11DeviceContext2_Unmap(This,pResource,Subresource) (This)->lpVtbl->Unmap(This,pResource,Subresource)
   1068 #define ID3D11DeviceContext2_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1069 #define ID3D11DeviceContext2_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
   1070 #define ID3D11DeviceContext2_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
   1071 #define ID3D11DeviceContext2_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
   1072 #define ID3D11DeviceContext2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
   1073 #define ID3D11DeviceContext2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
   1074 #define ID3D11DeviceContext2_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1075 #define ID3D11DeviceContext2_GSSetShader(This,pShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances)
   1076 #define ID3D11DeviceContext2_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
   1077 #define ID3D11DeviceContext2_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1078 #define ID3D11DeviceContext2_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1079 #define ID3D11DeviceContext2_Begin(This,pAsync) (This)->lpVtbl->Begin(This,pAsync)
   1080 #define ID3D11DeviceContext2_End(This,pAsync) (This)->lpVtbl->End(This,pAsync)
   1081 #define ID3D11DeviceContext2_GetData(This,pAsync,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags)
   1082 #define ID3D11DeviceContext2_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
   1083 #define ID3D11DeviceContext2_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1084 #define ID3D11DeviceContext2_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1085 #define ID3D11DeviceContext2_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
   1086 #define ID3D11DeviceContext2_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
   1087 #define ID3D11DeviceContext2_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
   1088 #define ID3D11DeviceContext2_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
   1089 #define ID3D11DeviceContext2_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
   1090 #define ID3D11DeviceContext2_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
   1091 #define ID3D11DeviceContext2_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
   1092 #define ID3D11DeviceContext2_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
   1093 #define ID3D11DeviceContext2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) (This)->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)
   1094 #define ID3D11DeviceContext2_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
   1095 #define ID3D11DeviceContext2_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
   1096 #define ID3D11DeviceContext2_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
   1097 #define ID3D11DeviceContext2_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
   1098 #define ID3D11DeviceContext2_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
   1099 #define ID3D11DeviceContext2_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
   1100 #define ID3D11DeviceContext2_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
   1101 #define ID3D11DeviceContext2_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) (This)->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView)
   1102 #define ID3D11DeviceContext2_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
   1103 #define ID3D11DeviceContext2_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values)
   1104 #define ID3D11DeviceContext2_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values)
   1105 #define ID3D11DeviceContext2_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
   1106 #define ID3D11DeviceContext2_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
   1107 #define ID3D11DeviceContext2_SetResourceMinLOD(This,pResource,MinLOD) (This)->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD)
   1108 #define ID3D11DeviceContext2_GetResourceMinLOD(This,pResource) (This)->lpVtbl->GetResourceMinLOD(This,pResource)
   1109 #define ID3D11DeviceContext2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
   1110 #define ID3D11DeviceContext2_ExecuteCommandList(This,pCommandList,RestoreContextState) (This)->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState)
   1111 #define ID3D11DeviceContext2_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1112 #define ID3D11DeviceContext2_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances)
   1113 #define ID3D11DeviceContext2_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1114 #define ID3D11DeviceContext2_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1115 #define ID3D11DeviceContext2_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1116 #define ID3D11DeviceContext2_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances)
   1117 #define ID3D11DeviceContext2_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1118 #define ID3D11DeviceContext2_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1119 #define ID3D11DeviceContext2_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1120 #define ID3D11DeviceContext2_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
   1121 #define ID3D11DeviceContext2_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances)
   1122 #define ID3D11DeviceContext2_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1123 #define ID3D11DeviceContext2_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1124 #define ID3D11DeviceContext2_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1125 #define ID3D11DeviceContext2_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1126 #define ID3D11DeviceContext2_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances)
   1127 #define ID3D11DeviceContext2_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1128 #define ID3D11DeviceContext2_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances)
   1129 #define ID3D11DeviceContext2_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1130 #define ID3D11DeviceContext2_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
   1131 #define ID3D11DeviceContext2_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
   1132 #define ID3D11DeviceContext2_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
   1133 #define ID3D11DeviceContext2_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1134 #define ID3D11DeviceContext2_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances)
   1135 #define ID3D11DeviceContext2_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
   1136 #define ID3D11DeviceContext2_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1137 #define ID3D11DeviceContext2_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1138 #define ID3D11DeviceContext2_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
   1139 #define ID3D11DeviceContext2_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1140 #define ID3D11DeviceContext2_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1141 #define ID3D11DeviceContext2_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
   1142 #define ID3D11DeviceContext2_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews)
   1143 #define ID3D11DeviceContext2_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
   1144 #define ID3D11DeviceContext2_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
   1145 #define ID3D11DeviceContext2_SOGetTargets(This,NumBuffers,ppSOTargets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets)
   1146 #define ID3D11DeviceContext2_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
   1147 #define ID3D11DeviceContext2_RSGetViewports(This,pNumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,pNumViewports,pViewports)
   1148 #define ID3D11DeviceContext2_RSGetScissorRects(This,pNumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,pNumRects,pRects)
   1149 #define ID3D11DeviceContext2_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1150 #define ID3D11DeviceContext2_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances)
   1151 #define ID3D11DeviceContext2_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1152 #define ID3D11DeviceContext2_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1153 #define ID3D11DeviceContext2_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1154 #define ID3D11DeviceContext2_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances)
   1155 #define ID3D11DeviceContext2_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1156 #define ID3D11DeviceContext2_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1157 #define ID3D11DeviceContext2_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
   1158 #define ID3D11DeviceContext2_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews)
   1159 #define ID3D11DeviceContext2_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances)
   1160 #define ID3D11DeviceContext2_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
   1161 #define ID3D11DeviceContext2_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
   1162 #define ID3D11DeviceContext2_ClearState(This) (This)->lpVtbl->ClearState(This)
   1163 #define ID3D11DeviceContext2_Flush(This) (This)->lpVtbl->Flush(This)
   1164 #define ID3D11DeviceContext2_GetType(This) (This)->lpVtbl->GetType(This)
   1165 #define ID3D11DeviceContext2_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
   1166 #define ID3D11DeviceContext2_FinishCommandList(This,RestoreDeferredContextState,ppCommandList) (This)->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList)
   1167 /*** ID3D11DeviceContext1 methods ***/
   1168 #define ID3D11DeviceContext2_CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags) (This)->lpVtbl->CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags)
   1169 #define ID3D11DeviceContext2_UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags) (This)->lpVtbl->UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags)
   1170 #define ID3D11DeviceContext2_DiscardResource(This,pResource) (This)->lpVtbl->DiscardResource(This,pResource)
   1171 #define ID3D11DeviceContext2_DiscardView(This,pResourceView) (This)->lpVtbl->DiscardView(This,pResourceView)
   1172 #define ID3D11DeviceContext2_VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1173 #define ID3D11DeviceContext2_HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1174 #define ID3D11DeviceContext2_DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1175 #define ID3D11DeviceContext2_GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1176 #define ID3D11DeviceContext2_PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1177 #define ID3D11DeviceContext2_CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1178 #define ID3D11DeviceContext2_VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1179 #define ID3D11DeviceContext2_HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1180 #define ID3D11DeviceContext2_DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1181 #define ID3D11DeviceContext2_GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1182 #define ID3D11DeviceContext2_PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1183 #define ID3D11DeviceContext2_CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
   1184 #define ID3D11DeviceContext2_SwapDeviceContextState(This,pState,ppPreviousState) (This)->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState)
   1185 #define ID3D11DeviceContext2_ClearView(This,pView,Color,pRect,NumRects) (This)->lpVtbl->ClearView(This,pView,Color,pRect,NumRects)
   1186 #define ID3D11DeviceContext2_DiscardView1(This,pResourceView,pRects,NumRects) (This)->lpVtbl->DiscardView1(This,pResourceView,pRects,NumRects)
   1187 /*** ID3D11DeviceContext2 methods ***/
   1188 #define ID3D11DeviceContext2_UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,pool,range_count,range_flags,pool_start_offsets,range_tile_counts,flags) (This)->lpVtbl->UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,pool,range_count,range_flags,pool_start_offsets,range_tile_counts,flags)
   1189 #define ID3D11DeviceContext2_CopyTileMappings(This,dst_resource,dst_start_coordinate,src_resource,src_start_coordinate,region_size,flags) (This)->lpVtbl->CopyTileMappings(This,dst_resource,dst_start_coordinate,src_resource,src_start_coordinate,region_size,flags)
   1190 #define ID3D11DeviceContext2_CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags) (This)->lpVtbl->CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags)
   1191 #define ID3D11DeviceContext2_UpdateTiles(This,dst_resource,dst_start_coordinate,dst_region_size,src_data,flags) (This)->lpVtbl->UpdateTiles(This,dst_resource,dst_start_coordinate,dst_region_size,src_data,flags)
   1192 #define ID3D11DeviceContext2_ResizeTilePool(This,pool,size) (This)->lpVtbl->ResizeTilePool(This,pool,size)
   1193 #define ID3D11DeviceContext2_TiledResourceBarrier(This,before_barrier,after_barrier) (This)->lpVtbl->TiledResourceBarrier(This,before_barrier,after_barrier)
   1194 #define ID3D11DeviceContext2_IsAnnotationEnabled(This) (This)->lpVtbl->IsAnnotationEnabled(This)
   1195 #define ID3D11DeviceContext2_SetMarkerInt(This,label,data) (This)->lpVtbl->SetMarkerInt(This,label,data)
   1196 #define ID3D11DeviceContext2_BeginEventInt(This,label,data) (This)->lpVtbl->BeginEventInt(This,label,data)
   1197 #define ID3D11DeviceContext2_EndEvent(This) (This)->lpVtbl->EndEvent(This)
   1198 #else
   1199 /*** IUnknown methods ***/
   1200 static inline HRESULT ID3D11DeviceContext2_QueryInterface(ID3D11DeviceContext2* This,REFIID riid,void **ppvObject) {
   1201     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1202 }
   1203 static inline ULONG ID3D11DeviceContext2_AddRef(ID3D11DeviceContext2* This) {
   1204     return This->lpVtbl->AddRef(This);
   1205 }
   1206 static inline ULONG ID3D11DeviceContext2_Release(ID3D11DeviceContext2* This) {
   1207     return This->lpVtbl->Release(This);
   1208 }
   1209 /*** ID3D11DeviceChild methods ***/
   1210 static inline void ID3D11DeviceContext2_GetDevice(ID3D11DeviceContext2* This,ID3D11Device **ppDevice) {
   1211     This->lpVtbl->GetDevice(This,ppDevice);
   1212 }
   1213 static inline HRESULT ID3D11DeviceContext2_GetPrivateData(ID3D11DeviceContext2* This,REFGUID guid,UINT *pDataSize,void *pData) {
   1214     return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
   1215 }
   1216 static inline HRESULT ID3D11DeviceContext2_SetPrivateData(ID3D11DeviceContext2* This,REFGUID guid,UINT DataSize,const void *pData) {
   1217     return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
   1218 }
   1219 static inline HRESULT ID3D11DeviceContext2_SetPrivateDataInterface(ID3D11DeviceContext2* This,REFGUID guid,const IUnknown *pData) {
   1220     return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
   1221 }
   1222 /*** ID3D11DeviceContext methods ***/
   1223 static inline void ID3D11DeviceContext2_VSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
   1224     This->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1225 }
   1226 static inline void ID3D11DeviceContext2_PSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
   1227     This->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1228 }
   1229 static inline void ID3D11DeviceContext2_PSSetShader(ID3D11DeviceContext2* This,ID3D11PixelShader *pPixelShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
   1230     This->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances);
   1231 }
   1232 static inline void ID3D11DeviceContext2_PSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
   1233     This->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1234 }
   1235 static inline void ID3D11DeviceContext2_VSSetShader(ID3D11DeviceContext2* This,ID3D11VertexShader *pVertexShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
   1236     This->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances);
   1237 }
   1238 static inline void ID3D11DeviceContext2_DrawIndexed(ID3D11DeviceContext2* This,UINT IndexCount,UINT StartIndexLocation,INT BaseVertexLocation) {
   1239     This->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation);
   1240 }
   1241 static inline void ID3D11DeviceContext2_Draw(ID3D11DeviceContext2* This,UINT VertexCount,UINT StartVertexLocation) {
   1242     This->lpVtbl->Draw(This,VertexCount,StartVertexLocation);
   1243 }
   1244 static inline HRESULT ID3D11DeviceContext2_Map(ID3D11DeviceContext2* This,ID3D11Resource *pResource,UINT Subresource,D3D11_MAP MapType,UINT MapFlags,D3D11_MAPPED_SUBRESOURCE *pMappedResource) {
   1245     return This->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource);
   1246 }
   1247 static inline void ID3D11DeviceContext2_Unmap(ID3D11DeviceContext2* This,ID3D11Resource *pResource,UINT Subresource) {
   1248     This->lpVtbl->Unmap(This,pResource,Subresource);
   1249 }
   1250 static inline void ID3D11DeviceContext2_PSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
   1251     This->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1252 }
   1253 static inline void ID3D11DeviceContext2_IASetInputLayout(ID3D11DeviceContext2* This,ID3D11InputLayout *pInputLayout) {
   1254     This->lpVtbl->IASetInputLayout(This,pInputLayout);
   1255 }
   1256 static inline void ID3D11DeviceContext2_IASetVertexBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppVertexBuffers,const UINT *pStrides,const UINT *pOffsets) {
   1257     This->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
   1258 }
   1259 static inline void ID3D11DeviceContext2_IASetIndexBuffer(ID3D11DeviceContext2* This,ID3D11Buffer *pIndexBuffer,DXGI_FORMAT Format,UINT Offset) {
   1260     This->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset);
   1261 }
   1262 static inline void ID3D11DeviceContext2_DrawIndexedInstanced(ID3D11DeviceContext2* This,UINT IndexCountPerInstance,UINT InstanceCount,UINT StartIndexLocation,INT BaseVertexLocation,UINT StartInstanceLocation) {
   1263     This->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation);
   1264 }
   1265 static inline void ID3D11DeviceContext2_DrawInstanced(ID3D11DeviceContext2* This,UINT VertexCountPerInstance,UINT InstanceCount,UINT StartVertexLocation,UINT StartInstanceLocation) {
   1266     This->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation);
   1267 }
   1268 static inline void ID3D11DeviceContext2_GSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
   1269     This->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1270 }
   1271 static inline void ID3D11DeviceContext2_GSSetShader(ID3D11DeviceContext2* This,ID3D11GeometryShader *pShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
   1272     This->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances);
   1273 }
   1274 static inline void ID3D11DeviceContext2_IASetPrimitiveTopology(ID3D11DeviceContext2* This,D3D11_PRIMITIVE_TOPOLOGY Topology) {
   1275     This->lpVtbl->IASetPrimitiveTopology(This,Topology);
   1276 }
   1277 static inline void ID3D11DeviceContext2_VSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
   1278     This->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1279 }
   1280 static inline void ID3D11DeviceContext2_VSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
   1281     This->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1282 }
   1283 static inline void ID3D11DeviceContext2_Begin(ID3D11DeviceContext2* This,ID3D11Asynchronous *pAsync) {
   1284     This->lpVtbl->Begin(This,pAsync);
   1285 }
   1286 static inline void ID3D11DeviceContext2_End(ID3D11DeviceContext2* This,ID3D11Asynchronous *pAsync) {
   1287     This->lpVtbl->End(This,pAsync);
   1288 }
   1289 static inline HRESULT ID3D11DeviceContext2_GetData(ID3D11DeviceContext2* This,ID3D11Asynchronous *pAsync,void *pData,UINT DataSize,UINT GetDataFlags) {
   1290     return This->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags);
   1291 }
   1292 static inline void ID3D11DeviceContext2_SetPredication(ID3D11DeviceContext2* This,ID3D11Predicate *pPredicate,WINBOOL PredicateValue) {
   1293     This->lpVtbl->SetPredication(This,pPredicate,PredicateValue);
   1294 }
   1295 static inline void ID3D11DeviceContext2_GSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
   1296     This->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1297 }
   1298 static inline void ID3D11DeviceContext2_GSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
   1299     This->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1300 }
   1301 static inline void ID3D11DeviceContext2_OMSetRenderTargets(ID3D11DeviceContext2* This,UINT NumViews,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView) {
   1302     This->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView);
   1303 }
   1304 static inline void ID3D11DeviceContext2_OMSetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext2* This,UINT NumRTVs,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
   1305     This->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
   1306 }
   1307 static inline void ID3D11DeviceContext2_OMSetBlendState(ID3D11DeviceContext2* This,ID3D11BlendState *pBlendState,const FLOAT BlendFactor[4],UINT SampleMask) {
   1308     This->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask);
   1309 }
   1310 static inline void ID3D11DeviceContext2_OMSetDepthStencilState(ID3D11DeviceContext2* This,ID3D11DepthStencilState *pDepthStencilState,UINT StencilRef) {
   1311     This->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef);
   1312 }
   1313 static inline void ID3D11DeviceContext2_SOSetTargets(ID3D11DeviceContext2* This,UINT NumBuffers,ID3D11Buffer *const *ppSOTargets,const UINT *pOffsets) {
   1314     This->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets);
   1315 }
   1316 static inline void ID3D11DeviceContext2_DrawAuto(ID3D11DeviceContext2* This) {
   1317     This->lpVtbl->DrawAuto(This);
   1318 }
   1319 static inline void ID3D11DeviceContext2_DrawIndexedInstancedIndirect(ID3D11DeviceContext2* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
   1320     This->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
   1321 }
   1322 static inline void ID3D11DeviceContext2_DrawInstancedIndirect(ID3D11DeviceContext2* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
   1323     This->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
   1324 }
   1325 static inline void ID3D11DeviceContext2_Dispatch(ID3D11DeviceContext2* This,UINT ThreadGroupCountX,UINT ThreadGroupCountY,UINT ThreadGroupCountZ) {
   1326     This->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ);
   1327 }
   1328 static inline void ID3D11DeviceContext2_DispatchIndirect(ID3D11DeviceContext2* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
   1329     This->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
   1330 }
   1331 static inline void ID3D11DeviceContext2_RSSetState(ID3D11DeviceContext2* This,ID3D11RasterizerState *pRasterizerState) {
   1332     This->lpVtbl->RSSetState(This,pRasterizerState);
   1333 }
   1334 static inline void ID3D11DeviceContext2_RSSetViewports(ID3D11DeviceContext2* This,UINT NumViewports,const D3D11_VIEWPORT *pViewports) {
   1335     This->lpVtbl->RSSetViewports(This,NumViewports,pViewports);
   1336 }
   1337 static inline void ID3D11DeviceContext2_RSSetScissorRects(ID3D11DeviceContext2* This,UINT NumRects,const D3D11_RECT *pRects) {
   1338     This->lpVtbl->RSSetScissorRects(This,NumRects,pRects);
   1339 }
   1340 static inline void ID3D11DeviceContext2_CopySubresourceRegion(ID3D11DeviceContext2* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox) {
   1341     This->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox);
   1342 }
   1343 static inline void ID3D11DeviceContext2_CopyResource(ID3D11DeviceContext2* This,ID3D11Resource *pDstResource,ID3D11Resource *pSrcResource) {
   1344     This->lpVtbl->CopyResource(This,pDstResource,pSrcResource);
   1345 }
   1346 static inline void ID3D11DeviceContext2_UpdateSubresource(ID3D11DeviceContext2* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch) {
   1347     This->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch);
   1348 }
   1349 static inline void ID3D11DeviceContext2_CopyStructureCount(ID3D11DeviceContext2* This,ID3D11Buffer *pDstBuffer,UINT DstAlignedByteOffset,ID3D11UnorderedAccessView *pSrcView) {
   1350     This->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView);
   1351 }
   1352 static inline void ID3D11DeviceContext2_ClearRenderTargetView(ID3D11DeviceContext2* This,ID3D11RenderTargetView *pRenderTargetView,const FLOAT ColorRGBA[4]) {
   1353     This->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA);
   1354 }
   1355 static inline void ID3D11DeviceContext2_ClearUnorderedAccessViewUint(ID3D11DeviceContext2* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const UINT Values[4]) {
   1356     This->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values);
   1357 }
   1358 static inline void ID3D11DeviceContext2_ClearUnorderedAccessViewFloat(ID3D11DeviceContext2* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const FLOAT Values[4]) {
   1359     This->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values);
   1360 }
   1361 static inline void ID3D11DeviceContext2_ClearDepthStencilView(ID3D11DeviceContext2* This,ID3D11DepthStencilView *pDepthStencilView,UINT ClearFlags,FLOAT Depth,UINT8 Stencil) {
   1362     This->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil);
   1363 }
   1364 static inline void ID3D11DeviceContext2_GenerateMips(ID3D11DeviceContext2* This,ID3D11ShaderResourceView *pShaderResourceView) {
   1365     This->lpVtbl->GenerateMips(This,pShaderResourceView);
   1366 }
   1367 static inline void ID3D11DeviceContext2_SetResourceMinLOD(ID3D11DeviceContext2* This,ID3D11Resource *pResource,FLOAT MinLOD) {
   1368     This->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD);
   1369 }
   1370 static inline FLOAT ID3D11DeviceContext2_GetResourceMinLOD(ID3D11DeviceContext2* This,ID3D11Resource *pResource) {
   1371     return This->lpVtbl->GetResourceMinLOD(This,pResource);
   1372 }
   1373 static inline void ID3D11DeviceContext2_ResolveSubresource(ID3D11DeviceContext2* This,ID3D11Resource *pDstResource,UINT DstSubresource,ID3D11Resource *pSrcResource,UINT SrcSubresource,DXGI_FORMAT Format) {
   1374     This->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format);
   1375 }
   1376 static inline void ID3D11DeviceContext2_ExecuteCommandList(ID3D11DeviceContext2* This,ID3D11CommandList *pCommandList,WINBOOL RestoreContextState) {
   1377     This->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState);
   1378 }
   1379 static inline void ID3D11DeviceContext2_HSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
   1380     This->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1381 }
   1382 static inline void ID3D11DeviceContext2_HSSetShader(ID3D11DeviceContext2* This,ID3D11HullShader *pHullShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
   1383     This->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances);
   1384 }
   1385 static inline void ID3D11DeviceContext2_HSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
   1386     This->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1387 }
   1388 static inline void ID3D11DeviceContext2_HSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
   1389     This->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1390 }
   1391 static inline void ID3D11DeviceContext2_DSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
   1392     This->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1393 }
   1394 static inline void ID3D11DeviceContext2_DSSetShader(ID3D11DeviceContext2* This,ID3D11DomainShader *pDomainShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
   1395     This->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances);
   1396 }
   1397 static inline void ID3D11DeviceContext2_DSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
   1398     This->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1399 }
   1400 static inline void ID3D11DeviceContext2_DSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
   1401     This->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1402 }
   1403 static inline void ID3D11DeviceContext2_CSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
   1404     This->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1405 }
   1406 static inline void ID3D11DeviceContext2_CSSetUnorderedAccessViews(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
   1407     This->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
   1408 }
   1409 static inline void ID3D11DeviceContext2_CSSetShader(ID3D11DeviceContext2* This,ID3D11ComputeShader *pComputeShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
   1410     This->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances);
   1411 }
   1412 static inline void ID3D11DeviceContext2_CSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
   1413     This->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1414 }
   1415 static inline void ID3D11DeviceContext2_CSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
   1416     This->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1417 }
   1418 static inline void ID3D11DeviceContext2_VSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
   1419     This->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1420 }
   1421 static inline void ID3D11DeviceContext2_PSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
   1422     This->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1423 }
   1424 static inline void ID3D11DeviceContext2_PSGetShader(ID3D11DeviceContext2* This,ID3D11PixelShader **ppPixelShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
   1425     This->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances);
   1426 }
   1427 static inline void ID3D11DeviceContext2_PSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
   1428     This->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1429 }
   1430 static inline void ID3D11DeviceContext2_VSGetShader(ID3D11DeviceContext2* This,ID3D11VertexShader **ppVertexShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
   1431     This->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances);
   1432 }
   1433 static inline void ID3D11DeviceContext2_PSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
   1434     This->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1435 }
   1436 static inline void ID3D11DeviceContext2_IAGetInputLayout(ID3D11DeviceContext2* This,ID3D11InputLayout **ppInputLayout) {
   1437     This->lpVtbl->IAGetInputLayout(This,ppInputLayout);
   1438 }
   1439 static inline void ID3D11DeviceContext2_IAGetVertexBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppVertexBuffers,UINT *pStrides,UINT *pOffsets) {
   1440     This->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
   1441 }
   1442 static inline void ID3D11DeviceContext2_IAGetIndexBuffer(ID3D11DeviceContext2* This,ID3D11Buffer **pIndexBuffer,DXGI_FORMAT *Format,UINT *Offset) {
   1443     This->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset);
   1444 }
   1445 static inline void ID3D11DeviceContext2_GSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
   1446     This->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1447 }
   1448 static inline void ID3D11DeviceContext2_GSGetShader(ID3D11DeviceContext2* This,ID3D11GeometryShader **ppGeometryShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
   1449     This->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances);
   1450 }
   1451 static inline void ID3D11DeviceContext2_IAGetPrimitiveTopology(ID3D11DeviceContext2* This,D3D11_PRIMITIVE_TOPOLOGY *pTopology) {
   1452     This->lpVtbl->IAGetPrimitiveTopology(This,pTopology);
   1453 }
   1454 static inline void ID3D11DeviceContext2_VSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
   1455     This->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1456 }
   1457 static inline void ID3D11DeviceContext2_VSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
   1458     This->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1459 }
   1460 static inline void ID3D11DeviceContext2_GetPredication(ID3D11DeviceContext2* This,ID3D11Predicate **ppPredicate,WINBOOL *pPredicateValue) {
   1461     This->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue);
   1462 }
   1463 static inline void ID3D11DeviceContext2_GSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
   1464     This->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1465 }
   1466 static inline void ID3D11DeviceContext2_GSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
   1467     This->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1468 }
   1469 static inline void ID3D11DeviceContext2_OMGetRenderTargets(ID3D11DeviceContext2* This,UINT NumViews,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView) {
   1470     This->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView);
   1471 }
   1472 static inline void ID3D11DeviceContext2_OMGetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext2* This,UINT NumRTVs,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
   1473     This->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews);
   1474 }
   1475 static inline void ID3D11DeviceContext2_OMGetBlendState(ID3D11DeviceContext2* This,ID3D11BlendState **ppBlendState,FLOAT BlendFactor[4],UINT *pSampleMask) {
   1476     This->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask);
   1477 }
   1478 static inline void ID3D11DeviceContext2_OMGetDepthStencilState(ID3D11DeviceContext2* This,ID3D11DepthStencilState **ppDepthStencilState,UINT *pStencilRef) {
   1479     This->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef);
   1480 }
   1481 static inline void ID3D11DeviceContext2_SOGetTargets(ID3D11DeviceContext2* This,UINT NumBuffers,ID3D11Buffer **ppSOTargets) {
   1482     This->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets);
   1483 }
   1484 static inline void ID3D11DeviceContext2_RSGetState(ID3D11DeviceContext2* This,ID3D11RasterizerState **ppRasterizerState) {
   1485     This->lpVtbl->RSGetState(This,ppRasterizerState);
   1486 }
   1487 static inline void ID3D11DeviceContext2_RSGetViewports(ID3D11DeviceContext2* This,UINT *pNumViewports,D3D11_VIEWPORT *pViewports) {
   1488     This->lpVtbl->RSGetViewports(This,pNumViewports,pViewports);
   1489 }
   1490 static inline void ID3D11DeviceContext2_RSGetScissorRects(ID3D11DeviceContext2* This,UINT *pNumRects,D3D11_RECT *pRects) {
   1491     This->lpVtbl->RSGetScissorRects(This,pNumRects,pRects);
   1492 }
   1493 static inline void ID3D11DeviceContext2_HSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
   1494     This->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1495 }
   1496 static inline void ID3D11DeviceContext2_HSGetShader(ID3D11DeviceContext2* This,ID3D11HullShader **ppHullShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
   1497     This->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances);
   1498 }
   1499 static inline void ID3D11DeviceContext2_HSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
   1500     This->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1501 }
   1502 static inline void ID3D11DeviceContext2_HSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
   1503     This->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1504 }
   1505 static inline void ID3D11DeviceContext2_DSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
   1506     This->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1507 }
   1508 static inline void ID3D11DeviceContext2_DSGetShader(ID3D11DeviceContext2* This,ID3D11DomainShader **ppDomainShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
   1509     This->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances);
   1510 }
   1511 static inline void ID3D11DeviceContext2_DSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
   1512     This->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1513 }
   1514 static inline void ID3D11DeviceContext2_DSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
   1515     This->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1516 }
   1517 static inline void ID3D11DeviceContext2_CSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
   1518     This->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
   1519 }
   1520 static inline void ID3D11DeviceContext2_CSGetUnorderedAccessViews(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
   1521     This->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews);
   1522 }
   1523 static inline void ID3D11DeviceContext2_CSGetShader(ID3D11DeviceContext2* This,ID3D11ComputeShader **ppComputeShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
   1524     This->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances);
   1525 }
   1526 static inline void ID3D11DeviceContext2_CSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
   1527     This->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
   1528 }
   1529 static inline void ID3D11DeviceContext2_CSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
   1530     This->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
   1531 }
   1532 static inline void ID3D11DeviceContext2_ClearState(ID3D11DeviceContext2* This) {
   1533     This->lpVtbl->ClearState(This);
   1534 }
   1535 static inline void ID3D11DeviceContext2_Flush(ID3D11DeviceContext2* This) {
   1536     This->lpVtbl->Flush(This);
   1537 }
   1538 static inline D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext2_GetType(ID3D11DeviceContext2* This) {
   1539     return This->lpVtbl->GetType(This);
   1540 }
   1541 static inline UINT ID3D11DeviceContext2_GetContextFlags(ID3D11DeviceContext2* This) {
   1542     return This->lpVtbl->GetContextFlags(This);
   1543 }
   1544 static inline HRESULT ID3D11DeviceContext2_FinishCommandList(ID3D11DeviceContext2* This,WINBOOL RestoreDeferredContextState,ID3D11CommandList **ppCommandList) {
   1545     return This->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList);
   1546 }
   1547 /*** ID3D11DeviceContext1 methods ***/
   1548 static inline void ID3D11DeviceContext2_CopySubresourceRegion1(ID3D11DeviceContext2* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox,UINT CopyFlags) {
   1549     This->lpVtbl->CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags);
   1550 }
   1551 static inline void ID3D11DeviceContext2_UpdateSubresource1(ID3D11DeviceContext2* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch,UINT CopyFlags) {
   1552     This->lpVtbl->UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags);
   1553 }
   1554 static inline void ID3D11DeviceContext2_DiscardResource(ID3D11DeviceContext2* This,ID3D11Resource *pResource) {
   1555     This->lpVtbl->DiscardResource(This,pResource);
   1556 }
   1557 static inline void ID3D11DeviceContext2_DiscardView(ID3D11DeviceContext2* This,ID3D11View *pResourceView) {
   1558     This->lpVtbl->DiscardView(This,pResourceView);
   1559 }
   1560 static inline void ID3D11DeviceContext2_VSSetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
   1561     This->lpVtbl->VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1562 }
   1563 static inline void ID3D11DeviceContext2_HSSetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
   1564     This->lpVtbl->HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1565 }
   1566 static inline void ID3D11DeviceContext2_DSSetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
   1567     This->lpVtbl->DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1568 }
   1569 static inline void ID3D11DeviceContext2_GSSetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
   1570     This->lpVtbl->GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1571 }
   1572 static inline void ID3D11DeviceContext2_PSSetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
   1573     This->lpVtbl->PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1574 }
   1575 static inline void ID3D11DeviceContext2_CSSetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
   1576     This->lpVtbl->CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1577 }
   1578 static inline void ID3D11DeviceContext2_VSGetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
   1579     This->lpVtbl->VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1580 }
   1581 static inline void ID3D11DeviceContext2_HSGetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
   1582     This->lpVtbl->HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1583 }
   1584 static inline void ID3D11DeviceContext2_DSGetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
   1585     This->lpVtbl->DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1586 }
   1587 static inline void ID3D11DeviceContext2_GSGetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
   1588     This->lpVtbl->GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1589 }
   1590 static inline void ID3D11DeviceContext2_PSGetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
   1591     This->lpVtbl->PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1592 }
   1593 static inline void ID3D11DeviceContext2_CSGetConstantBuffers1(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
   1594     This->lpVtbl->CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
   1595 }
   1596 static inline void ID3D11DeviceContext2_SwapDeviceContextState(ID3D11DeviceContext2* This,ID3DDeviceContextState *pState,ID3DDeviceContextState **ppPreviousState) {
   1597     This->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState);
   1598 }
   1599 static inline void ID3D11DeviceContext2_ClearView(ID3D11DeviceContext2* This,ID3D11View *pView,const FLOAT Color[4],const D3D11_RECT *pRect,UINT NumRects) {
   1600     This->lpVtbl->ClearView(This,pView,Color,pRect,NumRects);
   1601 }
   1602 static inline void ID3D11DeviceContext2_DiscardView1(ID3D11DeviceContext2* This,ID3D11View *pResourceView,const D3D11_RECT *pRects,UINT NumRects) {
   1603     This->lpVtbl->DiscardView1(This,pResourceView,pRects,NumRects);
   1604 }
   1605 /*** ID3D11DeviceContext2 methods ***/
   1606 static inline HRESULT ID3D11DeviceContext2_UpdateTileMappings(ID3D11DeviceContext2* This,ID3D11Resource *resource,UINT region_count,const D3D11_TILED_RESOURCE_COORDINATE *region_start_coordinates,const D3D11_TILE_REGION_SIZE *region_sizes,ID3D11Buffer *pool,UINT range_count,const UINT *range_flags,const UINT *pool_start_offsets,const UINT *range_tile_counts,UINT flags) {
   1607     return This->lpVtbl->UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,pool,range_count,range_flags,pool_start_offsets,range_tile_counts,flags);
   1608 }
   1609 static inline HRESULT ID3D11DeviceContext2_CopyTileMappings(ID3D11DeviceContext2* This,ID3D11Resource *dst_resource,const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,ID3D11Resource *src_resource,const D3D11_TILED_RESOURCE_COORDINATE *src_start_coordinate,const D3D11_TILE_REGION_SIZE *region_size,UINT flags) {
   1610     return This->lpVtbl->CopyTileMappings(This,dst_resource,dst_start_coordinate,src_resource,src_start_coordinate,region_size,flags);
   1611 }
   1612 static inline void ID3D11DeviceContext2_CopyTiles(ID3D11DeviceContext2* This,ID3D11Resource *resource,const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,const D3D11_TILE_REGION_SIZE *size,ID3D11Buffer *buffer,UINT64 start_offset,UINT flags) {
   1613     This->lpVtbl->CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags);
   1614 }
   1615 static inline void ID3D11DeviceContext2_UpdateTiles(ID3D11DeviceContext2* This,ID3D11Resource *dst_resource,const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,const D3D11_TILE_REGION_SIZE *dst_region_size,const void *src_data,UINT flags) {
   1616     This->lpVtbl->UpdateTiles(This,dst_resource,dst_start_coordinate,dst_region_size,src_data,flags);
   1617 }
   1618 static inline HRESULT ID3D11DeviceContext2_ResizeTilePool(ID3D11DeviceContext2* This,ID3D11Buffer *pool,UINT64 size) {
   1619     return This->lpVtbl->ResizeTilePool(This,pool,size);
   1620 }
   1621 static inline void ID3D11DeviceContext2_TiledResourceBarrier(ID3D11DeviceContext2* This,ID3D11DeviceChild *before_barrier,ID3D11DeviceChild *after_barrier) {
   1622     This->lpVtbl->TiledResourceBarrier(This,before_barrier,after_barrier);
   1623 }
   1624 static inline WINBOOL ID3D11DeviceContext2_IsAnnotationEnabled(ID3D11DeviceContext2* This) {
   1625     return This->lpVtbl->IsAnnotationEnabled(This);
   1626 }
   1627 static inline void ID3D11DeviceContext2_SetMarkerInt(ID3D11DeviceContext2* This,const WCHAR *label,int data) {
   1628     This->lpVtbl->SetMarkerInt(This,label,data);
   1629 }
   1630 static inline void ID3D11DeviceContext2_BeginEventInt(ID3D11DeviceContext2* This,const WCHAR *label,int data) {
   1631     This->lpVtbl->BeginEventInt(This,label,data);
   1632 }
   1633 static inline void ID3D11DeviceContext2_EndEvent(ID3D11DeviceContext2* This) {
   1634     This->lpVtbl->EndEvent(This);
   1635 }
   1636 #endif
   1637 #endif
   1638 
   1639 #endif
   1640 
   1641 
   1642 #endif  /* __ID3D11DeviceContext2_INTERFACE_DEFINED__ */
   1643 
   1644 /*****************************************************************************
   1645  * ID3D11Device2 interface
   1646  */
   1647 #ifndef __ID3D11Device2_INTERFACE_DEFINED__
   1648 #define __ID3D11Device2_INTERFACE_DEFINED__
   1649 
   1650 DEFINE_GUID(IID_ID3D11Device2, 0x9d06dffa, 0xd1e5, 0x4d07, 0x83,0xa8, 0x1b,0xb1,0x23,0xf2,0xf8,0x41);
   1651 #if defined(__cplusplus) && !defined(CINTERFACE)
   1652 MIDL_INTERFACE("9d06dffa-d1e5-4d07-83a8-1bb123f2f841")
   1653 ID3D11Device2 : public ID3D11Device1
   1654 {
   1655     virtual void STDMETHODCALLTYPE GetImmediateContext2(
   1656         ID3D11DeviceContext2 **context) = 0;
   1657 
   1658     virtual HRESULT STDMETHODCALLTYPE CreateDeferredContext2(
   1659         UINT flags,
   1660         ID3D11DeviceContext2 **context) = 0;
   1661 
   1662     virtual void STDMETHODCALLTYPE GetResourceTiling(
   1663         ID3D11Resource *resource,
   1664         UINT *tile_count,
   1665         D3D11_PACKED_MIP_DESC *mip_desc,
   1666         D3D11_TILE_SHAPE *tile_shape,
   1667         UINT *subresource_tiling_count,
   1668         UINT first_subresource_tiling,
   1669         D3D11_SUBRESOURCE_TILING *subresource_tiling) = 0;
   1670 
   1671     virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels1(
   1672         DXGI_FORMAT format,
   1673         UINT sample_count,
   1674         UINT flags,
   1675         UINT *quality_level_count) = 0;
   1676 
   1677 };
   1678 #ifdef __CRT_UUID_DECL
   1679 __CRT_UUID_DECL(ID3D11Device2, 0x9d06dffa, 0xd1e5, 0x4d07, 0x83,0xa8, 0x1b,0xb1,0x23,0xf2,0xf8,0x41)
   1680 #endif
   1681 #else
   1682 typedef struct ID3D11Device2Vtbl {
   1683     BEGIN_INTERFACE
   1684 
   1685     /*** IUnknown methods ***/
   1686     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1687         ID3D11Device2 *This,
   1688         REFIID riid,
   1689         void **ppvObject);
   1690 
   1691     ULONG (STDMETHODCALLTYPE *AddRef)(
   1692         ID3D11Device2 *This);
   1693 
   1694     ULONG (STDMETHODCALLTYPE *Release)(
   1695         ID3D11Device2 *This);
   1696 
   1697     /*** ID3D11Device methods ***/
   1698     HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
   1699         ID3D11Device2 *This,
   1700         const D3D11_BUFFER_DESC *pDesc,
   1701         const D3D11_SUBRESOURCE_DATA *pInitialData,
   1702         ID3D11Buffer **ppBuffer);
   1703 
   1704     HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
   1705         ID3D11Device2 *This,
   1706         const D3D11_TEXTURE1D_DESC *pDesc,
   1707         const D3D11_SUBRESOURCE_DATA *pInitialData,
   1708         ID3D11Texture1D **ppTexture1D);
   1709 
   1710     HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
   1711         ID3D11Device2 *This,
   1712         const D3D11_TEXTURE2D_DESC *pDesc,
   1713         const D3D11_SUBRESOURCE_DATA *pInitialData,
   1714         ID3D11Texture2D **ppTexture2D);
   1715 
   1716     HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
   1717         ID3D11Device2 *This,
   1718         const D3D11_TEXTURE3D_DESC *pDesc,
   1719         const D3D11_SUBRESOURCE_DATA *pInitialData,
   1720         ID3D11Texture3D **ppTexture3D);
   1721 
   1722     HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
   1723         ID3D11Device2 *This,
   1724         ID3D11Resource *pResource,
   1725         const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
   1726         ID3D11ShaderResourceView **ppSRView);
   1727 
   1728     HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
   1729         ID3D11Device2 *This,
   1730         ID3D11Resource *pResource,
   1731         const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
   1732         ID3D11UnorderedAccessView **ppUAView);
   1733 
   1734     HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
   1735         ID3D11Device2 *This,
   1736         ID3D11Resource *pResource,
   1737         const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
   1738         ID3D11RenderTargetView **ppRTView);
   1739 
   1740     HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
   1741         ID3D11Device2 *This,
   1742         ID3D11Resource *pResource,
   1743         const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
   1744         ID3D11DepthStencilView **ppDepthStencilView);
   1745 
   1746     HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
   1747         ID3D11Device2 *This,
   1748         const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
   1749         UINT NumElements,
   1750         const void *pShaderBytecodeWithInputSignature,
   1751         SIZE_T BytecodeLength,
   1752         ID3D11InputLayout **ppInputLayout);
   1753 
   1754     HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
   1755         ID3D11Device2 *This,
   1756         const void *pShaderBytecode,
   1757         SIZE_T BytecodeLength,
   1758         ID3D11ClassLinkage *pClassLinkage,
   1759         ID3D11VertexShader **ppVertexShader);
   1760 
   1761     HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
   1762         ID3D11Device2 *This,
   1763         const void *pShaderBytecode,
   1764         SIZE_T BytecodeLength,
   1765         ID3D11ClassLinkage *pClassLinkage,
   1766         ID3D11GeometryShader **ppGeometryShader);
   1767 
   1768     HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
   1769         ID3D11Device2 *This,
   1770         const void *pShaderBytecode,
   1771         SIZE_T BytecodeLength,
   1772         const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
   1773         UINT NumEntries,
   1774         const UINT *pBufferStrides,
   1775         UINT NumStrides,
   1776         UINT RasterizedStream,
   1777         ID3D11ClassLinkage *pClassLinkage,
   1778         ID3D11GeometryShader **ppGeometryShader);
   1779 
   1780     HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
   1781         ID3D11Device2 *This,
   1782         const void *pShaderBytecode,
   1783         SIZE_T BytecodeLength,
   1784         ID3D11ClassLinkage *pClassLinkage,
   1785         ID3D11PixelShader **ppPixelShader);
   1786 
   1787     HRESULT (STDMETHODCALLTYPE *CreateHullShader)(
   1788         ID3D11Device2 *This,
   1789         const void *pShaderBytecode,
   1790         SIZE_T BytecodeLength,
   1791         ID3D11ClassLinkage *pClassLinkage,
   1792         ID3D11HullShader **ppHullShader);
   1793 
   1794     HRESULT (STDMETHODCALLTYPE *CreateDomainShader)(
   1795         ID3D11Device2 *This,
   1796         const void *pShaderBytecode,
   1797         SIZE_T BytecodeLength,
   1798         ID3D11ClassLinkage *pClassLinkage,
   1799         ID3D11DomainShader **ppDomainShader);
   1800 
   1801     HRESULT (STDMETHODCALLTYPE *CreateComputeShader)(
   1802         ID3D11Device2 *This,
   1803         const void *pShaderBytecode,
   1804         SIZE_T BytecodeLength,
   1805         ID3D11ClassLinkage *pClassLinkage,
   1806         ID3D11ComputeShader **ppComputeShader);
   1807 
   1808     HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)(
   1809         ID3D11Device2 *This,
   1810         ID3D11ClassLinkage **ppLinkage);
   1811 
   1812     HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
   1813         ID3D11Device2 *This,
   1814         const D3D11_BLEND_DESC *pBlendStateDesc,
   1815         ID3D11BlendState **ppBlendState);
   1816 
   1817     HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
   1818         ID3D11Device2 *This,
   1819         const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
   1820         ID3D11DepthStencilState **ppDepthStencilState);
   1821 
   1822     HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
   1823         ID3D11Device2 *This,
   1824         const D3D11_RASTERIZER_DESC *pRasterizerDesc,
   1825         ID3D11RasterizerState **ppRasterizerState);
   1826 
   1827     HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
   1828         ID3D11Device2 *This,
   1829         const D3D11_SAMPLER_DESC *pSamplerDesc,
   1830         ID3D11SamplerState **ppSamplerState);
   1831 
   1832     HRESULT (STDMETHODCALLTYPE *CreateQuery)(
   1833         ID3D11Device2 *This,
   1834         const D3D11_QUERY_DESC *pQueryDesc,
   1835         ID3D11Query **ppQuery);
   1836 
   1837     HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
   1838         ID3D11Device2 *This,
   1839         const D3D11_QUERY_DESC *pPredicateDesc,
   1840         ID3D11Predicate **ppPredicate);
   1841 
   1842     HRESULT (STDMETHODCALLTYPE *CreateCounter)(
   1843         ID3D11Device2 *This,
   1844         const D3D11_COUNTER_DESC *pCounterDesc,
   1845         ID3D11Counter **ppCounter);
   1846 
   1847     HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)(
   1848         ID3D11Device2 *This,
   1849         UINT ContextFlags,
   1850         ID3D11DeviceContext **ppDeferredContext);
   1851 
   1852     HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
   1853         ID3D11Device2 *This,
   1854         HANDLE hResource,
   1855         REFIID ReturnedInterface,
   1856         void **ppResource);
   1857 
   1858     HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
   1859         ID3D11Device2 *This,
   1860         DXGI_FORMAT Format,
   1861         UINT *pFormatSupport);
   1862 
   1863     HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
   1864         ID3D11Device2 *This,
   1865         DXGI_FORMAT Format,
   1866         UINT SampleCount,
   1867         UINT *pNumQualityLevels);
   1868 
   1869     void (STDMETHODCALLTYPE *CheckCounterInfo)(
   1870         ID3D11Device2 *This,
   1871         D3D11_COUNTER_INFO *pCounterInfo);
   1872 
   1873     HRESULT (STDMETHODCALLTYPE *CheckCounter)(
   1874         ID3D11Device2 *This,
   1875         const D3D11_COUNTER_DESC *pDesc,
   1876         D3D11_COUNTER_TYPE *pType,
   1877         UINT *pActiveCounters,
   1878         LPSTR szName,
   1879         UINT *pNameLength,
   1880         LPSTR szUnits,
   1881         UINT *pUnitsLength,
   1882         LPSTR szDescription,
   1883         UINT *pDescriptionLength);
   1884 
   1885     HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
   1886         ID3D11Device2 *This,
   1887         D3D11_FEATURE Feature,
   1888         void *pFeatureSupportData,
   1889         UINT FeatureSupportDataSize);
   1890 
   1891     HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
   1892         ID3D11Device2 *This,
   1893         REFGUID guid,
   1894         UINT *pDataSize,
   1895         void *pData);
   1896 
   1897     HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
   1898         ID3D11Device2 *This,
   1899         REFGUID guid,
   1900         UINT DataSize,
   1901         const void *pData);
   1902 
   1903     HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
   1904         ID3D11Device2 *This,
   1905         REFGUID guid,
   1906         const IUnknown *pData);
   1907 
   1908     D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)(
   1909         ID3D11Device2 *This);
   1910 
   1911     UINT (STDMETHODCALLTYPE *GetCreationFlags)(
   1912         ID3D11Device2 *This);
   1913 
   1914     HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
   1915         ID3D11Device2 *This);
   1916 
   1917     void (STDMETHODCALLTYPE *GetImmediateContext)(
   1918         ID3D11Device2 *This,
   1919         ID3D11DeviceContext **ppImmediateContext);
   1920 
   1921     HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
   1922         ID3D11Device2 *This,
   1923         UINT RaiseFlags);
   1924 
   1925     UINT (STDMETHODCALLTYPE *GetExceptionMode)(
   1926         ID3D11Device2 *This);
   1927 
   1928     /*** ID3D11Device1 methods ***/
   1929     void (STDMETHODCALLTYPE *GetImmediateContext1)(
   1930         ID3D11Device2 *This,
   1931         ID3D11DeviceContext1 **ppImmediateContext);
   1932 
   1933     HRESULT (STDMETHODCALLTYPE *CreateDeferredContext1)(
   1934         ID3D11Device2 *This,
   1935         UINT ContextFlags,
   1936         ID3D11DeviceContext1 **ppDeferredContext);
   1937 
   1938     HRESULT (STDMETHODCALLTYPE *CreateBlendState1)(
   1939         ID3D11Device2 *This,
   1940         const D3D11_BLEND_DESC1 *pBlendStateDesc,
   1941         ID3D11BlendState1 **ppBlendState);
   1942 
   1943     HRESULT (STDMETHODCALLTYPE *CreateRasterizerState1)(
   1944         ID3D11Device2 *This,
   1945         const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,
   1946         ID3D11RasterizerState1 **ppRasterizerState);
   1947 
   1948     HRESULT (STDMETHODCALLTYPE *CreateDeviceContextState)(
   1949         ID3D11Device2 *This,
   1950         UINT Flags,
   1951         const D3D_FEATURE_LEVEL *pFeatureLevels,
   1952         UINT FeatureLevels,
   1953         UINT SDKVersion,
   1954         REFIID EmulatedInterface,
   1955         D3D_FEATURE_LEVEL *pChosenFeatureLevel,
   1956         ID3DDeviceContextState **ppContextState);
   1957 
   1958     HRESULT (STDMETHODCALLTYPE *OpenSharedResource1)(
   1959         ID3D11Device2 *This,
   1960         HANDLE hResource,
   1961         REFIID returnedInterface,
   1962         void **ppResource);
   1963 
   1964     HRESULT (STDMETHODCALLTYPE *OpenSharedResourceByName)(
   1965         ID3D11Device2 *This,
   1966         LPCWSTR lpName,
   1967         DWORD dwDesiredAccess,
   1968         REFIID returnedInterface,
   1969         void **ppResource);
   1970 
   1971     /*** ID3D11Device2 methods ***/
   1972     void (STDMETHODCALLTYPE *GetImmediateContext2)(
   1973         ID3D11Device2 *This,
   1974         ID3D11DeviceContext2 **context);
   1975 
   1976     HRESULT (STDMETHODCALLTYPE *CreateDeferredContext2)(
   1977         ID3D11Device2 *This,
   1978         UINT flags,
   1979         ID3D11DeviceContext2 **context);
   1980 
   1981     void (STDMETHODCALLTYPE *GetResourceTiling)(
   1982         ID3D11Device2 *This,
   1983         ID3D11Resource *resource,
   1984         UINT *tile_count,
   1985         D3D11_PACKED_MIP_DESC *mip_desc,
   1986         D3D11_TILE_SHAPE *tile_shape,
   1987         UINT *subresource_tiling_count,
   1988         UINT first_subresource_tiling,
   1989         D3D11_SUBRESOURCE_TILING *subresource_tiling);
   1990 
   1991     HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels1)(
   1992         ID3D11Device2 *This,
   1993         DXGI_FORMAT format,
   1994         UINT sample_count,
   1995         UINT flags,
   1996         UINT *quality_level_count);
   1997 
   1998     END_INTERFACE
   1999 } ID3D11Device2Vtbl;
   2000 
   2001 interface ID3D11Device2 {
   2002     CONST_VTBL ID3D11Device2Vtbl* lpVtbl;
   2003 };
   2004 
   2005 #ifdef COBJMACROS
   2006 #ifndef WIDL_C_INLINE_WRAPPERS
   2007 /*** IUnknown methods ***/
   2008 #define ID3D11Device2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2009 #define ID3D11Device2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2010 #define ID3D11Device2_Release(This) (This)->lpVtbl->Release(This)
   2011 /*** ID3D11Device methods ***/
   2012 #define ID3D11Device2_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
   2013 #define ID3D11Device2_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
   2014 #define ID3D11Device2_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
   2015 #define ID3D11Device2_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
   2016 #define ID3D11Device2_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
   2017 #define ID3D11Device2_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)
   2018 #define ID3D11Device2_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
   2019 #define ID3D11Device2_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
   2020 #define ID3D11Device2_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
   2021 #define ID3D11Device2_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)
   2022 #define ID3D11Device2_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)
   2023 #define ID3D11Device2_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)
   2024 #define ID3D11Device2_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader)
   2025 #define ID3D11Device2_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)
   2026 #define ID3D11Device2_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)
   2027 #define ID3D11Device2_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)
   2028 #define ID3D11Device2_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage)
   2029 #define ID3D11Device2_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
   2030 #define ID3D11Device2_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
   2031 #define ID3D11Device2_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
   2032 #define ID3D11Device2_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
   2033 #define ID3D11Device2_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
   2034 #define ID3D11Device2_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
   2035 #define ID3D11Device2_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
   2036 #define ID3D11Device2_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext)
   2037 #define ID3D11Device2_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
   2038 #define ID3D11Device2_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
   2039 #define ID3D11Device2_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
   2040 #define ID3D11Device2_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
   2041 #define ID3D11Device2_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
   2042 #define ID3D11Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)
   2043 #define ID3D11Device2_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
   2044 #define ID3D11Device2_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
   2045 #define ID3D11Device2_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
   2046 #define ID3D11Device2_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This)
   2047 #define ID3D11Device2_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
   2048 #define ID3D11Device2_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
   2049 #define ID3D11Device2_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext)
   2050 #define ID3D11Device2_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
   2051 #define ID3D11Device2_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
   2052 /*** ID3D11Device1 methods ***/
   2053 #define ID3D11Device2_GetImmediateContext1(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext1(This,ppImmediateContext)
   2054 #define ID3D11Device2_CreateDeferredContext1(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext)
   2055 #define ID3D11Device2_CreateBlendState1(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState)
   2056 #define ID3D11Device2_CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState)
   2057 #define ID3D11Device2_CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) (This)->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState)
   2058 #define ID3D11Device2_OpenSharedResource1(This,hResource,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource)
   2059 #define ID3D11Device2_OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource)
   2060 /*** ID3D11Device2 methods ***/
   2061 #define ID3D11Device2_GetImmediateContext2(This,context) (This)->lpVtbl->GetImmediateContext2(This,context)
   2062 #define ID3D11Device2_CreateDeferredContext2(This,flags,context) (This)->lpVtbl->CreateDeferredContext2(This,flags,context)
   2063 #define ID3D11Device2_GetResourceTiling(This,resource,tile_count,mip_desc,tile_shape,subresource_tiling_count,first_subresource_tiling,subresource_tiling) (This)->lpVtbl->GetResourceTiling(This,resource,tile_count,mip_desc,tile_shape,subresource_tiling_count,first_subresource_tiling,subresource_tiling)
   2064 #define ID3D11Device2_CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count) (This)->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count)
   2065 #else
   2066 /*** IUnknown methods ***/
   2067 static inline HRESULT ID3D11Device2_QueryInterface(ID3D11Device2* This,REFIID riid,void **ppvObject) {
   2068     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2069 }
   2070 static inline ULONG ID3D11Device2_AddRef(ID3D11Device2* This) {
   2071     return This->lpVtbl->AddRef(This);
   2072 }
   2073 static inline ULONG ID3D11Device2_Release(ID3D11Device2* This) {
   2074     return This->lpVtbl->Release(This);
   2075 }
   2076 /*** ID3D11Device methods ***/
   2077 static inline HRESULT ID3D11Device2_CreateBuffer(ID3D11Device2* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) {
   2078     return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer);
   2079 }
   2080 static inline HRESULT ID3D11Device2_CreateTexture1D(ID3D11Device2* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) {
   2081     return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D);
   2082 }
   2083 static inline HRESULT ID3D11Device2_CreateTexture2D(ID3D11Device2* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) {
   2084     return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D);
   2085 }
   2086 static inline HRESULT ID3D11Device2_CreateTexture3D(ID3D11Device2* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) {
   2087     return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D);
   2088 }
   2089 static inline HRESULT ID3D11Device2_CreateShaderResourceView(ID3D11Device2* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) {
   2090     return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView);
   2091 }
   2092 static inline HRESULT ID3D11Device2_CreateUnorderedAccessView(ID3D11Device2* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) {
   2093     return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView);
   2094 }
   2095 static inline HRESULT ID3D11Device2_CreateRenderTargetView(ID3D11Device2* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) {
   2096     return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView);
   2097 }
   2098 static inline HRESULT ID3D11Device2_CreateDepthStencilView(ID3D11Device2* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) {
   2099     return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView);
   2100 }
   2101 static inline HRESULT ID3D11Device2_CreateInputLayout(ID3D11Device2* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) {
   2102     return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout);
   2103 }
   2104 static inline HRESULT ID3D11Device2_CreateVertexShader(ID3D11Device2* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) {
   2105     return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader);
   2106 }
   2107 static inline HRESULT ID3D11Device2_CreateGeometryShader(ID3D11Device2* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
   2108     return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader);
   2109 }
   2110 static inline HRESULT ID3D11Device2_CreateGeometryShaderWithStreamOutput(ID3D11Device2* This,const void *pShaderBytecode,SIZE_T BytecodeLength,const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,UINT NumEntries,const UINT *pBufferStrides,UINT NumStrides,UINT RasterizedStream,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
   2111     return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader);
   2112 }
   2113 static inline HRESULT ID3D11Device2_CreatePixelShader(ID3D11Device2* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) {
   2114     return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader);
   2115 }
   2116 static inline HRESULT ID3D11Device2_CreateHullShader(ID3D11Device2* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) {
   2117     return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader);
   2118 }
   2119 static inline HRESULT ID3D11Device2_CreateDomainShader(ID3D11Device2* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) {
   2120     return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader);
   2121 }
   2122 static inline HRESULT ID3D11Device2_CreateComputeShader(ID3D11Device2* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) {
   2123     return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader);
   2124 }
   2125 static inline HRESULT ID3D11Device2_CreateClassLinkage(ID3D11Device2* This,ID3D11ClassLinkage **ppLinkage) {
   2126     return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
   2127 }
   2128 static inline HRESULT ID3D11Device2_CreateBlendState(ID3D11Device2* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
   2129     return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
   2130 }
   2131 static inline HRESULT ID3D11Device2_CreateDepthStencilState(ID3D11Device2* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
   2132     return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
   2133 }
   2134 static inline HRESULT ID3D11Device2_CreateRasterizerState(ID3D11Device2* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
   2135     return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
   2136 }
   2137 static inline HRESULT ID3D11Device2_CreateSamplerState(ID3D11Device2* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
   2138     return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
   2139 }
   2140 static inline HRESULT ID3D11Device2_CreateQuery(ID3D11Device2* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
   2141     return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
   2142 }
   2143 static inline HRESULT ID3D11Device2_CreatePredicate(ID3D11Device2* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
   2144     return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
   2145 }
   2146 static inline HRESULT ID3D11Device2_CreateCounter(ID3D11Device2* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
   2147     return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
   2148 }
   2149 static inline HRESULT ID3D11Device2_CreateDeferredContext(ID3D11Device2* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
   2150     return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
   2151 }
   2152 static inline HRESULT ID3D11Device2_OpenSharedResource(ID3D11Device2* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
   2153     return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
   2154 }
   2155 static inline HRESULT ID3D11Device2_CheckFormatSupport(ID3D11Device2* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
   2156     return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
   2157 }
   2158 static inline HRESULT ID3D11Device2_CheckMultisampleQualityLevels(ID3D11Device2* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
   2159     return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
   2160 }
   2161 static inline void ID3D11Device2_CheckCounterInfo(ID3D11Device2* This,D3D11_COUNTER_INFO *pCounterInfo) {
   2162     This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
   2163 }
   2164 static inline HRESULT ID3D11Device2_CheckCounter(ID3D11Device2* This,const D3D11_COUNTER_DESC *pDesc,D3D11_COUNTER_TYPE *pType,UINT *pActiveCounters,LPSTR szName,UINT *pNameLength,LPSTR szUnits,UINT *pUnitsLength,LPSTR szDescription,UINT *pDescriptionLength) {
   2165     return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength);
   2166 }
   2167 static inline HRESULT ID3D11Device2_CheckFeatureSupport(ID3D11Device2* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
   2168     return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
   2169 }
   2170 static inline HRESULT ID3D11Device2_GetPrivateData(ID3D11Device2* This,REFGUID guid,UINT *pDataSize,void *pData) {
   2171     return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
   2172 }
   2173 static inline HRESULT ID3D11Device2_SetPrivateData(ID3D11Device2* This,REFGUID guid,UINT DataSize,const void *pData) {
   2174     return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
   2175 }
   2176 static inline HRESULT ID3D11Device2_SetPrivateDataInterface(ID3D11Device2* This,REFGUID guid,const IUnknown *pData) {
   2177     return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
   2178 }
   2179 static inline D3D_FEATURE_LEVEL ID3D11Device2_GetFeatureLevel(ID3D11Device2* This) {
   2180     return This->lpVtbl->GetFeatureLevel(This);
   2181 }
   2182 static inline UINT ID3D11Device2_GetCreationFlags(ID3D11Device2* This) {
   2183     return This->lpVtbl->GetCreationFlags(This);
   2184 }
   2185 static inline HRESULT ID3D11Device2_GetDeviceRemovedReason(ID3D11Device2* This) {
   2186     return This->lpVtbl->GetDeviceRemovedReason(This);
   2187 }
   2188 static inline void ID3D11Device2_GetImmediateContext(ID3D11Device2* This,ID3D11DeviceContext **ppImmediateContext) {
   2189     This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
   2190 }
   2191 static inline HRESULT ID3D11Device2_SetExceptionMode(ID3D11Device2* This,UINT RaiseFlags) {
   2192     return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
   2193 }
   2194 static inline UINT ID3D11Device2_GetExceptionMode(ID3D11Device2* This) {
   2195     return This->lpVtbl->GetExceptionMode(This);
   2196 }
   2197 /*** ID3D11Device1 methods ***/
   2198 static inline void ID3D11Device2_GetImmediateContext1(ID3D11Device2* This,ID3D11DeviceContext1 **ppImmediateContext) {
   2199     This->lpVtbl->GetImmediateContext1(This,ppImmediateContext);
   2200 }
   2201 static inline HRESULT ID3D11Device2_CreateDeferredContext1(ID3D11Device2* This,UINT ContextFlags,ID3D11DeviceContext1 **ppDeferredContext) {
   2202     return This->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext);
   2203 }
   2204 static inline HRESULT ID3D11Device2_CreateBlendState1(ID3D11Device2* This,const D3D11_BLEND_DESC1 *pBlendStateDesc,ID3D11BlendState1 **ppBlendState) {
   2205     return This->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState);
   2206 }
   2207 static inline HRESULT ID3D11Device2_CreateRasterizerState1(ID3D11Device2* This,const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,ID3D11RasterizerState1 **ppRasterizerState) {
   2208     return This->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState);
   2209 }
   2210 static inline HRESULT ID3D11Device2_CreateDeviceContextState(ID3D11Device2* This,UINT Flags,const D3D_FEATURE_LEVEL *pFeatureLevels,UINT FeatureLevels,UINT SDKVersion,REFIID EmulatedInterface,D3D_FEATURE_LEVEL *pChosenFeatureLevel,ID3DDeviceContextState **ppContextState) {
   2211     return This->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState);
   2212 }
   2213 static inline HRESULT ID3D11Device2_OpenSharedResource1(ID3D11Device2* This,HANDLE hResource,REFIID returnedInterface,void **ppResource) {
   2214     return This->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource);
   2215 }
   2216 static inline HRESULT ID3D11Device2_OpenSharedResourceByName(ID3D11Device2* This,LPCWSTR lpName,DWORD dwDesiredAccess,REFIID returnedInterface,void **ppResource) {
   2217     return This->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource);
   2218 }
   2219 /*** ID3D11Device2 methods ***/
   2220 static inline void ID3D11Device2_GetImmediateContext2(ID3D11Device2* This,ID3D11DeviceContext2 **context) {
   2221     This->lpVtbl->GetImmediateContext2(This,context);
   2222 }
   2223 static inline HRESULT ID3D11Device2_CreateDeferredContext2(ID3D11Device2* This,UINT flags,ID3D11DeviceContext2 **context) {
   2224     return This->lpVtbl->CreateDeferredContext2(This,flags,context);
   2225 }
   2226 static inline void ID3D11Device2_GetResourceTiling(ID3D11Device2* This,ID3D11Resource *resource,UINT *tile_count,D3D11_PACKED_MIP_DESC *mip_desc,D3D11_TILE_SHAPE *tile_shape,UINT *subresource_tiling_count,UINT first_subresource_tiling,D3D11_SUBRESOURCE_TILING *subresource_tiling) {
   2227     This->lpVtbl->GetResourceTiling(This,resource,tile_count,mip_desc,tile_shape,subresource_tiling_count,first_subresource_tiling,subresource_tiling);
   2228 }
   2229 static inline HRESULT ID3D11Device2_CheckMultisampleQualityLevels1(ID3D11Device2* This,DXGI_FORMAT format,UINT sample_count,UINT flags,UINT *quality_level_count) {
   2230     return This->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count);
   2231 }
   2232 #endif
   2233 #endif
   2234 
   2235 #endif
   2236 
   2237 
   2238 #endif  /* __ID3D11Device2_INTERFACE_DEFINED__ */
   2239 
   2240 /* Begin additional prototypes for all interfaces */
   2241 
   2242 
   2243 /* End additional prototypes */
   2244 
   2245 #ifdef __cplusplus
   2246 }
   2247 #endif
   2248 
   2249 #endif /* __d3d11_2_h__ */