master
   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__
  23typedef interface ID3D11DeviceContext2 ID3D11DeviceContext2;
  24#ifdef __cplusplus
  25interface ID3D11DeviceContext2;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __ID3D11Device2_FWD_DEFINED__
  30#define __ID3D11Device2_FWD_DEFINED__
  31typedef interface ID3D11Device2 ID3D11Device2;
  32#ifdef __cplusplus
  33interface 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
  46extern "C" {
  47#endif
  48
  49#define D3D11_PACKED_TILE (0xffffffff)
  50
  51typedef enum D3D11_TILE_MAPPING_FLAG {
  52    D3D11_TILE_MAPPING_NO_OVERWRITE = 0x1
  53} D3D11_TILE_MAPPING_FLAG;
  54typedef 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;
  59typedef enum D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG {
  60    D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE = 0x1
  61} D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG;
  62typedef 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;
  67typedef struct D3D11_TILED_RESOURCE_COORDINATE {
  68    UINT X;
  69    UINT Y;
  70    UINT Z;
  71    UINT Subresource;
  72} D3D11_TILED_RESOURCE_COORDINATE;
  73typedef 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;
  80typedef struct D3D11_SUBRESOURCE_TILING {
  81    UINT WidthInTiles;
  82    UINT16 HeightInTiles;
  83    UINT16 DepthInTiles;
  84    UINT StartTileIndexInOverallResource;
  85} D3D11_SUBRESOURCE_TILING;
  86typedef struct D3D11_TILE_SHAPE {
  87    UINT WidthInTexels;
  88    UINT HeightInTexels;
  89    UINT DepthInTexels;
  90} D3D11_TILE_SHAPE;
  91typedef 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
 103DEFINE_GUID(IID_ID3D11DeviceContext2, 0x420d5b32, 0xb90c, 0x4da4, 0xbe,0xf0, 0x35,0x9f,0x6a,0x24,0xa8,0x3a);
 104#if defined(__cplusplus) && !defined(CINTERFACE)
 105MIDL_INTERFACE("420d5b32-b90c-4da4-bef0-359f6a24a83a")
 106ID3D11DeviceContext2 : 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
 170typedef 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
1043interface 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 ***/
1200static inline HRESULT ID3D11DeviceContext2_QueryInterface(ID3D11DeviceContext2* This,REFIID riid,void **ppvObject) {
1201    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1202}
1203static inline ULONG ID3D11DeviceContext2_AddRef(ID3D11DeviceContext2* This) {
1204    return This->lpVtbl->AddRef(This);
1205}
1206static inline ULONG ID3D11DeviceContext2_Release(ID3D11DeviceContext2* This) {
1207    return This->lpVtbl->Release(This);
1208}
1209/*** ID3D11DeviceChild methods ***/
1210static inline void ID3D11DeviceContext2_GetDevice(ID3D11DeviceContext2* This,ID3D11Device **ppDevice) {
1211    This->lpVtbl->GetDevice(This,ppDevice);
1212}
1213static inline HRESULT ID3D11DeviceContext2_GetPrivateData(ID3D11DeviceContext2* This,REFGUID guid,UINT *pDataSize,void *pData) {
1214    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
1215}
1216static inline HRESULT ID3D11DeviceContext2_SetPrivateData(ID3D11DeviceContext2* This,REFGUID guid,UINT DataSize,const void *pData) {
1217    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
1218}
1219static inline HRESULT ID3D11DeviceContext2_SetPrivateDataInterface(ID3D11DeviceContext2* This,REFGUID guid,const IUnknown *pData) {
1220    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
1221}
1222/*** ID3D11DeviceContext methods ***/
1223static inline void ID3D11DeviceContext2_VSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1224    This->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1225}
1226static inline void ID3D11DeviceContext2_PSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1227    This->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1228}
1229static inline void ID3D11DeviceContext2_PSSetShader(ID3D11DeviceContext2* This,ID3D11PixelShader *pPixelShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1230    This->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances);
1231}
1232static inline void ID3D11DeviceContext2_PSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1233    This->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1234}
1235static inline void ID3D11DeviceContext2_VSSetShader(ID3D11DeviceContext2* This,ID3D11VertexShader *pVertexShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1236    This->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances);
1237}
1238static inline void ID3D11DeviceContext2_DrawIndexed(ID3D11DeviceContext2* This,UINT IndexCount,UINT StartIndexLocation,INT BaseVertexLocation) {
1239    This->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation);
1240}
1241static inline void ID3D11DeviceContext2_Draw(ID3D11DeviceContext2* This,UINT VertexCount,UINT StartVertexLocation) {
1242    This->lpVtbl->Draw(This,VertexCount,StartVertexLocation);
1243}
1244static 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}
1247static inline void ID3D11DeviceContext2_Unmap(ID3D11DeviceContext2* This,ID3D11Resource *pResource,UINT Subresource) {
1248    This->lpVtbl->Unmap(This,pResource,Subresource);
1249}
1250static inline void ID3D11DeviceContext2_PSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1251    This->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1252}
1253static inline void ID3D11DeviceContext2_IASetInputLayout(ID3D11DeviceContext2* This,ID3D11InputLayout *pInputLayout) {
1254    This->lpVtbl->IASetInputLayout(This,pInputLayout);
1255}
1256static 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}
1259static inline void ID3D11DeviceContext2_IASetIndexBuffer(ID3D11DeviceContext2* This,ID3D11Buffer *pIndexBuffer,DXGI_FORMAT Format,UINT Offset) {
1260    This->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset);
1261}
1262static 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}
1265static inline void ID3D11DeviceContext2_DrawInstanced(ID3D11DeviceContext2* This,UINT VertexCountPerInstance,UINT InstanceCount,UINT StartVertexLocation,UINT StartInstanceLocation) {
1266    This->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation);
1267}
1268static inline void ID3D11DeviceContext2_GSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1269    This->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1270}
1271static inline void ID3D11DeviceContext2_GSSetShader(ID3D11DeviceContext2* This,ID3D11GeometryShader *pShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1272    This->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances);
1273}
1274static inline void ID3D11DeviceContext2_IASetPrimitiveTopology(ID3D11DeviceContext2* This,D3D11_PRIMITIVE_TOPOLOGY Topology) {
1275    This->lpVtbl->IASetPrimitiveTopology(This,Topology);
1276}
1277static inline void ID3D11DeviceContext2_VSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1278    This->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1279}
1280static inline void ID3D11DeviceContext2_VSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1281    This->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1282}
1283static inline void ID3D11DeviceContext2_Begin(ID3D11DeviceContext2* This,ID3D11Asynchronous *pAsync) {
1284    This->lpVtbl->Begin(This,pAsync);
1285}
1286static inline void ID3D11DeviceContext2_End(ID3D11DeviceContext2* This,ID3D11Asynchronous *pAsync) {
1287    This->lpVtbl->End(This,pAsync);
1288}
1289static 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}
1292static inline void ID3D11DeviceContext2_SetPredication(ID3D11DeviceContext2* This,ID3D11Predicate *pPredicate,WINBOOL PredicateValue) {
1293    This->lpVtbl->SetPredication(This,pPredicate,PredicateValue);
1294}
1295static inline void ID3D11DeviceContext2_GSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1296    This->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1297}
1298static inline void ID3D11DeviceContext2_GSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1299    This->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1300}
1301static inline void ID3D11DeviceContext2_OMSetRenderTargets(ID3D11DeviceContext2* This,UINT NumViews,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView) {
1302    This->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView);
1303}
1304static 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}
1307static inline void ID3D11DeviceContext2_OMSetBlendState(ID3D11DeviceContext2* This,ID3D11BlendState *pBlendState,const FLOAT BlendFactor[4],UINT SampleMask) {
1308    This->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask);
1309}
1310static inline void ID3D11DeviceContext2_OMSetDepthStencilState(ID3D11DeviceContext2* This,ID3D11DepthStencilState *pDepthStencilState,UINT StencilRef) {
1311    This->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef);
1312}
1313static inline void ID3D11DeviceContext2_SOSetTargets(ID3D11DeviceContext2* This,UINT NumBuffers,ID3D11Buffer *const *ppSOTargets,const UINT *pOffsets) {
1314    This->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets);
1315}
1316static inline void ID3D11DeviceContext2_DrawAuto(ID3D11DeviceContext2* This) {
1317    This->lpVtbl->DrawAuto(This);
1318}
1319static inline void ID3D11DeviceContext2_DrawIndexedInstancedIndirect(ID3D11DeviceContext2* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
1320    This->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
1321}
1322static inline void ID3D11DeviceContext2_DrawInstancedIndirect(ID3D11DeviceContext2* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
1323    This->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
1324}
1325static inline void ID3D11DeviceContext2_Dispatch(ID3D11DeviceContext2* This,UINT ThreadGroupCountX,UINT ThreadGroupCountY,UINT ThreadGroupCountZ) {
1326    This->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ);
1327}
1328static inline void ID3D11DeviceContext2_DispatchIndirect(ID3D11DeviceContext2* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
1329    This->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
1330}
1331static inline void ID3D11DeviceContext2_RSSetState(ID3D11DeviceContext2* This,ID3D11RasterizerState *pRasterizerState) {
1332    This->lpVtbl->RSSetState(This,pRasterizerState);
1333}
1334static inline void ID3D11DeviceContext2_RSSetViewports(ID3D11DeviceContext2* This,UINT NumViewports,const D3D11_VIEWPORT *pViewports) {
1335    This->lpVtbl->RSSetViewports(This,NumViewports,pViewports);
1336}
1337static inline void ID3D11DeviceContext2_RSSetScissorRects(ID3D11DeviceContext2* This,UINT NumRects,const D3D11_RECT *pRects) {
1338    This->lpVtbl->RSSetScissorRects(This,NumRects,pRects);
1339}
1340static 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}
1343static inline void ID3D11DeviceContext2_CopyResource(ID3D11DeviceContext2* This,ID3D11Resource *pDstResource,ID3D11Resource *pSrcResource) {
1344    This->lpVtbl->CopyResource(This,pDstResource,pSrcResource);
1345}
1346static 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}
1349static inline void ID3D11DeviceContext2_CopyStructureCount(ID3D11DeviceContext2* This,ID3D11Buffer *pDstBuffer,UINT DstAlignedByteOffset,ID3D11UnorderedAccessView *pSrcView) {
1350    This->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView);
1351}
1352static inline void ID3D11DeviceContext2_ClearRenderTargetView(ID3D11DeviceContext2* This,ID3D11RenderTargetView *pRenderTargetView,const FLOAT ColorRGBA[4]) {
1353    This->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA);
1354}
1355static inline void ID3D11DeviceContext2_ClearUnorderedAccessViewUint(ID3D11DeviceContext2* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const UINT Values[4]) {
1356    This->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values);
1357}
1358static inline void ID3D11DeviceContext2_ClearUnorderedAccessViewFloat(ID3D11DeviceContext2* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const FLOAT Values[4]) {
1359    This->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values);
1360}
1361static inline void ID3D11DeviceContext2_ClearDepthStencilView(ID3D11DeviceContext2* This,ID3D11DepthStencilView *pDepthStencilView,UINT ClearFlags,FLOAT Depth,UINT8 Stencil) {
1362    This->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil);
1363}
1364static inline void ID3D11DeviceContext2_GenerateMips(ID3D11DeviceContext2* This,ID3D11ShaderResourceView *pShaderResourceView) {
1365    This->lpVtbl->GenerateMips(This,pShaderResourceView);
1366}
1367static inline void ID3D11DeviceContext2_SetResourceMinLOD(ID3D11DeviceContext2* This,ID3D11Resource *pResource,FLOAT MinLOD) {
1368    This->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD);
1369}
1370static inline FLOAT ID3D11DeviceContext2_GetResourceMinLOD(ID3D11DeviceContext2* This,ID3D11Resource *pResource) {
1371    return This->lpVtbl->GetResourceMinLOD(This,pResource);
1372}
1373static 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}
1376static inline void ID3D11DeviceContext2_ExecuteCommandList(ID3D11DeviceContext2* This,ID3D11CommandList *pCommandList,WINBOOL RestoreContextState) {
1377    This->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState);
1378}
1379static inline void ID3D11DeviceContext2_HSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1380    This->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1381}
1382static inline void ID3D11DeviceContext2_HSSetShader(ID3D11DeviceContext2* This,ID3D11HullShader *pHullShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1383    This->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances);
1384}
1385static inline void ID3D11DeviceContext2_HSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1386    This->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1387}
1388static inline void ID3D11DeviceContext2_HSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1389    This->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1390}
1391static inline void ID3D11DeviceContext2_DSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1392    This->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1393}
1394static inline void ID3D11DeviceContext2_DSSetShader(ID3D11DeviceContext2* This,ID3D11DomainShader *pDomainShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1395    This->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances);
1396}
1397static inline void ID3D11DeviceContext2_DSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1398    This->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1399}
1400static inline void ID3D11DeviceContext2_DSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1401    This->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1402}
1403static inline void ID3D11DeviceContext2_CSSetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
1404    This->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1405}
1406static 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}
1409static inline void ID3D11DeviceContext2_CSSetShader(ID3D11DeviceContext2* This,ID3D11ComputeShader *pComputeShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
1410    This->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances);
1411}
1412static inline void ID3D11DeviceContext2_CSSetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
1413    This->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1414}
1415static inline void ID3D11DeviceContext2_CSSetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
1416    This->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1417}
1418static inline void ID3D11DeviceContext2_VSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1419    This->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1420}
1421static inline void ID3D11DeviceContext2_PSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1422    This->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1423}
1424static inline void ID3D11DeviceContext2_PSGetShader(ID3D11DeviceContext2* This,ID3D11PixelShader **ppPixelShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1425    This->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances);
1426}
1427static inline void ID3D11DeviceContext2_PSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1428    This->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1429}
1430static inline void ID3D11DeviceContext2_VSGetShader(ID3D11DeviceContext2* This,ID3D11VertexShader **ppVertexShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1431    This->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances);
1432}
1433static inline void ID3D11DeviceContext2_PSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1434    This->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1435}
1436static inline void ID3D11DeviceContext2_IAGetInputLayout(ID3D11DeviceContext2* This,ID3D11InputLayout **ppInputLayout) {
1437    This->lpVtbl->IAGetInputLayout(This,ppInputLayout);
1438}
1439static 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}
1442static inline void ID3D11DeviceContext2_IAGetIndexBuffer(ID3D11DeviceContext2* This,ID3D11Buffer **pIndexBuffer,DXGI_FORMAT *Format,UINT *Offset) {
1443    This->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset);
1444}
1445static inline void ID3D11DeviceContext2_GSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1446    This->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1447}
1448static inline void ID3D11DeviceContext2_GSGetShader(ID3D11DeviceContext2* This,ID3D11GeometryShader **ppGeometryShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1449    This->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances);
1450}
1451static inline void ID3D11DeviceContext2_IAGetPrimitiveTopology(ID3D11DeviceContext2* This,D3D11_PRIMITIVE_TOPOLOGY *pTopology) {
1452    This->lpVtbl->IAGetPrimitiveTopology(This,pTopology);
1453}
1454static inline void ID3D11DeviceContext2_VSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1455    This->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1456}
1457static inline void ID3D11DeviceContext2_VSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1458    This->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1459}
1460static inline void ID3D11DeviceContext2_GetPredication(ID3D11DeviceContext2* This,ID3D11Predicate **ppPredicate,WINBOOL *pPredicateValue) {
1461    This->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue);
1462}
1463static inline void ID3D11DeviceContext2_GSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1464    This->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1465}
1466static inline void ID3D11DeviceContext2_GSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1467    This->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1468}
1469static inline void ID3D11DeviceContext2_OMGetRenderTargets(ID3D11DeviceContext2* This,UINT NumViews,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView) {
1470    This->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView);
1471}
1472static 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}
1475static inline void ID3D11DeviceContext2_OMGetBlendState(ID3D11DeviceContext2* This,ID3D11BlendState **ppBlendState,FLOAT BlendFactor[4],UINT *pSampleMask) {
1476    This->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask);
1477}
1478static inline void ID3D11DeviceContext2_OMGetDepthStencilState(ID3D11DeviceContext2* This,ID3D11DepthStencilState **ppDepthStencilState,UINT *pStencilRef) {
1479    This->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef);
1480}
1481static inline void ID3D11DeviceContext2_SOGetTargets(ID3D11DeviceContext2* This,UINT NumBuffers,ID3D11Buffer **ppSOTargets) {
1482    This->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets);
1483}
1484static inline void ID3D11DeviceContext2_RSGetState(ID3D11DeviceContext2* This,ID3D11RasterizerState **ppRasterizerState) {
1485    This->lpVtbl->RSGetState(This,ppRasterizerState);
1486}
1487static inline void ID3D11DeviceContext2_RSGetViewports(ID3D11DeviceContext2* This,UINT *pNumViewports,D3D11_VIEWPORT *pViewports) {
1488    This->lpVtbl->RSGetViewports(This,pNumViewports,pViewports);
1489}
1490static inline void ID3D11DeviceContext2_RSGetScissorRects(ID3D11DeviceContext2* This,UINT *pNumRects,D3D11_RECT *pRects) {
1491    This->lpVtbl->RSGetScissorRects(This,pNumRects,pRects);
1492}
1493static inline void ID3D11DeviceContext2_HSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1494    This->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1495}
1496static inline void ID3D11DeviceContext2_HSGetShader(ID3D11DeviceContext2* This,ID3D11HullShader **ppHullShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1497    This->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances);
1498}
1499static inline void ID3D11DeviceContext2_HSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1500    This->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1501}
1502static inline void ID3D11DeviceContext2_HSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1503    This->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1504}
1505static inline void ID3D11DeviceContext2_DSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1506    This->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1507}
1508static inline void ID3D11DeviceContext2_DSGetShader(ID3D11DeviceContext2* This,ID3D11DomainShader **ppDomainShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1509    This->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances);
1510}
1511static inline void ID3D11DeviceContext2_DSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1512    This->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1513}
1514static inline void ID3D11DeviceContext2_DSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1515    This->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1516}
1517static inline void ID3D11DeviceContext2_CSGetShaderResources(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
1518    This->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
1519}
1520static inline void ID3D11DeviceContext2_CSGetUnorderedAccessViews(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
1521    This->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews);
1522}
1523static inline void ID3D11DeviceContext2_CSGetShader(ID3D11DeviceContext2* This,ID3D11ComputeShader **ppComputeShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
1524    This->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances);
1525}
1526static inline void ID3D11DeviceContext2_CSGetSamplers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
1527    This->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
1528}
1529static inline void ID3D11DeviceContext2_CSGetConstantBuffers(ID3D11DeviceContext2* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
1530    This->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
1531}
1532static inline void ID3D11DeviceContext2_ClearState(ID3D11DeviceContext2* This) {
1533    This->lpVtbl->ClearState(This);
1534}
1535static inline void ID3D11DeviceContext2_Flush(ID3D11DeviceContext2* This) {
1536    This->lpVtbl->Flush(This);
1537}
1538static inline D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext2_GetType(ID3D11DeviceContext2* This) {
1539    return This->lpVtbl->GetType(This);
1540}
1541static inline UINT ID3D11DeviceContext2_GetContextFlags(ID3D11DeviceContext2* This) {
1542    return This->lpVtbl->GetContextFlags(This);
1543}
1544static inline HRESULT ID3D11DeviceContext2_FinishCommandList(ID3D11DeviceContext2* This,WINBOOL RestoreDeferredContextState,ID3D11CommandList **ppCommandList) {
1545    return This->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList);
1546}
1547/*** ID3D11DeviceContext1 methods ***/
1548static 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}
1551static 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}
1554static inline void ID3D11DeviceContext2_DiscardResource(ID3D11DeviceContext2* This,ID3D11Resource *pResource) {
1555    This->lpVtbl->DiscardResource(This,pResource);
1556}
1557static inline void ID3D11DeviceContext2_DiscardView(ID3D11DeviceContext2* This,ID3D11View *pResourceView) {
1558    This->lpVtbl->DiscardView(This,pResourceView);
1559}
1560static 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}
1563static 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}
1566static 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}
1569static 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}
1572static 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}
1575static 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}
1578static 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}
1581static 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}
1584static 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}
1587static 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}
1590static 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}
1593static 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}
1596static inline void ID3D11DeviceContext2_SwapDeviceContextState(ID3D11DeviceContext2* This,ID3DDeviceContextState *pState,ID3DDeviceContextState **ppPreviousState) {
1597    This->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState);
1598}
1599static 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}
1602static 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 ***/
1606static 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}
1609static 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}
1612static 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}
1615static 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}
1618static inline HRESULT ID3D11DeviceContext2_ResizeTilePool(ID3D11DeviceContext2* This,ID3D11Buffer *pool,UINT64 size) {
1619    return This->lpVtbl->ResizeTilePool(This,pool,size);
1620}
1621static inline void ID3D11DeviceContext2_TiledResourceBarrier(ID3D11DeviceContext2* This,ID3D11DeviceChild *before_barrier,ID3D11DeviceChild *after_barrier) {
1622    This->lpVtbl->TiledResourceBarrier(This,before_barrier,after_barrier);
1623}
1624static inline WINBOOL ID3D11DeviceContext2_IsAnnotationEnabled(ID3D11DeviceContext2* This) {
1625    return This->lpVtbl->IsAnnotationEnabled(This);
1626}
1627static inline void ID3D11DeviceContext2_SetMarkerInt(ID3D11DeviceContext2* This,const WCHAR *label,int data) {
1628    This->lpVtbl->SetMarkerInt(This,label,data);
1629}
1630static inline void ID3D11DeviceContext2_BeginEventInt(ID3D11DeviceContext2* This,const WCHAR *label,int data) {
1631    This->lpVtbl->BeginEventInt(This,label,data);
1632}
1633static 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
1650DEFINE_GUID(IID_ID3D11Device2, 0x9d06dffa, 0xd1e5, 0x4d07, 0x83,0xa8, 0x1b,0xb1,0x23,0xf2,0xf8,0x41);
1651#if defined(__cplusplus) && !defined(CINTERFACE)
1652MIDL_INTERFACE("9d06dffa-d1e5-4d07-83a8-1bb123f2f841")
1653ID3D11Device2 : 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
1682typedef 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
2001interface 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 ***/
2067static inline HRESULT ID3D11Device2_QueryInterface(ID3D11Device2* This,REFIID riid,void **ppvObject) {
2068    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2069}
2070static inline ULONG ID3D11Device2_AddRef(ID3D11Device2* This) {
2071    return This->lpVtbl->AddRef(This);
2072}
2073static inline ULONG ID3D11Device2_Release(ID3D11Device2* This) {
2074    return This->lpVtbl->Release(This);
2075}
2076/*** ID3D11Device methods ***/
2077static 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}
2080static 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}
2083static 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}
2086static 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}
2089static 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}
2092static 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}
2095static 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}
2098static 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}
2101static 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}
2104static 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}
2107static 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}
2110static 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}
2113static 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}
2116static 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}
2119static 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}
2122static 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}
2125static inline HRESULT ID3D11Device2_CreateClassLinkage(ID3D11Device2* This,ID3D11ClassLinkage **ppLinkage) {
2126    return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
2127}
2128static inline HRESULT ID3D11Device2_CreateBlendState(ID3D11Device2* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
2129    return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
2130}
2131static inline HRESULT ID3D11Device2_CreateDepthStencilState(ID3D11Device2* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
2132    return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
2133}
2134static inline HRESULT ID3D11Device2_CreateRasterizerState(ID3D11Device2* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
2135    return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
2136}
2137static inline HRESULT ID3D11Device2_CreateSamplerState(ID3D11Device2* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
2138    return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
2139}
2140static inline HRESULT ID3D11Device2_CreateQuery(ID3D11Device2* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
2141    return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
2142}
2143static inline HRESULT ID3D11Device2_CreatePredicate(ID3D11Device2* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
2144    return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
2145}
2146static inline HRESULT ID3D11Device2_CreateCounter(ID3D11Device2* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
2147    return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
2148}
2149static inline HRESULT ID3D11Device2_CreateDeferredContext(ID3D11Device2* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
2150    return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
2151}
2152static inline HRESULT ID3D11Device2_OpenSharedResource(ID3D11Device2* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
2153    return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
2154}
2155static inline HRESULT ID3D11Device2_CheckFormatSupport(ID3D11Device2* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
2156    return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
2157}
2158static inline HRESULT ID3D11Device2_CheckMultisampleQualityLevels(ID3D11Device2* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
2159    return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
2160}
2161static inline void ID3D11Device2_CheckCounterInfo(ID3D11Device2* This,D3D11_COUNTER_INFO *pCounterInfo) {
2162    This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
2163}
2164static 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}
2167static inline HRESULT ID3D11Device2_CheckFeatureSupport(ID3D11Device2* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
2168    return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
2169}
2170static inline HRESULT ID3D11Device2_GetPrivateData(ID3D11Device2* This,REFGUID guid,UINT *pDataSize,void *pData) {
2171    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
2172}
2173static inline HRESULT ID3D11Device2_SetPrivateData(ID3D11Device2* This,REFGUID guid,UINT DataSize,const void *pData) {
2174    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
2175}
2176static inline HRESULT ID3D11Device2_SetPrivateDataInterface(ID3D11Device2* This,REFGUID guid,const IUnknown *pData) {
2177    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
2178}
2179static inline D3D_FEATURE_LEVEL ID3D11Device2_GetFeatureLevel(ID3D11Device2* This) {
2180    return This->lpVtbl->GetFeatureLevel(This);
2181}
2182static inline UINT ID3D11Device2_GetCreationFlags(ID3D11Device2* This) {
2183    return This->lpVtbl->GetCreationFlags(This);
2184}
2185static inline HRESULT ID3D11Device2_GetDeviceRemovedReason(ID3D11Device2* This) {
2186    return This->lpVtbl->GetDeviceRemovedReason(This);
2187}
2188static inline void ID3D11Device2_GetImmediateContext(ID3D11Device2* This,ID3D11DeviceContext **ppImmediateContext) {
2189    This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
2190}
2191static inline HRESULT ID3D11Device2_SetExceptionMode(ID3D11Device2* This,UINT RaiseFlags) {
2192    return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
2193}
2194static inline UINT ID3D11Device2_GetExceptionMode(ID3D11Device2* This) {
2195    return This->lpVtbl->GetExceptionMode(This);
2196}
2197/*** ID3D11Device1 methods ***/
2198static inline void ID3D11Device2_GetImmediateContext1(ID3D11Device2* This,ID3D11DeviceContext1 **ppImmediateContext) {
2199    This->lpVtbl->GetImmediateContext1(This,ppImmediateContext);
2200}
2201static inline HRESULT ID3D11Device2_CreateDeferredContext1(ID3D11Device2* This,UINT ContextFlags,ID3D11DeviceContext1 **ppDeferredContext) {
2202    return This->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext);
2203}
2204static inline HRESULT ID3D11Device2_CreateBlendState1(ID3D11Device2* This,const D3D11_BLEND_DESC1 *pBlendStateDesc,ID3D11BlendState1 **ppBlendState) {
2205    return This->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState);
2206}
2207static inline HRESULT ID3D11Device2_CreateRasterizerState1(ID3D11Device2* This,const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,ID3D11RasterizerState1 **ppRasterizerState) {
2208    return This->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState);
2209}
2210static 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}
2213static inline HRESULT ID3D11Device2_OpenSharedResource1(ID3D11Device2* This,HANDLE hResource,REFIID returnedInterface,void **ppResource) {
2214    return This->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource);
2215}
2216static 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 ***/
2220static inline void ID3D11Device2_GetImmediateContext2(ID3D11Device2* This,ID3D11DeviceContext2 **context) {
2221    This->lpVtbl->GetImmediateContext2(This,context);
2222}
2223static inline HRESULT ID3D11Device2_CreateDeferredContext2(ID3D11Device2* This,UINT flags,ID3D11DeviceContext2 **context) {
2224    return This->lpVtbl->CreateDeferredContext2(This,flags,context);
2225}
2226static 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}
2229static 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__ */