master
   1/*** Autogenerated by WIDL 10.4 from include/d3d11_3.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_3_h__
  17#define __d3d11_3_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __ID3D11Texture2D1_FWD_DEFINED__
  22#define __ID3D11Texture2D1_FWD_DEFINED__
  23typedef interface ID3D11Texture2D1 ID3D11Texture2D1;
  24#ifdef __cplusplus
  25interface ID3D11Texture2D1;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __ID3D11Texture3D1_FWD_DEFINED__
  30#define __ID3D11Texture3D1_FWD_DEFINED__
  31typedef interface ID3D11Texture3D1 ID3D11Texture3D1;
  32#ifdef __cplusplus
  33interface ID3D11Texture3D1;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __ID3D11RasterizerState2_FWD_DEFINED__
  38#define __ID3D11RasterizerState2_FWD_DEFINED__
  39typedef interface ID3D11RasterizerState2 ID3D11RasterizerState2;
  40#ifdef __cplusplus
  41interface ID3D11RasterizerState2;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __ID3D11ShaderResourceView1_FWD_DEFINED__
  46#define __ID3D11ShaderResourceView1_FWD_DEFINED__
  47typedef interface ID3D11ShaderResourceView1 ID3D11ShaderResourceView1;
  48#ifdef __cplusplus
  49interface ID3D11ShaderResourceView1;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __ID3D11RenderTargetView1_FWD_DEFINED__
  54#define __ID3D11RenderTargetView1_FWD_DEFINED__
  55typedef interface ID3D11RenderTargetView1 ID3D11RenderTargetView1;
  56#ifdef __cplusplus
  57interface ID3D11RenderTargetView1;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __ID3D11UnorderedAccessView1_FWD_DEFINED__
  62#define __ID3D11UnorderedAccessView1_FWD_DEFINED__
  63typedef interface ID3D11UnorderedAccessView1 ID3D11UnorderedAccessView1;
  64#ifdef __cplusplus
  65interface ID3D11UnorderedAccessView1;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __ID3D11Query1_FWD_DEFINED__
  70#define __ID3D11Query1_FWD_DEFINED__
  71typedef interface ID3D11Query1 ID3D11Query1;
  72#ifdef __cplusplus
  73interface ID3D11Query1;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __ID3D11DeviceContext3_FWD_DEFINED__
  78#define __ID3D11DeviceContext3_FWD_DEFINED__
  79typedef interface ID3D11DeviceContext3 ID3D11DeviceContext3;
  80#ifdef __cplusplus
  81interface ID3D11DeviceContext3;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __ID3D11Fence_FWD_DEFINED__
  86#define __ID3D11Fence_FWD_DEFINED__
  87typedef interface ID3D11Fence ID3D11Fence;
  88#ifdef __cplusplus
  89interface ID3D11Fence;
  90#endif /* __cplusplus */
  91#endif
  92
  93#ifndef __ID3D11DeviceContext4_FWD_DEFINED__
  94#define __ID3D11DeviceContext4_FWD_DEFINED__
  95typedef interface ID3D11DeviceContext4 ID3D11DeviceContext4;
  96#ifdef __cplusplus
  97interface ID3D11DeviceContext4;
  98#endif /* __cplusplus */
  99#endif
 100
 101#ifndef __ID3D11Device3_FWD_DEFINED__
 102#define __ID3D11Device3_FWD_DEFINED__
 103typedef interface ID3D11Device3 ID3D11Device3;
 104#ifdef __cplusplus
 105interface ID3D11Device3;
 106#endif /* __cplusplus */
 107#endif
 108
 109/* Headers for imported files */
 110
 111#include <oaidl.h>
 112#include <ocidl.h>
 113#include <dxgi1_3.h>
 114#include <d3dcommon.h>
 115#include <d3d11_2.h>
 116
 117#ifdef __cplusplus
 118extern "C" {
 119#endif
 120
 121typedef enum D3D11_CONTEXT_TYPE {
 122    D3D11_CONTEXT_TYPE_ALL = 0x0,
 123    D3D11_CONTEXT_TYPE_3D = 0x1,
 124    D3D11_CONTEXT_TYPE_COMPUTE = 0x2,
 125    D3D11_CONTEXT_TYPE_COPY = 0x3,
 126    D3D11_CONTEXT_TYPE_VIDEO = 0x4
 127} D3D11_CONTEXT_TYPE;
 128typedef enum D3D11_TEXTURE_LAYOUT {
 129    D3D11_TEXTURE_LAYOUT_UNDEFINED = 0x0,
 130    D3D11_TEXTURE_LAYOUT_ROW_MAJOR = 0x1,
 131    D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE = 0x2
 132} D3D11_TEXTURE_LAYOUT;
 133typedef enum D3D11_CONSERVATIVE_RASTERIZATION_MODE {
 134    D3D11_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0x0,
 135    D3D11_CONSERVATIVE_RASTERIZATION_MODE_ON = 0x1
 136} D3D11_CONSERVATIVE_RASTERIZATION_MODE;
 137typedef enum D3D11_FENCE_FLAG {
 138    D3D11_FENCE_FLAG_NONE = 0x1,
 139    D3D11_FENCE_FLAG_SHARED = 0x2,
 140    D3D11_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x4,
 141    D3D11_FENCE_FLAG_NON_MONITORED = 0x8
 142} D3D11_FENCE_FLAG;
 143typedef struct D3D11_TEXTURE2D_DESC1 {
 144    UINT Width;
 145    UINT Height;
 146    UINT MipLevels;
 147    UINT ArraySize;
 148    DXGI_FORMAT Format;
 149    DXGI_SAMPLE_DESC SampleDesc;
 150    D3D11_USAGE Usage;
 151    UINT BindFlags;
 152    UINT CPUAccessFlags;
 153    UINT MiscFlags;
 154    D3D11_TEXTURE_LAYOUT TextureLayout;
 155} D3D11_TEXTURE2D_DESC1;
 156typedef struct D3D11_TEXTURE3D_DESC1 {
 157    UINT Width;
 158    UINT Height;
 159    UINT Depth;
 160    UINT MipLevels;
 161    DXGI_FORMAT Format;
 162    D3D11_USAGE Usage;
 163    UINT BindFlags;
 164    UINT CPUAccessFlags;
 165    UINT MiscFlags;
 166    D3D11_TEXTURE_LAYOUT TextureLayout;
 167} D3D11_TEXTURE3D_DESC1;
 168typedef struct D3D11_RASTERIZER_DESC2 {
 169    D3D11_FILL_MODE FillMode;
 170    D3D11_CULL_MODE CullMode;
 171    WINBOOL FrontCounterClockwise;
 172    int DepthBias;
 173    float DepthBiasClamp;
 174    float SlopeScaledDepthBias;
 175    WINBOOL DepthClipEnable;
 176    WINBOOL ScissorEnable;
 177    WINBOOL MultisampleEnable;
 178    WINBOOL AntialiasedLineEnable;
 179    UINT ForcedSampleCount;
 180    D3D11_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
 181} D3D11_RASTERIZER_DESC2;
 182typedef struct D3D11_TEX2D_SRV1 {
 183    UINT MostDetailedMip;
 184    UINT MipLevels;
 185    UINT PlaneSlice;
 186} D3D11_TEX2D_SRV1;
 187typedef struct D3D11_TEX2D_ARRAY_SRV1 {
 188    UINT MostDetailedMip;
 189    UINT MipLevels;
 190    UINT FirstArraySlice;
 191    UINT ArraySize;
 192    UINT PlaneSlice;
 193} D3D11_TEX2D_ARRAY_SRV1;
 194typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC1 {
 195    DXGI_FORMAT Format;
 196    D3D11_SRV_DIMENSION ViewDimension;
 197    __C89_NAMELESS union {
 198        D3D11_BUFFER_SRV Buffer;
 199        D3D11_TEX1D_SRV Texture1D;
 200        D3D11_TEX1D_ARRAY_SRV Texture1DArray;
 201        D3D11_TEX2D_SRV1 Texture2D;
 202        D3D11_TEX2D_ARRAY_SRV1 Texture2DArray;
 203        D3D11_TEX2DMS_SRV Texture2DMS;
 204        D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
 205        D3D11_TEX3D_SRV Texture3D;
 206        D3D11_TEXCUBE_SRV TextureCube;
 207        D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
 208        D3D11_BUFFEREX_SRV BufferEx;
 209    } __C89_NAMELESSUNIONNAME;
 210} D3D11_SHADER_RESOURCE_VIEW_DESC1;
 211typedef struct D3D11_TEX2D_RTV1 {
 212    UINT MipSlice;
 213    UINT PlaneSlice;
 214} D3D11_TEX2D_RTV1;
 215typedef struct D3D11_TEX2D_ARRAY_RTV1 {
 216    UINT MipSlice;
 217    UINT FirstArraySlice;
 218    UINT ArraySize;
 219    UINT PlaneSlice;
 220} D3D11_TEX2D_ARRAY_RTV1;
 221typedef struct D3D11_RENDER_TARGET_VIEW_DESC1 {
 222    DXGI_FORMAT Format;
 223    D3D11_RTV_DIMENSION ViewDimension;
 224    __C89_NAMELESS union {
 225        D3D11_BUFFER_RTV Buffer;
 226        D3D11_TEX1D_RTV Texture1D;
 227        D3D11_TEX1D_ARRAY_RTV Texture1DArray;
 228        D3D11_TEX2D_RTV1 Texture2D;
 229        D3D11_TEX2D_ARRAY_RTV1 Texture2DArray;
 230        D3D11_TEX2DMS_RTV Texture2DMS;
 231        D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
 232        D3D11_TEX3D_RTV Texture3D;
 233    } __C89_NAMELESSUNIONNAME;
 234} D3D11_RENDER_TARGET_VIEW_DESC1;
 235typedef struct D3D11_TEX2D_UAV1 {
 236    UINT MipSlice;
 237    UINT PlaneSlice;
 238} D3D11_TEX2D_UAV1;
 239typedef struct D3D11_TEX2D_ARRAY_UAV1 {
 240    UINT MipSlice;
 241    UINT FirstArraySlice;
 242    UINT ArraySize;
 243    UINT PlaneSlice;
 244} D3D11_TEX2D_ARRAY_UAV1;
 245typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC1 {
 246    DXGI_FORMAT Format;
 247    D3D11_UAV_DIMENSION ViewDimension;
 248    __C89_NAMELESS union {
 249        D3D11_BUFFER_UAV Buffer;
 250        D3D11_TEX1D_UAV Texture1D;
 251        D3D11_TEX1D_ARRAY_UAV Texture1DArray;
 252        D3D11_TEX2D_UAV1 Texture2D;
 253        D3D11_TEX2D_ARRAY_UAV1 Texture2DArray;
 254        D3D11_TEX3D_UAV Texture3D;
 255    } __C89_NAMELESSUNIONNAME;
 256} D3D11_UNORDERED_ACCESS_VIEW_DESC1;
 257typedef struct D3D11_QUERY_DESC1 {
 258    D3D11_QUERY Query;
 259    UINT MiscFlags;
 260    D3D11_CONTEXT_TYPE ContextType;
 261} D3D11_QUERY_DESC1;
 262/*****************************************************************************
 263 * ID3D11Texture2D1 interface
 264 */
 265#ifndef __ID3D11Texture2D1_INTERFACE_DEFINED__
 266#define __ID3D11Texture2D1_INTERFACE_DEFINED__
 267
 268DEFINE_GUID(IID_ID3D11Texture2D1, 0x51218251, 0x1e33, 0x4617, 0x9c,0xcb, 0x4d,0x3a,0x43,0x67,0xe7,0xbb);
 269#if defined(__cplusplus) && !defined(CINTERFACE)
 270MIDL_INTERFACE("51218251-1e33-4617-9ccb-4d3a4367e7bb")
 271ID3D11Texture2D1 : public ID3D11Texture2D
 272{
 273    virtual void STDMETHODCALLTYPE GetDesc1(
 274        D3D11_TEXTURE2D_DESC1 *desc) = 0;
 275
 276};
 277#ifdef __CRT_UUID_DECL
 278__CRT_UUID_DECL(ID3D11Texture2D1, 0x51218251, 0x1e33, 0x4617, 0x9c,0xcb, 0x4d,0x3a,0x43,0x67,0xe7,0xbb)
 279#endif
 280#else
 281typedef struct ID3D11Texture2D1Vtbl {
 282    BEGIN_INTERFACE
 283
 284    /*** IUnknown methods ***/
 285    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 286        ID3D11Texture2D1 *This,
 287        REFIID riid,
 288        void **ppvObject);
 289
 290    ULONG (STDMETHODCALLTYPE *AddRef)(
 291        ID3D11Texture2D1 *This);
 292
 293    ULONG (STDMETHODCALLTYPE *Release)(
 294        ID3D11Texture2D1 *This);
 295
 296    /*** ID3D11DeviceChild methods ***/
 297    void (STDMETHODCALLTYPE *GetDevice)(
 298        ID3D11Texture2D1 *This,
 299        ID3D11Device **ppDevice);
 300
 301    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 302        ID3D11Texture2D1 *This,
 303        REFGUID guid,
 304        UINT *pDataSize,
 305        void *pData);
 306
 307    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 308        ID3D11Texture2D1 *This,
 309        REFGUID guid,
 310        UINT DataSize,
 311        const void *pData);
 312
 313    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 314        ID3D11Texture2D1 *This,
 315        REFGUID guid,
 316        const IUnknown *pData);
 317
 318    /*** ID3D11Resource methods ***/
 319    void (STDMETHODCALLTYPE *GetType)(
 320        ID3D11Texture2D1 *This,
 321        D3D11_RESOURCE_DIMENSION *pResourceDimension);
 322
 323    void (STDMETHODCALLTYPE *SetEvictionPriority)(
 324        ID3D11Texture2D1 *This,
 325        UINT EvictionPriority);
 326
 327    UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
 328        ID3D11Texture2D1 *This);
 329
 330    /*** ID3D11Texture2D methods ***/
 331    void (STDMETHODCALLTYPE *GetDesc)(
 332        ID3D11Texture2D1 *This,
 333        D3D11_TEXTURE2D_DESC *pDesc);
 334
 335    /*** ID3D11Texture2D1 methods ***/
 336    void (STDMETHODCALLTYPE *GetDesc1)(
 337        ID3D11Texture2D1 *This,
 338        D3D11_TEXTURE2D_DESC1 *desc);
 339
 340    END_INTERFACE
 341} ID3D11Texture2D1Vtbl;
 342
 343interface ID3D11Texture2D1 {
 344    CONST_VTBL ID3D11Texture2D1Vtbl* lpVtbl;
 345};
 346
 347#ifdef COBJMACROS
 348#ifndef WIDL_C_INLINE_WRAPPERS
 349/*** IUnknown methods ***/
 350#define ID3D11Texture2D1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 351#define ID3D11Texture2D1_AddRef(This) (This)->lpVtbl->AddRef(This)
 352#define ID3D11Texture2D1_Release(This) (This)->lpVtbl->Release(This)
 353/*** ID3D11DeviceChild methods ***/
 354#define ID3D11Texture2D1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 355#define ID3D11Texture2D1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 356#define ID3D11Texture2D1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 357#define ID3D11Texture2D1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 358/*** ID3D11Resource methods ***/
 359#define ID3D11Texture2D1_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
 360#define ID3D11Texture2D1_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
 361#define ID3D11Texture2D1_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
 362/*** ID3D11Texture2D methods ***/
 363#define ID3D11Texture2D1_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 364/*** ID3D11Texture2D1 methods ***/
 365#define ID3D11Texture2D1_GetDesc1(This,desc) (This)->lpVtbl->GetDesc1(This,desc)
 366#else
 367/*** IUnknown methods ***/
 368static inline HRESULT ID3D11Texture2D1_QueryInterface(ID3D11Texture2D1* This,REFIID riid,void **ppvObject) {
 369    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 370}
 371static inline ULONG ID3D11Texture2D1_AddRef(ID3D11Texture2D1* This) {
 372    return This->lpVtbl->AddRef(This);
 373}
 374static inline ULONG ID3D11Texture2D1_Release(ID3D11Texture2D1* This) {
 375    return This->lpVtbl->Release(This);
 376}
 377/*** ID3D11DeviceChild methods ***/
 378static inline void ID3D11Texture2D1_GetDevice(ID3D11Texture2D1* This,ID3D11Device **ppDevice) {
 379    This->lpVtbl->GetDevice(This,ppDevice);
 380}
 381static inline HRESULT ID3D11Texture2D1_GetPrivateData(ID3D11Texture2D1* This,REFGUID guid,UINT *pDataSize,void *pData) {
 382    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 383}
 384static inline HRESULT ID3D11Texture2D1_SetPrivateData(ID3D11Texture2D1* This,REFGUID guid,UINT DataSize,const void *pData) {
 385    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 386}
 387static inline HRESULT ID3D11Texture2D1_SetPrivateDataInterface(ID3D11Texture2D1* This,REFGUID guid,const IUnknown *pData) {
 388    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 389}
 390/*** ID3D11Resource methods ***/
 391static inline void ID3D11Texture2D1_GetType(ID3D11Texture2D1* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
 392    This->lpVtbl->GetType(This,pResourceDimension);
 393}
 394static inline void ID3D11Texture2D1_SetEvictionPriority(ID3D11Texture2D1* This,UINT EvictionPriority) {
 395    This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
 396}
 397static inline UINT ID3D11Texture2D1_GetEvictionPriority(ID3D11Texture2D1* This) {
 398    return This->lpVtbl->GetEvictionPriority(This);
 399}
 400/*** ID3D11Texture2D methods ***/
 401static inline void ID3D11Texture2D1_GetDesc(ID3D11Texture2D1* This,D3D11_TEXTURE2D_DESC *pDesc) {
 402    This->lpVtbl->GetDesc(This,pDesc);
 403}
 404/*** ID3D11Texture2D1 methods ***/
 405static inline void ID3D11Texture2D1_GetDesc1(ID3D11Texture2D1* This,D3D11_TEXTURE2D_DESC1 *desc) {
 406    This->lpVtbl->GetDesc1(This,desc);
 407}
 408#endif
 409#endif
 410
 411#endif
 412
 413
 414#endif  /* __ID3D11Texture2D1_INTERFACE_DEFINED__ */
 415
 416/*****************************************************************************
 417 * ID3D11Texture3D1 interface
 418 */
 419#ifndef __ID3D11Texture3D1_INTERFACE_DEFINED__
 420#define __ID3D11Texture3D1_INTERFACE_DEFINED__
 421
 422DEFINE_GUID(IID_ID3D11Texture3D1, 0x0c711683, 0x2853, 0x4846, 0x9b,0xb0, 0xf3,0xe6,0x06,0x39,0xe4,0x6a);
 423#if defined(__cplusplus) && !defined(CINTERFACE)
 424MIDL_INTERFACE("0c711683-2853-4846-9bb0-f3e60639e46a")
 425ID3D11Texture3D1 : public ID3D11Texture3D
 426{
 427    virtual void STDMETHODCALLTYPE GetDesc1(
 428        D3D11_TEXTURE3D_DESC1 *desc) = 0;
 429
 430};
 431#ifdef __CRT_UUID_DECL
 432__CRT_UUID_DECL(ID3D11Texture3D1, 0x0c711683, 0x2853, 0x4846, 0x9b,0xb0, 0xf3,0xe6,0x06,0x39,0xe4,0x6a)
 433#endif
 434#else
 435typedef struct ID3D11Texture3D1Vtbl {
 436    BEGIN_INTERFACE
 437
 438    /*** IUnknown methods ***/
 439    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 440        ID3D11Texture3D1 *This,
 441        REFIID riid,
 442        void **ppvObject);
 443
 444    ULONG (STDMETHODCALLTYPE *AddRef)(
 445        ID3D11Texture3D1 *This);
 446
 447    ULONG (STDMETHODCALLTYPE *Release)(
 448        ID3D11Texture3D1 *This);
 449
 450    /*** ID3D11DeviceChild methods ***/
 451    void (STDMETHODCALLTYPE *GetDevice)(
 452        ID3D11Texture3D1 *This,
 453        ID3D11Device **ppDevice);
 454
 455    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 456        ID3D11Texture3D1 *This,
 457        REFGUID guid,
 458        UINT *pDataSize,
 459        void *pData);
 460
 461    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 462        ID3D11Texture3D1 *This,
 463        REFGUID guid,
 464        UINT DataSize,
 465        const void *pData);
 466
 467    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 468        ID3D11Texture3D1 *This,
 469        REFGUID guid,
 470        const IUnknown *pData);
 471
 472    /*** ID3D11Resource methods ***/
 473    void (STDMETHODCALLTYPE *GetType)(
 474        ID3D11Texture3D1 *This,
 475        D3D11_RESOURCE_DIMENSION *pResourceDimension);
 476
 477    void (STDMETHODCALLTYPE *SetEvictionPriority)(
 478        ID3D11Texture3D1 *This,
 479        UINT EvictionPriority);
 480
 481    UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
 482        ID3D11Texture3D1 *This);
 483
 484    /*** ID3D11Texture3D methods ***/
 485    void (STDMETHODCALLTYPE *GetDesc)(
 486        ID3D11Texture3D1 *This,
 487        D3D11_TEXTURE3D_DESC *pDesc);
 488
 489    /*** ID3D11Texture3D1 methods ***/
 490    void (STDMETHODCALLTYPE *GetDesc1)(
 491        ID3D11Texture3D1 *This,
 492        D3D11_TEXTURE3D_DESC1 *desc);
 493
 494    END_INTERFACE
 495} ID3D11Texture3D1Vtbl;
 496
 497interface ID3D11Texture3D1 {
 498    CONST_VTBL ID3D11Texture3D1Vtbl* lpVtbl;
 499};
 500
 501#ifdef COBJMACROS
 502#ifndef WIDL_C_INLINE_WRAPPERS
 503/*** IUnknown methods ***/
 504#define ID3D11Texture3D1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 505#define ID3D11Texture3D1_AddRef(This) (This)->lpVtbl->AddRef(This)
 506#define ID3D11Texture3D1_Release(This) (This)->lpVtbl->Release(This)
 507/*** ID3D11DeviceChild methods ***/
 508#define ID3D11Texture3D1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 509#define ID3D11Texture3D1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 510#define ID3D11Texture3D1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 511#define ID3D11Texture3D1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 512/*** ID3D11Resource methods ***/
 513#define ID3D11Texture3D1_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
 514#define ID3D11Texture3D1_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
 515#define ID3D11Texture3D1_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
 516/*** ID3D11Texture3D methods ***/
 517#define ID3D11Texture3D1_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 518/*** ID3D11Texture3D1 methods ***/
 519#define ID3D11Texture3D1_GetDesc1(This,desc) (This)->lpVtbl->GetDesc1(This,desc)
 520#else
 521/*** IUnknown methods ***/
 522static inline HRESULT ID3D11Texture3D1_QueryInterface(ID3D11Texture3D1* This,REFIID riid,void **ppvObject) {
 523    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 524}
 525static inline ULONG ID3D11Texture3D1_AddRef(ID3D11Texture3D1* This) {
 526    return This->lpVtbl->AddRef(This);
 527}
 528static inline ULONG ID3D11Texture3D1_Release(ID3D11Texture3D1* This) {
 529    return This->lpVtbl->Release(This);
 530}
 531/*** ID3D11DeviceChild methods ***/
 532static inline void ID3D11Texture3D1_GetDevice(ID3D11Texture3D1* This,ID3D11Device **ppDevice) {
 533    This->lpVtbl->GetDevice(This,ppDevice);
 534}
 535static inline HRESULT ID3D11Texture3D1_GetPrivateData(ID3D11Texture3D1* This,REFGUID guid,UINT *pDataSize,void *pData) {
 536    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 537}
 538static inline HRESULT ID3D11Texture3D1_SetPrivateData(ID3D11Texture3D1* This,REFGUID guid,UINT DataSize,const void *pData) {
 539    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 540}
 541static inline HRESULT ID3D11Texture3D1_SetPrivateDataInterface(ID3D11Texture3D1* This,REFGUID guid,const IUnknown *pData) {
 542    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 543}
 544/*** ID3D11Resource methods ***/
 545static inline void ID3D11Texture3D1_GetType(ID3D11Texture3D1* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
 546    This->lpVtbl->GetType(This,pResourceDimension);
 547}
 548static inline void ID3D11Texture3D1_SetEvictionPriority(ID3D11Texture3D1* This,UINT EvictionPriority) {
 549    This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
 550}
 551static inline UINT ID3D11Texture3D1_GetEvictionPriority(ID3D11Texture3D1* This) {
 552    return This->lpVtbl->GetEvictionPriority(This);
 553}
 554/*** ID3D11Texture3D methods ***/
 555static inline void ID3D11Texture3D1_GetDesc(ID3D11Texture3D1* This,D3D11_TEXTURE3D_DESC *pDesc) {
 556    This->lpVtbl->GetDesc(This,pDesc);
 557}
 558/*** ID3D11Texture3D1 methods ***/
 559static inline void ID3D11Texture3D1_GetDesc1(ID3D11Texture3D1* This,D3D11_TEXTURE3D_DESC1 *desc) {
 560    This->lpVtbl->GetDesc1(This,desc);
 561}
 562#endif
 563#endif
 564
 565#endif
 566
 567
 568#endif  /* __ID3D11Texture3D1_INTERFACE_DEFINED__ */
 569
 570/*****************************************************************************
 571 * ID3D11RasterizerState2 interface
 572 */
 573#ifndef __ID3D11RasterizerState2_INTERFACE_DEFINED__
 574#define __ID3D11RasterizerState2_INTERFACE_DEFINED__
 575
 576DEFINE_GUID(IID_ID3D11RasterizerState2, 0x6fbd02fb, 0x209f, 0x46c4, 0xb0,0x59, 0x2e,0xd1,0x55,0x86,0xa6,0xac);
 577#if defined(__cplusplus) && !defined(CINTERFACE)
 578MIDL_INTERFACE("6fbd02fb-209f-46c4-b059-2ed15586a6ac")
 579ID3D11RasterizerState2 : public ID3D11RasterizerState1
 580{
 581    virtual void STDMETHODCALLTYPE GetDesc2(
 582        D3D11_RASTERIZER_DESC2 *desc) = 0;
 583
 584};
 585#ifdef __CRT_UUID_DECL
 586__CRT_UUID_DECL(ID3D11RasterizerState2, 0x6fbd02fb, 0x209f, 0x46c4, 0xb0,0x59, 0x2e,0xd1,0x55,0x86,0xa6,0xac)
 587#endif
 588#else
 589typedef struct ID3D11RasterizerState2Vtbl {
 590    BEGIN_INTERFACE
 591
 592    /*** IUnknown methods ***/
 593    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 594        ID3D11RasterizerState2 *This,
 595        REFIID riid,
 596        void **ppvObject);
 597
 598    ULONG (STDMETHODCALLTYPE *AddRef)(
 599        ID3D11RasterizerState2 *This);
 600
 601    ULONG (STDMETHODCALLTYPE *Release)(
 602        ID3D11RasterizerState2 *This);
 603
 604    /*** ID3D11DeviceChild methods ***/
 605    void (STDMETHODCALLTYPE *GetDevice)(
 606        ID3D11RasterizerState2 *This,
 607        ID3D11Device **ppDevice);
 608
 609    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 610        ID3D11RasterizerState2 *This,
 611        REFGUID guid,
 612        UINT *pDataSize,
 613        void *pData);
 614
 615    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 616        ID3D11RasterizerState2 *This,
 617        REFGUID guid,
 618        UINT DataSize,
 619        const void *pData);
 620
 621    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 622        ID3D11RasterizerState2 *This,
 623        REFGUID guid,
 624        const IUnknown *pData);
 625
 626    /*** ID3D11RasterizerState methods ***/
 627    void (STDMETHODCALLTYPE *GetDesc)(
 628        ID3D11RasterizerState2 *This,
 629        D3D11_RASTERIZER_DESC *pDesc);
 630
 631    /*** ID3D11RasterizerState1 methods ***/
 632    void (STDMETHODCALLTYPE *GetDesc1)(
 633        ID3D11RasterizerState2 *This,
 634        D3D11_RASTERIZER_DESC1 *pDesc);
 635
 636    /*** ID3D11RasterizerState2 methods ***/
 637    void (STDMETHODCALLTYPE *GetDesc2)(
 638        ID3D11RasterizerState2 *This,
 639        D3D11_RASTERIZER_DESC2 *desc);
 640
 641    END_INTERFACE
 642} ID3D11RasterizerState2Vtbl;
 643
 644interface ID3D11RasterizerState2 {
 645    CONST_VTBL ID3D11RasterizerState2Vtbl* lpVtbl;
 646};
 647
 648#ifdef COBJMACROS
 649#ifndef WIDL_C_INLINE_WRAPPERS
 650/*** IUnknown methods ***/
 651#define ID3D11RasterizerState2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 652#define ID3D11RasterizerState2_AddRef(This) (This)->lpVtbl->AddRef(This)
 653#define ID3D11RasterizerState2_Release(This) (This)->lpVtbl->Release(This)
 654/*** ID3D11DeviceChild methods ***/
 655#define ID3D11RasterizerState2_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 656#define ID3D11RasterizerState2_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 657#define ID3D11RasterizerState2_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 658#define ID3D11RasterizerState2_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 659/*** ID3D11RasterizerState methods ***/
 660#define ID3D11RasterizerState2_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 661/*** ID3D11RasterizerState1 methods ***/
 662#define ID3D11RasterizerState2_GetDesc1(This,pDesc) (This)->lpVtbl->GetDesc1(This,pDesc)
 663/*** ID3D11RasterizerState2 methods ***/
 664#define ID3D11RasterizerState2_GetDesc2(This,desc) (This)->lpVtbl->GetDesc2(This,desc)
 665#else
 666/*** IUnknown methods ***/
 667static inline HRESULT ID3D11RasterizerState2_QueryInterface(ID3D11RasterizerState2* This,REFIID riid,void **ppvObject) {
 668    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 669}
 670static inline ULONG ID3D11RasterizerState2_AddRef(ID3D11RasterizerState2* This) {
 671    return This->lpVtbl->AddRef(This);
 672}
 673static inline ULONG ID3D11RasterizerState2_Release(ID3D11RasterizerState2* This) {
 674    return This->lpVtbl->Release(This);
 675}
 676/*** ID3D11DeviceChild methods ***/
 677static inline void ID3D11RasterizerState2_GetDevice(ID3D11RasterizerState2* This,ID3D11Device **ppDevice) {
 678    This->lpVtbl->GetDevice(This,ppDevice);
 679}
 680static inline HRESULT ID3D11RasterizerState2_GetPrivateData(ID3D11RasterizerState2* This,REFGUID guid,UINT *pDataSize,void *pData) {
 681    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 682}
 683static inline HRESULT ID3D11RasterizerState2_SetPrivateData(ID3D11RasterizerState2* This,REFGUID guid,UINT DataSize,const void *pData) {
 684    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 685}
 686static inline HRESULT ID3D11RasterizerState2_SetPrivateDataInterface(ID3D11RasterizerState2* This,REFGUID guid,const IUnknown *pData) {
 687    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 688}
 689/*** ID3D11RasterizerState methods ***/
 690static inline void ID3D11RasterizerState2_GetDesc(ID3D11RasterizerState2* This,D3D11_RASTERIZER_DESC *pDesc) {
 691    This->lpVtbl->GetDesc(This,pDesc);
 692}
 693/*** ID3D11RasterizerState1 methods ***/
 694static inline void ID3D11RasterizerState2_GetDesc1(ID3D11RasterizerState2* This,D3D11_RASTERIZER_DESC1 *pDesc) {
 695    This->lpVtbl->GetDesc1(This,pDesc);
 696}
 697/*** ID3D11RasterizerState2 methods ***/
 698static inline void ID3D11RasterizerState2_GetDesc2(ID3D11RasterizerState2* This,D3D11_RASTERIZER_DESC2 *desc) {
 699    This->lpVtbl->GetDesc2(This,desc);
 700}
 701#endif
 702#endif
 703
 704#endif
 705
 706
 707#endif  /* __ID3D11RasterizerState2_INTERFACE_DEFINED__ */
 708
 709/*****************************************************************************
 710 * ID3D11ShaderResourceView1 interface
 711 */
 712#ifndef __ID3D11ShaderResourceView1_INTERFACE_DEFINED__
 713#define __ID3D11ShaderResourceView1_INTERFACE_DEFINED__
 714
 715DEFINE_GUID(IID_ID3D11ShaderResourceView1, 0x91308b87, 0x9040, 0x411d, 0x8c,0x67, 0xc3,0x92,0x53,0xce,0x38,0x02);
 716#if defined(__cplusplus) && !defined(CINTERFACE)
 717MIDL_INTERFACE("91308b87-9040-411d-8c67-c39253ce3802")
 718ID3D11ShaderResourceView1 : public ID3D11ShaderResourceView
 719{
 720    virtual void STDMETHODCALLTYPE GetDesc1(
 721        D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc) = 0;
 722
 723};
 724#ifdef __CRT_UUID_DECL
 725__CRT_UUID_DECL(ID3D11ShaderResourceView1, 0x91308b87, 0x9040, 0x411d, 0x8c,0x67, 0xc3,0x92,0x53,0xce,0x38,0x02)
 726#endif
 727#else
 728typedef struct ID3D11ShaderResourceView1Vtbl {
 729    BEGIN_INTERFACE
 730
 731    /*** IUnknown methods ***/
 732    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 733        ID3D11ShaderResourceView1 *This,
 734        REFIID riid,
 735        void **ppvObject);
 736
 737    ULONG (STDMETHODCALLTYPE *AddRef)(
 738        ID3D11ShaderResourceView1 *This);
 739
 740    ULONG (STDMETHODCALLTYPE *Release)(
 741        ID3D11ShaderResourceView1 *This);
 742
 743    /*** ID3D11DeviceChild methods ***/
 744    void (STDMETHODCALLTYPE *GetDevice)(
 745        ID3D11ShaderResourceView1 *This,
 746        ID3D11Device **ppDevice);
 747
 748    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 749        ID3D11ShaderResourceView1 *This,
 750        REFGUID guid,
 751        UINT *pDataSize,
 752        void *pData);
 753
 754    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 755        ID3D11ShaderResourceView1 *This,
 756        REFGUID guid,
 757        UINT DataSize,
 758        const void *pData);
 759
 760    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 761        ID3D11ShaderResourceView1 *This,
 762        REFGUID guid,
 763        const IUnknown *pData);
 764
 765    /*** ID3D11View methods ***/
 766    void (STDMETHODCALLTYPE *GetResource)(
 767        ID3D11ShaderResourceView1 *This,
 768        ID3D11Resource **ppResource);
 769
 770    /*** ID3D11ShaderResourceView methods ***/
 771    void (STDMETHODCALLTYPE *GetDesc)(
 772        ID3D11ShaderResourceView1 *This,
 773        D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
 774
 775    /*** ID3D11ShaderResourceView1 methods ***/
 776    void (STDMETHODCALLTYPE *GetDesc1)(
 777        ID3D11ShaderResourceView1 *This,
 778        D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc);
 779
 780    END_INTERFACE
 781} ID3D11ShaderResourceView1Vtbl;
 782
 783interface ID3D11ShaderResourceView1 {
 784    CONST_VTBL ID3D11ShaderResourceView1Vtbl* lpVtbl;
 785};
 786
 787#ifdef COBJMACROS
 788#ifndef WIDL_C_INLINE_WRAPPERS
 789/*** IUnknown methods ***/
 790#define ID3D11ShaderResourceView1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 791#define ID3D11ShaderResourceView1_AddRef(This) (This)->lpVtbl->AddRef(This)
 792#define ID3D11ShaderResourceView1_Release(This) (This)->lpVtbl->Release(This)
 793/*** ID3D11DeviceChild methods ***/
 794#define ID3D11ShaderResourceView1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 795#define ID3D11ShaderResourceView1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 796#define ID3D11ShaderResourceView1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 797#define ID3D11ShaderResourceView1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 798/*** ID3D11View methods ***/
 799#define ID3D11ShaderResourceView1_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 800/*** ID3D11ShaderResourceView methods ***/
 801#define ID3D11ShaderResourceView1_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 802/*** ID3D11ShaderResourceView1 methods ***/
 803#define ID3D11ShaderResourceView1_GetDesc1(This,desc) (This)->lpVtbl->GetDesc1(This,desc)
 804#else
 805/*** IUnknown methods ***/
 806static inline HRESULT ID3D11ShaderResourceView1_QueryInterface(ID3D11ShaderResourceView1* This,REFIID riid,void **ppvObject) {
 807    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 808}
 809static inline ULONG ID3D11ShaderResourceView1_AddRef(ID3D11ShaderResourceView1* This) {
 810    return This->lpVtbl->AddRef(This);
 811}
 812static inline ULONG ID3D11ShaderResourceView1_Release(ID3D11ShaderResourceView1* This) {
 813    return This->lpVtbl->Release(This);
 814}
 815/*** ID3D11DeviceChild methods ***/
 816static inline void ID3D11ShaderResourceView1_GetDevice(ID3D11ShaderResourceView1* This,ID3D11Device **ppDevice) {
 817    This->lpVtbl->GetDevice(This,ppDevice);
 818}
 819static inline HRESULT ID3D11ShaderResourceView1_GetPrivateData(ID3D11ShaderResourceView1* This,REFGUID guid,UINT *pDataSize,void *pData) {
 820    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 821}
 822static inline HRESULT ID3D11ShaderResourceView1_SetPrivateData(ID3D11ShaderResourceView1* This,REFGUID guid,UINT DataSize,const void *pData) {
 823    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 824}
 825static inline HRESULT ID3D11ShaderResourceView1_SetPrivateDataInterface(ID3D11ShaderResourceView1* This,REFGUID guid,const IUnknown *pData) {
 826    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 827}
 828/*** ID3D11View methods ***/
 829static inline void ID3D11ShaderResourceView1_GetResource(ID3D11ShaderResourceView1* This,ID3D11Resource **ppResource) {
 830    This->lpVtbl->GetResource(This,ppResource);
 831}
 832/*** ID3D11ShaderResourceView methods ***/
 833static inline void ID3D11ShaderResourceView1_GetDesc(ID3D11ShaderResourceView1* This,D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) {
 834    This->lpVtbl->GetDesc(This,pDesc);
 835}
 836/*** ID3D11ShaderResourceView1 methods ***/
 837static inline void ID3D11ShaderResourceView1_GetDesc1(ID3D11ShaderResourceView1* This,D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc) {
 838    This->lpVtbl->GetDesc1(This,desc);
 839}
 840#endif
 841#endif
 842
 843#endif
 844
 845
 846#endif  /* __ID3D11ShaderResourceView1_INTERFACE_DEFINED__ */
 847
 848/*****************************************************************************
 849 * ID3D11RenderTargetView1 interface
 850 */
 851#ifndef __ID3D11RenderTargetView1_INTERFACE_DEFINED__
 852#define __ID3D11RenderTargetView1_INTERFACE_DEFINED__
 853
 854DEFINE_GUID(IID_ID3D11RenderTargetView1, 0xffbe2e23, 0xf011, 0x418a, 0xac,0x56, 0x5c,0xee,0xd7,0xc5,0xb9,0x4b);
 855#if defined(__cplusplus) && !defined(CINTERFACE)
 856MIDL_INTERFACE("ffbe2e23-f011-418a-ac56-5ceed7c5b94b")
 857ID3D11RenderTargetView1 : public ID3D11RenderTargetView
 858{
 859    virtual void STDMETHODCALLTYPE GetDesc1(
 860        D3D11_RENDER_TARGET_VIEW_DESC1 *desc) = 0;
 861
 862};
 863#ifdef __CRT_UUID_DECL
 864__CRT_UUID_DECL(ID3D11RenderTargetView1, 0xffbe2e23, 0xf011, 0x418a, 0xac,0x56, 0x5c,0xee,0xd7,0xc5,0xb9,0x4b)
 865#endif
 866#else
 867typedef struct ID3D11RenderTargetView1Vtbl {
 868    BEGIN_INTERFACE
 869
 870    /*** IUnknown methods ***/
 871    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 872        ID3D11RenderTargetView1 *This,
 873        REFIID riid,
 874        void **ppvObject);
 875
 876    ULONG (STDMETHODCALLTYPE *AddRef)(
 877        ID3D11RenderTargetView1 *This);
 878
 879    ULONG (STDMETHODCALLTYPE *Release)(
 880        ID3D11RenderTargetView1 *This);
 881
 882    /*** ID3D11DeviceChild methods ***/
 883    void (STDMETHODCALLTYPE *GetDevice)(
 884        ID3D11RenderTargetView1 *This,
 885        ID3D11Device **ppDevice);
 886
 887    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
 888        ID3D11RenderTargetView1 *This,
 889        REFGUID guid,
 890        UINT *pDataSize,
 891        void *pData);
 892
 893    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
 894        ID3D11RenderTargetView1 *This,
 895        REFGUID guid,
 896        UINT DataSize,
 897        const void *pData);
 898
 899    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
 900        ID3D11RenderTargetView1 *This,
 901        REFGUID guid,
 902        const IUnknown *pData);
 903
 904    /*** ID3D11View methods ***/
 905    void (STDMETHODCALLTYPE *GetResource)(
 906        ID3D11RenderTargetView1 *This,
 907        ID3D11Resource **ppResource);
 908
 909    /*** ID3D11RenderTargetView methods ***/
 910    void (STDMETHODCALLTYPE *GetDesc)(
 911        ID3D11RenderTargetView1 *This,
 912        D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
 913
 914    /*** ID3D11RenderTargetView1 methods ***/
 915    void (STDMETHODCALLTYPE *GetDesc1)(
 916        ID3D11RenderTargetView1 *This,
 917        D3D11_RENDER_TARGET_VIEW_DESC1 *desc);
 918
 919    END_INTERFACE
 920} ID3D11RenderTargetView1Vtbl;
 921
 922interface ID3D11RenderTargetView1 {
 923    CONST_VTBL ID3D11RenderTargetView1Vtbl* lpVtbl;
 924};
 925
 926#ifdef COBJMACROS
 927#ifndef WIDL_C_INLINE_WRAPPERS
 928/*** IUnknown methods ***/
 929#define ID3D11RenderTargetView1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 930#define ID3D11RenderTargetView1_AddRef(This) (This)->lpVtbl->AddRef(This)
 931#define ID3D11RenderTargetView1_Release(This) (This)->lpVtbl->Release(This)
 932/*** ID3D11DeviceChild methods ***/
 933#define ID3D11RenderTargetView1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
 934#define ID3D11RenderTargetView1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
 935#define ID3D11RenderTargetView1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
 936#define ID3D11RenderTargetView1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
 937/*** ID3D11View methods ***/
 938#define ID3D11RenderTargetView1_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
 939/*** ID3D11RenderTargetView methods ***/
 940#define ID3D11RenderTargetView1_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
 941/*** ID3D11RenderTargetView1 methods ***/
 942#define ID3D11RenderTargetView1_GetDesc1(This,desc) (This)->lpVtbl->GetDesc1(This,desc)
 943#else
 944/*** IUnknown methods ***/
 945static inline HRESULT ID3D11RenderTargetView1_QueryInterface(ID3D11RenderTargetView1* This,REFIID riid,void **ppvObject) {
 946    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 947}
 948static inline ULONG ID3D11RenderTargetView1_AddRef(ID3D11RenderTargetView1* This) {
 949    return This->lpVtbl->AddRef(This);
 950}
 951static inline ULONG ID3D11RenderTargetView1_Release(ID3D11RenderTargetView1* This) {
 952    return This->lpVtbl->Release(This);
 953}
 954/*** ID3D11DeviceChild methods ***/
 955static inline void ID3D11RenderTargetView1_GetDevice(ID3D11RenderTargetView1* This,ID3D11Device **ppDevice) {
 956    This->lpVtbl->GetDevice(This,ppDevice);
 957}
 958static inline HRESULT ID3D11RenderTargetView1_GetPrivateData(ID3D11RenderTargetView1* This,REFGUID guid,UINT *pDataSize,void *pData) {
 959    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
 960}
 961static inline HRESULT ID3D11RenderTargetView1_SetPrivateData(ID3D11RenderTargetView1* This,REFGUID guid,UINT DataSize,const void *pData) {
 962    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
 963}
 964static inline HRESULT ID3D11RenderTargetView1_SetPrivateDataInterface(ID3D11RenderTargetView1* This,REFGUID guid,const IUnknown *pData) {
 965    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
 966}
 967/*** ID3D11View methods ***/
 968static inline void ID3D11RenderTargetView1_GetResource(ID3D11RenderTargetView1* This,ID3D11Resource **ppResource) {
 969    This->lpVtbl->GetResource(This,ppResource);
 970}
 971/*** ID3D11RenderTargetView methods ***/
 972static inline void ID3D11RenderTargetView1_GetDesc(ID3D11RenderTargetView1* This,D3D11_RENDER_TARGET_VIEW_DESC *pDesc) {
 973    This->lpVtbl->GetDesc(This,pDesc);
 974}
 975/*** ID3D11RenderTargetView1 methods ***/
 976static inline void ID3D11RenderTargetView1_GetDesc1(ID3D11RenderTargetView1* This,D3D11_RENDER_TARGET_VIEW_DESC1 *desc) {
 977    This->lpVtbl->GetDesc1(This,desc);
 978}
 979#endif
 980#endif
 981
 982#endif
 983
 984
 985#endif  /* __ID3D11RenderTargetView1_INTERFACE_DEFINED__ */
 986
 987/*****************************************************************************
 988 * ID3D11UnorderedAccessView1 interface
 989 */
 990#ifndef __ID3D11UnorderedAccessView1_INTERFACE_DEFINED__
 991#define __ID3D11UnorderedAccessView1_INTERFACE_DEFINED__
 992
 993DEFINE_GUID(IID_ID3D11UnorderedAccessView1, 0x7b3b6153, 0xa886, 0x4544, 0xab,0x37, 0x65,0x37,0xc8,0x50,0x04,0x03);
 994#if defined(__cplusplus) && !defined(CINTERFACE)
 995MIDL_INTERFACE("7b3b6153-a886-4544-ab37-6537c8500403")
 996ID3D11UnorderedAccessView1 : public ID3D11UnorderedAccessView
 997{
 998    virtual void STDMETHODCALLTYPE GetDesc1(
 999        D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc) = 0;
1000
1001};
1002#ifdef __CRT_UUID_DECL
1003__CRT_UUID_DECL(ID3D11UnorderedAccessView1, 0x7b3b6153, 0xa886, 0x4544, 0xab,0x37, 0x65,0x37,0xc8,0x50,0x04,0x03)
1004#endif
1005#else
1006typedef struct ID3D11UnorderedAccessView1Vtbl {
1007    BEGIN_INTERFACE
1008
1009    /*** IUnknown methods ***/
1010    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1011        ID3D11UnorderedAccessView1 *This,
1012        REFIID riid,
1013        void **ppvObject);
1014
1015    ULONG (STDMETHODCALLTYPE *AddRef)(
1016        ID3D11UnorderedAccessView1 *This);
1017
1018    ULONG (STDMETHODCALLTYPE *Release)(
1019        ID3D11UnorderedAccessView1 *This);
1020
1021    /*** ID3D11DeviceChild methods ***/
1022    void (STDMETHODCALLTYPE *GetDevice)(
1023        ID3D11UnorderedAccessView1 *This,
1024        ID3D11Device **ppDevice);
1025
1026    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
1027        ID3D11UnorderedAccessView1 *This,
1028        REFGUID guid,
1029        UINT *pDataSize,
1030        void *pData);
1031
1032    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
1033        ID3D11UnorderedAccessView1 *This,
1034        REFGUID guid,
1035        UINT DataSize,
1036        const void *pData);
1037
1038    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
1039        ID3D11UnorderedAccessView1 *This,
1040        REFGUID guid,
1041        const IUnknown *pData);
1042
1043    /*** ID3D11View methods ***/
1044    void (STDMETHODCALLTYPE *GetResource)(
1045        ID3D11UnorderedAccessView1 *This,
1046        ID3D11Resource **ppResource);
1047
1048    /*** ID3D11UnorderedAccessView methods ***/
1049    void (STDMETHODCALLTYPE *GetDesc)(
1050        ID3D11UnorderedAccessView1 *This,
1051        D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
1052
1053    /*** ID3D11UnorderedAccessView1 methods ***/
1054    void (STDMETHODCALLTYPE *GetDesc1)(
1055        ID3D11UnorderedAccessView1 *This,
1056        D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc);
1057
1058    END_INTERFACE
1059} ID3D11UnorderedAccessView1Vtbl;
1060
1061interface ID3D11UnorderedAccessView1 {
1062    CONST_VTBL ID3D11UnorderedAccessView1Vtbl* lpVtbl;
1063};
1064
1065#ifdef COBJMACROS
1066#ifndef WIDL_C_INLINE_WRAPPERS
1067/*** IUnknown methods ***/
1068#define ID3D11UnorderedAccessView1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1069#define ID3D11UnorderedAccessView1_AddRef(This) (This)->lpVtbl->AddRef(This)
1070#define ID3D11UnorderedAccessView1_Release(This) (This)->lpVtbl->Release(This)
1071/*** ID3D11DeviceChild methods ***/
1072#define ID3D11UnorderedAccessView1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
1073#define ID3D11UnorderedAccessView1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
1074#define ID3D11UnorderedAccessView1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
1075#define ID3D11UnorderedAccessView1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
1076/*** ID3D11View methods ***/
1077#define ID3D11UnorderedAccessView1_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
1078/*** ID3D11UnorderedAccessView methods ***/
1079#define ID3D11UnorderedAccessView1_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
1080/*** ID3D11UnorderedAccessView1 methods ***/
1081#define ID3D11UnorderedAccessView1_GetDesc1(This,desc) (This)->lpVtbl->GetDesc1(This,desc)
1082#else
1083/*** IUnknown methods ***/
1084static inline HRESULT ID3D11UnorderedAccessView1_QueryInterface(ID3D11UnorderedAccessView1* This,REFIID riid,void **ppvObject) {
1085    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1086}
1087static inline ULONG ID3D11UnorderedAccessView1_AddRef(ID3D11UnorderedAccessView1* This) {
1088    return This->lpVtbl->AddRef(This);
1089}
1090static inline ULONG ID3D11UnorderedAccessView1_Release(ID3D11UnorderedAccessView1* This) {
1091    return This->lpVtbl->Release(This);
1092}
1093/*** ID3D11DeviceChild methods ***/
1094static inline void ID3D11UnorderedAccessView1_GetDevice(ID3D11UnorderedAccessView1* This,ID3D11Device **ppDevice) {
1095    This->lpVtbl->GetDevice(This,ppDevice);
1096}
1097static inline HRESULT ID3D11UnorderedAccessView1_GetPrivateData(ID3D11UnorderedAccessView1* This,REFGUID guid,UINT *pDataSize,void *pData) {
1098    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
1099}
1100static inline HRESULT ID3D11UnorderedAccessView1_SetPrivateData(ID3D11UnorderedAccessView1* This,REFGUID guid,UINT DataSize,const void *pData) {
1101    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
1102}
1103static inline HRESULT ID3D11UnorderedAccessView1_SetPrivateDataInterface(ID3D11UnorderedAccessView1* This,REFGUID guid,const IUnknown *pData) {
1104    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
1105}
1106/*** ID3D11View methods ***/
1107static inline void ID3D11UnorderedAccessView1_GetResource(ID3D11UnorderedAccessView1* This,ID3D11Resource **ppResource) {
1108    This->lpVtbl->GetResource(This,ppResource);
1109}
1110/*** ID3D11UnorderedAccessView methods ***/
1111static inline void ID3D11UnorderedAccessView1_GetDesc(ID3D11UnorderedAccessView1* This,D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) {
1112    This->lpVtbl->GetDesc(This,pDesc);
1113}
1114/*** ID3D11UnorderedAccessView1 methods ***/
1115static inline void ID3D11UnorderedAccessView1_GetDesc1(ID3D11UnorderedAccessView1* This,D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc) {
1116    This->lpVtbl->GetDesc1(This,desc);
1117}
1118#endif
1119#endif
1120
1121#endif
1122
1123
1124#endif  /* __ID3D11UnorderedAccessView1_INTERFACE_DEFINED__ */
1125
1126/*****************************************************************************
1127 * ID3D11Query1 interface
1128 */
1129#ifndef __ID3D11Query1_INTERFACE_DEFINED__
1130#define __ID3D11Query1_INTERFACE_DEFINED__
1131
1132DEFINE_GUID(IID_ID3D11Query1, 0x631b4766, 0x36dc, 0x461d, 0x8d,0xb6, 0xc4,0x7e,0x13,0xe6,0x09,0x16);
1133#if defined(__cplusplus) && !defined(CINTERFACE)
1134MIDL_INTERFACE("631b4766-36dc-461d-8db6-c47e13e60916")
1135ID3D11Query1 : public ID3D11Query
1136{
1137    virtual void STDMETHODCALLTYPE GetDesc1(
1138        D3D11_QUERY_DESC1 *desc) = 0;
1139
1140};
1141#ifdef __CRT_UUID_DECL
1142__CRT_UUID_DECL(ID3D11Query1, 0x631b4766, 0x36dc, 0x461d, 0x8d,0xb6, 0xc4,0x7e,0x13,0xe6,0x09,0x16)
1143#endif
1144#else
1145typedef struct ID3D11Query1Vtbl {
1146    BEGIN_INTERFACE
1147
1148    /*** IUnknown methods ***/
1149    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1150        ID3D11Query1 *This,
1151        REFIID riid,
1152        void **ppvObject);
1153
1154    ULONG (STDMETHODCALLTYPE *AddRef)(
1155        ID3D11Query1 *This);
1156
1157    ULONG (STDMETHODCALLTYPE *Release)(
1158        ID3D11Query1 *This);
1159
1160    /*** ID3D11DeviceChild methods ***/
1161    void (STDMETHODCALLTYPE *GetDevice)(
1162        ID3D11Query1 *This,
1163        ID3D11Device **ppDevice);
1164
1165    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
1166        ID3D11Query1 *This,
1167        REFGUID guid,
1168        UINT *pDataSize,
1169        void *pData);
1170
1171    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
1172        ID3D11Query1 *This,
1173        REFGUID guid,
1174        UINT DataSize,
1175        const void *pData);
1176
1177    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
1178        ID3D11Query1 *This,
1179        REFGUID guid,
1180        const IUnknown *pData);
1181
1182    /*** ID3D11Asynchronous methods ***/
1183    UINT (STDMETHODCALLTYPE *GetDataSize)(
1184        ID3D11Query1 *This);
1185
1186    /*** ID3D11Query methods ***/
1187    void (STDMETHODCALLTYPE *GetDesc)(
1188        ID3D11Query1 *This,
1189        D3D11_QUERY_DESC *pDesc);
1190
1191    /*** ID3D11Query1 methods ***/
1192    void (STDMETHODCALLTYPE *GetDesc1)(
1193        ID3D11Query1 *This,
1194        D3D11_QUERY_DESC1 *desc);
1195
1196    END_INTERFACE
1197} ID3D11Query1Vtbl;
1198
1199interface ID3D11Query1 {
1200    CONST_VTBL ID3D11Query1Vtbl* lpVtbl;
1201};
1202
1203#ifdef COBJMACROS
1204#ifndef WIDL_C_INLINE_WRAPPERS
1205/*** IUnknown methods ***/
1206#define ID3D11Query1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1207#define ID3D11Query1_AddRef(This) (This)->lpVtbl->AddRef(This)
1208#define ID3D11Query1_Release(This) (This)->lpVtbl->Release(This)
1209/*** ID3D11DeviceChild methods ***/
1210#define ID3D11Query1_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
1211#define ID3D11Query1_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
1212#define ID3D11Query1_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
1213#define ID3D11Query1_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
1214/*** ID3D11Asynchronous methods ***/
1215#define ID3D11Query1_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
1216/*** ID3D11Query methods ***/
1217#define ID3D11Query1_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
1218/*** ID3D11Query1 methods ***/
1219#define ID3D11Query1_GetDesc1(This,desc) (This)->lpVtbl->GetDesc1(This,desc)
1220#else
1221/*** IUnknown methods ***/
1222static inline HRESULT ID3D11Query1_QueryInterface(ID3D11Query1* This,REFIID riid,void **ppvObject) {
1223    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1224}
1225static inline ULONG ID3D11Query1_AddRef(ID3D11Query1* This) {
1226    return This->lpVtbl->AddRef(This);
1227}
1228static inline ULONG ID3D11Query1_Release(ID3D11Query1* This) {
1229    return This->lpVtbl->Release(This);
1230}
1231/*** ID3D11DeviceChild methods ***/
1232static inline void ID3D11Query1_GetDevice(ID3D11Query1* This,ID3D11Device **ppDevice) {
1233    This->lpVtbl->GetDevice(This,ppDevice);
1234}
1235static inline HRESULT ID3D11Query1_GetPrivateData(ID3D11Query1* This,REFGUID guid,UINT *pDataSize,void *pData) {
1236    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
1237}
1238static inline HRESULT ID3D11Query1_SetPrivateData(ID3D11Query1* This,REFGUID guid,UINT DataSize,const void *pData) {
1239    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
1240}
1241static inline HRESULT ID3D11Query1_SetPrivateDataInterface(ID3D11Query1* This,REFGUID guid,const IUnknown *pData) {
1242    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
1243}
1244/*** ID3D11Asynchronous methods ***/
1245static inline UINT ID3D11Query1_GetDataSize(ID3D11Query1* This) {
1246    return This->lpVtbl->GetDataSize(This);
1247}
1248/*** ID3D11Query methods ***/
1249static inline void ID3D11Query1_GetDesc(ID3D11Query1* This,D3D11_QUERY_DESC *pDesc) {
1250    This->lpVtbl->GetDesc(This,pDesc);
1251}
1252/*** ID3D11Query1 methods ***/
1253static inline void ID3D11Query1_GetDesc1(ID3D11Query1* This,D3D11_QUERY_DESC1 *desc) {
1254    This->lpVtbl->GetDesc1(This,desc);
1255}
1256#endif
1257#endif
1258
1259#endif
1260
1261
1262#endif  /* __ID3D11Query1_INTERFACE_DEFINED__ */
1263
1264/*****************************************************************************
1265 * ID3D11DeviceContext3 interface
1266 */
1267#ifndef __ID3D11DeviceContext3_INTERFACE_DEFINED__
1268#define __ID3D11DeviceContext3_INTERFACE_DEFINED__
1269
1270DEFINE_GUID(IID_ID3D11DeviceContext3, 0xb4e3c01d, 0xe79e, 0x4637, 0x91,0xb2, 0x51,0x0e,0x9f,0x4c,0x9b,0x8f);
1271#if defined(__cplusplus) && !defined(CINTERFACE)
1272MIDL_INTERFACE("b4e3c01d-e79e-4637-91b2-510e9f4c9b8f")
1273ID3D11DeviceContext3 : public ID3D11DeviceContext2
1274{
1275    virtual void STDMETHODCALLTYPE Flush1(
1276        D3D11_CONTEXT_TYPE type,
1277        HANDLE event) = 0;
1278
1279    virtual void STDMETHODCALLTYPE SetHardwareProtectionState(
1280        WINBOOL enable) = 0;
1281
1282    virtual void STDMETHODCALLTYPE GetHardwareProtectionState(
1283        WINBOOL *enable) = 0;
1284
1285};
1286#ifdef __CRT_UUID_DECL
1287__CRT_UUID_DECL(ID3D11DeviceContext3, 0xb4e3c01d, 0xe79e, 0x4637, 0x91,0xb2, 0x51,0x0e,0x9f,0x4c,0x9b,0x8f)
1288#endif
1289#else
1290typedef struct ID3D11DeviceContext3Vtbl {
1291    BEGIN_INTERFACE
1292
1293    /*** IUnknown methods ***/
1294    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1295        ID3D11DeviceContext3 *This,
1296        REFIID riid,
1297        void **ppvObject);
1298
1299    ULONG (STDMETHODCALLTYPE *AddRef)(
1300        ID3D11DeviceContext3 *This);
1301
1302    ULONG (STDMETHODCALLTYPE *Release)(
1303        ID3D11DeviceContext3 *This);
1304
1305    /*** ID3D11DeviceChild methods ***/
1306    void (STDMETHODCALLTYPE *GetDevice)(
1307        ID3D11DeviceContext3 *This,
1308        ID3D11Device **ppDevice);
1309
1310    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
1311        ID3D11DeviceContext3 *This,
1312        REFGUID guid,
1313        UINT *pDataSize,
1314        void *pData);
1315
1316    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
1317        ID3D11DeviceContext3 *This,
1318        REFGUID guid,
1319        UINT DataSize,
1320        const void *pData);
1321
1322    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
1323        ID3D11DeviceContext3 *This,
1324        REFGUID guid,
1325        const IUnknown *pData);
1326
1327    /*** ID3D11DeviceContext methods ***/
1328    void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
1329        ID3D11DeviceContext3 *This,
1330        UINT StartSlot,
1331        UINT NumBuffers,
1332        ID3D11Buffer *const *ppConstantBuffers);
1333
1334    void (STDMETHODCALLTYPE *PSSetShaderResources)(
1335        ID3D11DeviceContext3 *This,
1336        UINT StartSlot,
1337        UINT NumViews,
1338        ID3D11ShaderResourceView *const *ppShaderResourceViews);
1339
1340    void (STDMETHODCALLTYPE *PSSetShader)(
1341        ID3D11DeviceContext3 *This,
1342        ID3D11PixelShader *pPixelShader,
1343        ID3D11ClassInstance *const *ppClassInstances,
1344        UINT NumClassInstances);
1345
1346    void (STDMETHODCALLTYPE *PSSetSamplers)(
1347        ID3D11DeviceContext3 *This,
1348        UINT StartSlot,
1349        UINT NumSamplers,
1350        ID3D11SamplerState *const *ppSamplers);
1351
1352    void (STDMETHODCALLTYPE *VSSetShader)(
1353        ID3D11DeviceContext3 *This,
1354        ID3D11VertexShader *pVertexShader,
1355        ID3D11ClassInstance *const *ppClassInstances,
1356        UINT NumClassInstances);
1357
1358    void (STDMETHODCALLTYPE *DrawIndexed)(
1359        ID3D11DeviceContext3 *This,
1360        UINT IndexCount,
1361        UINT StartIndexLocation,
1362        INT BaseVertexLocation);
1363
1364    void (STDMETHODCALLTYPE *Draw)(
1365        ID3D11DeviceContext3 *This,
1366        UINT VertexCount,
1367        UINT StartVertexLocation);
1368
1369    HRESULT (STDMETHODCALLTYPE *Map)(
1370        ID3D11DeviceContext3 *This,
1371        ID3D11Resource *pResource,
1372        UINT Subresource,
1373        D3D11_MAP MapType,
1374        UINT MapFlags,
1375        D3D11_MAPPED_SUBRESOURCE *pMappedResource);
1376
1377    void (STDMETHODCALLTYPE *Unmap)(
1378        ID3D11DeviceContext3 *This,
1379        ID3D11Resource *pResource,
1380        UINT Subresource);
1381
1382    void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
1383        ID3D11DeviceContext3 *This,
1384        UINT StartSlot,
1385        UINT NumBuffers,
1386        ID3D11Buffer *const *ppConstantBuffers);
1387
1388    void (STDMETHODCALLTYPE *IASetInputLayout)(
1389        ID3D11DeviceContext3 *This,
1390        ID3D11InputLayout *pInputLayout);
1391
1392    void (STDMETHODCALLTYPE *IASetVertexBuffers)(
1393        ID3D11DeviceContext3 *This,
1394        UINT StartSlot,
1395        UINT NumBuffers,
1396        ID3D11Buffer *const *ppVertexBuffers,
1397        const UINT *pStrides,
1398        const UINT *pOffsets);
1399
1400    void (STDMETHODCALLTYPE *IASetIndexBuffer)(
1401        ID3D11DeviceContext3 *This,
1402        ID3D11Buffer *pIndexBuffer,
1403        DXGI_FORMAT Format,
1404        UINT Offset);
1405
1406    void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
1407        ID3D11DeviceContext3 *This,
1408        UINT IndexCountPerInstance,
1409        UINT InstanceCount,
1410        UINT StartIndexLocation,
1411        INT BaseVertexLocation,
1412        UINT StartInstanceLocation);
1413
1414    void (STDMETHODCALLTYPE *DrawInstanced)(
1415        ID3D11DeviceContext3 *This,
1416        UINT VertexCountPerInstance,
1417        UINT InstanceCount,
1418        UINT StartVertexLocation,
1419        UINT StartInstanceLocation);
1420
1421    void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
1422        ID3D11DeviceContext3 *This,
1423        UINT StartSlot,
1424        UINT NumBuffers,
1425        ID3D11Buffer *const *ppConstantBuffers);
1426
1427    void (STDMETHODCALLTYPE *GSSetShader)(
1428        ID3D11DeviceContext3 *This,
1429        ID3D11GeometryShader *pShader,
1430        ID3D11ClassInstance *const *ppClassInstances,
1431        UINT NumClassInstances);
1432
1433    void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
1434        ID3D11DeviceContext3 *This,
1435        D3D11_PRIMITIVE_TOPOLOGY Topology);
1436
1437    void (STDMETHODCALLTYPE *VSSetShaderResources)(
1438        ID3D11DeviceContext3 *This,
1439        UINT StartSlot,
1440        UINT NumViews,
1441        ID3D11ShaderResourceView *const *ppShaderResourceViews);
1442
1443    void (STDMETHODCALLTYPE *VSSetSamplers)(
1444        ID3D11DeviceContext3 *This,
1445        UINT StartSlot,
1446        UINT NumSamplers,
1447        ID3D11SamplerState *const *ppSamplers);
1448
1449    void (STDMETHODCALLTYPE *Begin)(
1450        ID3D11DeviceContext3 *This,
1451        ID3D11Asynchronous *pAsync);
1452
1453    void (STDMETHODCALLTYPE *End)(
1454        ID3D11DeviceContext3 *This,
1455        ID3D11Asynchronous *pAsync);
1456
1457    HRESULT (STDMETHODCALLTYPE *GetData)(
1458        ID3D11DeviceContext3 *This,
1459        ID3D11Asynchronous *pAsync,
1460        void *pData,
1461        UINT DataSize,
1462        UINT GetDataFlags);
1463
1464    void (STDMETHODCALLTYPE *SetPredication)(
1465        ID3D11DeviceContext3 *This,
1466        ID3D11Predicate *pPredicate,
1467        WINBOOL PredicateValue);
1468
1469    void (STDMETHODCALLTYPE *GSSetShaderResources)(
1470        ID3D11DeviceContext3 *This,
1471        UINT StartSlot,
1472        UINT NumViews,
1473        ID3D11ShaderResourceView *const *ppShaderResourceViews);
1474
1475    void (STDMETHODCALLTYPE *GSSetSamplers)(
1476        ID3D11DeviceContext3 *This,
1477        UINT StartSlot,
1478        UINT NumSamplers,
1479        ID3D11SamplerState *const *ppSamplers);
1480
1481    void (STDMETHODCALLTYPE *OMSetRenderTargets)(
1482        ID3D11DeviceContext3 *This,
1483        UINT NumViews,
1484        ID3D11RenderTargetView *const *ppRenderTargetViews,
1485        ID3D11DepthStencilView *pDepthStencilView);
1486
1487    void (STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews)(
1488        ID3D11DeviceContext3 *This,
1489        UINT NumRTVs,
1490        ID3D11RenderTargetView *const *ppRenderTargetViews,
1491        ID3D11DepthStencilView *pDepthStencilView,
1492        UINT UAVStartSlot,
1493        UINT NumUAVs,
1494        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
1495        const UINT *pUAVInitialCounts);
1496
1497    void (STDMETHODCALLTYPE *OMSetBlendState)(
1498        ID3D11DeviceContext3 *This,
1499        ID3D11BlendState *pBlendState,
1500        const FLOAT BlendFactor[4],
1501        UINT SampleMask);
1502
1503    void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
1504        ID3D11DeviceContext3 *This,
1505        ID3D11DepthStencilState *pDepthStencilState,
1506        UINT StencilRef);
1507
1508    void (STDMETHODCALLTYPE *SOSetTargets)(
1509        ID3D11DeviceContext3 *This,
1510        UINT NumBuffers,
1511        ID3D11Buffer *const *ppSOTargets,
1512        const UINT *pOffsets);
1513
1514    void (STDMETHODCALLTYPE *DrawAuto)(
1515        ID3D11DeviceContext3 *This);
1516
1517    void (STDMETHODCALLTYPE *DrawIndexedInstancedIndirect)(
1518        ID3D11DeviceContext3 *This,
1519        ID3D11Buffer *pBufferForArgs,
1520        UINT AlignedByteOffsetForArgs);
1521
1522    void (STDMETHODCALLTYPE *DrawInstancedIndirect)(
1523        ID3D11DeviceContext3 *This,
1524        ID3D11Buffer *pBufferForArgs,
1525        UINT AlignedByteOffsetForArgs);
1526
1527    void (STDMETHODCALLTYPE *Dispatch)(
1528        ID3D11DeviceContext3 *This,
1529        UINT ThreadGroupCountX,
1530        UINT ThreadGroupCountY,
1531        UINT ThreadGroupCountZ);
1532
1533    void (STDMETHODCALLTYPE *DispatchIndirect)(
1534        ID3D11DeviceContext3 *This,
1535        ID3D11Buffer *pBufferForArgs,
1536        UINT AlignedByteOffsetForArgs);
1537
1538    void (STDMETHODCALLTYPE *RSSetState)(
1539        ID3D11DeviceContext3 *This,
1540        ID3D11RasterizerState *pRasterizerState);
1541
1542    void (STDMETHODCALLTYPE *RSSetViewports)(
1543        ID3D11DeviceContext3 *This,
1544        UINT NumViewports,
1545        const D3D11_VIEWPORT *pViewports);
1546
1547    void (STDMETHODCALLTYPE *RSSetScissorRects)(
1548        ID3D11DeviceContext3 *This,
1549        UINT NumRects,
1550        const D3D11_RECT *pRects);
1551
1552    void (STDMETHODCALLTYPE *CopySubresourceRegion)(
1553        ID3D11DeviceContext3 *This,
1554        ID3D11Resource *pDstResource,
1555        UINT DstSubresource,
1556        UINT DstX,
1557        UINT DstY,
1558        UINT DstZ,
1559        ID3D11Resource *pSrcResource,
1560        UINT SrcSubresource,
1561        const D3D11_BOX *pSrcBox);
1562
1563    void (STDMETHODCALLTYPE *CopyResource)(
1564        ID3D11DeviceContext3 *This,
1565        ID3D11Resource *pDstResource,
1566        ID3D11Resource *pSrcResource);
1567
1568    void (STDMETHODCALLTYPE *UpdateSubresource)(
1569        ID3D11DeviceContext3 *This,
1570        ID3D11Resource *pDstResource,
1571        UINT DstSubresource,
1572        const D3D11_BOX *pDstBox,
1573        const void *pSrcData,
1574        UINT SrcRowPitch,
1575        UINT SrcDepthPitch);
1576
1577    void (STDMETHODCALLTYPE *CopyStructureCount)(
1578        ID3D11DeviceContext3 *This,
1579        ID3D11Buffer *pDstBuffer,
1580        UINT DstAlignedByteOffset,
1581        ID3D11UnorderedAccessView *pSrcView);
1582
1583    void (STDMETHODCALLTYPE *ClearRenderTargetView)(
1584        ID3D11DeviceContext3 *This,
1585        ID3D11RenderTargetView *pRenderTargetView,
1586        const FLOAT ColorRGBA[4]);
1587
1588    void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
1589        ID3D11DeviceContext3 *This,
1590        ID3D11UnorderedAccessView *pUnorderedAccessView,
1591        const UINT Values[4]);
1592
1593    void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
1594        ID3D11DeviceContext3 *This,
1595        ID3D11UnorderedAccessView *pUnorderedAccessView,
1596        const FLOAT Values[4]);
1597
1598    void (STDMETHODCALLTYPE *ClearDepthStencilView)(
1599        ID3D11DeviceContext3 *This,
1600        ID3D11DepthStencilView *pDepthStencilView,
1601        UINT ClearFlags,
1602        FLOAT Depth,
1603        UINT8 Stencil);
1604
1605    void (STDMETHODCALLTYPE *GenerateMips)(
1606        ID3D11DeviceContext3 *This,
1607        ID3D11ShaderResourceView *pShaderResourceView);
1608
1609    void (STDMETHODCALLTYPE *SetResourceMinLOD)(
1610        ID3D11DeviceContext3 *This,
1611        ID3D11Resource *pResource,
1612        FLOAT MinLOD);
1613
1614    FLOAT (STDMETHODCALLTYPE *GetResourceMinLOD)(
1615        ID3D11DeviceContext3 *This,
1616        ID3D11Resource *pResource);
1617
1618    void (STDMETHODCALLTYPE *ResolveSubresource)(
1619        ID3D11DeviceContext3 *This,
1620        ID3D11Resource *pDstResource,
1621        UINT DstSubresource,
1622        ID3D11Resource *pSrcResource,
1623        UINT SrcSubresource,
1624        DXGI_FORMAT Format);
1625
1626    void (STDMETHODCALLTYPE *ExecuteCommandList)(
1627        ID3D11DeviceContext3 *This,
1628        ID3D11CommandList *pCommandList,
1629        WINBOOL RestoreContextState);
1630
1631    void (STDMETHODCALLTYPE *HSSetShaderResources)(
1632        ID3D11DeviceContext3 *This,
1633        UINT StartSlot,
1634        UINT NumViews,
1635        ID3D11ShaderResourceView *const *ppShaderResourceViews);
1636
1637    void (STDMETHODCALLTYPE *HSSetShader)(
1638        ID3D11DeviceContext3 *This,
1639        ID3D11HullShader *pHullShader,
1640        ID3D11ClassInstance *const *ppClassInstances,
1641        UINT NumClassInstances);
1642
1643    void (STDMETHODCALLTYPE *HSSetSamplers)(
1644        ID3D11DeviceContext3 *This,
1645        UINT StartSlot,
1646        UINT NumSamplers,
1647        ID3D11SamplerState *const *ppSamplers);
1648
1649    void (STDMETHODCALLTYPE *HSSetConstantBuffers)(
1650        ID3D11DeviceContext3 *This,
1651        UINT StartSlot,
1652        UINT NumBuffers,
1653        ID3D11Buffer *const *ppConstantBuffers);
1654
1655    void (STDMETHODCALLTYPE *DSSetShaderResources)(
1656        ID3D11DeviceContext3 *This,
1657        UINT StartSlot,
1658        UINT NumViews,
1659        ID3D11ShaderResourceView *const *ppShaderResourceViews);
1660
1661    void (STDMETHODCALLTYPE *DSSetShader)(
1662        ID3D11DeviceContext3 *This,
1663        ID3D11DomainShader *pDomainShader,
1664        ID3D11ClassInstance *const *ppClassInstances,
1665        UINT NumClassInstances);
1666
1667    void (STDMETHODCALLTYPE *DSSetSamplers)(
1668        ID3D11DeviceContext3 *This,
1669        UINT StartSlot,
1670        UINT NumSamplers,
1671        ID3D11SamplerState *const *ppSamplers);
1672
1673    void (STDMETHODCALLTYPE *DSSetConstantBuffers)(
1674        ID3D11DeviceContext3 *This,
1675        UINT StartSlot,
1676        UINT NumBuffers,
1677        ID3D11Buffer *const *ppConstantBuffers);
1678
1679    void (STDMETHODCALLTYPE *CSSetShaderResources)(
1680        ID3D11DeviceContext3 *This,
1681        UINT StartSlot,
1682        UINT NumViews,
1683        ID3D11ShaderResourceView *const *ppShaderResourceViews);
1684
1685    void (STDMETHODCALLTYPE *CSSetUnorderedAccessViews)(
1686        ID3D11DeviceContext3 *This,
1687        UINT StartSlot,
1688        UINT NumUAVs,
1689        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
1690        const UINT *pUAVInitialCounts);
1691
1692    void (STDMETHODCALLTYPE *CSSetShader)(
1693        ID3D11DeviceContext3 *This,
1694        ID3D11ComputeShader *pComputeShader,
1695        ID3D11ClassInstance *const *ppClassInstances,
1696        UINT NumClassInstances);
1697
1698    void (STDMETHODCALLTYPE *CSSetSamplers)(
1699        ID3D11DeviceContext3 *This,
1700        UINT StartSlot,
1701        UINT NumSamplers,
1702        ID3D11SamplerState *const *ppSamplers);
1703
1704    void (STDMETHODCALLTYPE *CSSetConstantBuffers)(
1705        ID3D11DeviceContext3 *This,
1706        UINT StartSlot,
1707        UINT NumBuffers,
1708        ID3D11Buffer *const *ppConstantBuffers);
1709
1710    void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
1711        ID3D11DeviceContext3 *This,
1712        UINT StartSlot,
1713        UINT NumBuffers,
1714        ID3D11Buffer **ppConstantBuffers);
1715
1716    void (STDMETHODCALLTYPE *PSGetShaderResources)(
1717        ID3D11DeviceContext3 *This,
1718        UINT StartSlot,
1719        UINT NumViews,
1720        ID3D11ShaderResourceView **ppShaderResourceViews);
1721
1722    void (STDMETHODCALLTYPE *PSGetShader)(
1723        ID3D11DeviceContext3 *This,
1724        ID3D11PixelShader **ppPixelShader,
1725        ID3D11ClassInstance **ppClassInstances,
1726        UINT *pNumClassInstances);
1727
1728    void (STDMETHODCALLTYPE *PSGetSamplers)(
1729        ID3D11DeviceContext3 *This,
1730        UINT StartSlot,
1731        UINT NumSamplers,
1732        ID3D11SamplerState **ppSamplers);
1733
1734    void (STDMETHODCALLTYPE *VSGetShader)(
1735        ID3D11DeviceContext3 *This,
1736        ID3D11VertexShader **ppVertexShader,
1737        ID3D11ClassInstance **ppClassInstances,
1738        UINT *pNumClassInstances);
1739
1740    void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
1741        ID3D11DeviceContext3 *This,
1742        UINT StartSlot,
1743        UINT NumBuffers,
1744        ID3D11Buffer **ppConstantBuffers);
1745
1746    void (STDMETHODCALLTYPE *IAGetInputLayout)(
1747        ID3D11DeviceContext3 *This,
1748        ID3D11InputLayout **ppInputLayout);
1749
1750    void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
1751        ID3D11DeviceContext3 *This,
1752        UINT StartSlot,
1753        UINT NumBuffers,
1754        ID3D11Buffer **ppVertexBuffers,
1755        UINT *pStrides,
1756        UINT *pOffsets);
1757
1758    void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
1759        ID3D11DeviceContext3 *This,
1760        ID3D11Buffer **pIndexBuffer,
1761        DXGI_FORMAT *Format,
1762        UINT *Offset);
1763
1764    void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
1765        ID3D11DeviceContext3 *This,
1766        UINT StartSlot,
1767        UINT NumBuffers,
1768        ID3D11Buffer **ppConstantBuffers);
1769
1770    void (STDMETHODCALLTYPE *GSGetShader)(
1771        ID3D11DeviceContext3 *This,
1772        ID3D11GeometryShader **ppGeometryShader,
1773        ID3D11ClassInstance **ppClassInstances,
1774        UINT *pNumClassInstances);
1775
1776    void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
1777        ID3D11DeviceContext3 *This,
1778        D3D11_PRIMITIVE_TOPOLOGY *pTopology);
1779
1780    void (STDMETHODCALLTYPE *VSGetShaderResources)(
1781        ID3D11DeviceContext3 *This,
1782        UINT StartSlot,
1783        UINT NumViews,
1784        ID3D11ShaderResourceView **ppShaderResourceViews);
1785
1786    void (STDMETHODCALLTYPE *VSGetSamplers)(
1787        ID3D11DeviceContext3 *This,
1788        UINT StartSlot,
1789        UINT NumSamplers,
1790        ID3D11SamplerState **ppSamplers);
1791
1792    void (STDMETHODCALLTYPE *GetPredication)(
1793        ID3D11DeviceContext3 *This,
1794        ID3D11Predicate **ppPredicate,
1795        WINBOOL *pPredicateValue);
1796
1797    void (STDMETHODCALLTYPE *GSGetShaderResources)(
1798        ID3D11DeviceContext3 *This,
1799        UINT StartSlot,
1800        UINT NumViews,
1801        ID3D11ShaderResourceView **ppShaderResourceViews);
1802
1803    void (STDMETHODCALLTYPE *GSGetSamplers)(
1804        ID3D11DeviceContext3 *This,
1805        UINT StartSlot,
1806        UINT NumSamplers,
1807        ID3D11SamplerState **ppSamplers);
1808
1809    void (STDMETHODCALLTYPE *OMGetRenderTargets)(
1810        ID3D11DeviceContext3 *This,
1811        UINT NumViews,
1812        ID3D11RenderTargetView **ppRenderTargetViews,
1813        ID3D11DepthStencilView **ppDepthStencilView);
1814
1815    void (STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews)(
1816        ID3D11DeviceContext3 *This,
1817        UINT NumRTVs,
1818        ID3D11RenderTargetView **ppRenderTargetViews,
1819        ID3D11DepthStencilView **ppDepthStencilView,
1820        UINT UAVStartSlot,
1821        UINT NumUAVs,
1822        ID3D11UnorderedAccessView **ppUnorderedAccessViews);
1823
1824    void (STDMETHODCALLTYPE *OMGetBlendState)(
1825        ID3D11DeviceContext3 *This,
1826        ID3D11BlendState **ppBlendState,
1827        FLOAT BlendFactor[4],
1828        UINT *pSampleMask);
1829
1830    void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
1831        ID3D11DeviceContext3 *This,
1832        ID3D11DepthStencilState **ppDepthStencilState,
1833        UINT *pStencilRef);
1834
1835    void (STDMETHODCALLTYPE *SOGetTargets)(
1836        ID3D11DeviceContext3 *This,
1837        UINT NumBuffers,
1838        ID3D11Buffer **ppSOTargets);
1839
1840    void (STDMETHODCALLTYPE *RSGetState)(
1841        ID3D11DeviceContext3 *This,
1842        ID3D11RasterizerState **ppRasterizerState);
1843
1844    void (STDMETHODCALLTYPE *RSGetViewports)(
1845        ID3D11DeviceContext3 *This,
1846        UINT *pNumViewports,
1847        D3D11_VIEWPORT *pViewports);
1848
1849    void (STDMETHODCALLTYPE *RSGetScissorRects)(
1850        ID3D11DeviceContext3 *This,
1851        UINT *pNumRects,
1852        D3D11_RECT *pRects);
1853
1854    void (STDMETHODCALLTYPE *HSGetShaderResources)(
1855        ID3D11DeviceContext3 *This,
1856        UINT StartSlot,
1857        UINT NumViews,
1858        ID3D11ShaderResourceView **ppShaderResourceViews);
1859
1860    void (STDMETHODCALLTYPE *HSGetShader)(
1861        ID3D11DeviceContext3 *This,
1862        ID3D11HullShader **ppHullShader,
1863        ID3D11ClassInstance **ppClassInstances,
1864        UINT *pNumClassInstances);
1865
1866    void (STDMETHODCALLTYPE *HSGetSamplers)(
1867        ID3D11DeviceContext3 *This,
1868        UINT StartSlot,
1869        UINT NumSamplers,
1870        ID3D11SamplerState **ppSamplers);
1871
1872    void (STDMETHODCALLTYPE *HSGetConstantBuffers)(
1873        ID3D11DeviceContext3 *This,
1874        UINT StartSlot,
1875        UINT NumBuffers,
1876        ID3D11Buffer **ppConstantBuffers);
1877
1878    void (STDMETHODCALLTYPE *DSGetShaderResources)(
1879        ID3D11DeviceContext3 *This,
1880        UINT StartSlot,
1881        UINT NumViews,
1882        ID3D11ShaderResourceView **ppShaderResourceViews);
1883
1884    void (STDMETHODCALLTYPE *DSGetShader)(
1885        ID3D11DeviceContext3 *This,
1886        ID3D11DomainShader **ppDomainShader,
1887        ID3D11ClassInstance **ppClassInstances,
1888        UINT *pNumClassInstances);
1889
1890    void (STDMETHODCALLTYPE *DSGetSamplers)(
1891        ID3D11DeviceContext3 *This,
1892        UINT StartSlot,
1893        UINT NumSamplers,
1894        ID3D11SamplerState **ppSamplers);
1895
1896    void (STDMETHODCALLTYPE *DSGetConstantBuffers)(
1897        ID3D11DeviceContext3 *This,
1898        UINT StartSlot,
1899        UINT NumBuffers,
1900        ID3D11Buffer **ppConstantBuffers);
1901
1902    void (STDMETHODCALLTYPE *CSGetShaderResources)(
1903        ID3D11DeviceContext3 *This,
1904        UINT StartSlot,
1905        UINT NumViews,
1906        ID3D11ShaderResourceView **ppShaderResourceViews);
1907
1908    void (STDMETHODCALLTYPE *CSGetUnorderedAccessViews)(
1909        ID3D11DeviceContext3 *This,
1910        UINT StartSlot,
1911        UINT NumUAVs,
1912        ID3D11UnorderedAccessView **ppUnorderedAccessViews);
1913
1914    void (STDMETHODCALLTYPE *CSGetShader)(
1915        ID3D11DeviceContext3 *This,
1916        ID3D11ComputeShader **ppComputeShader,
1917        ID3D11ClassInstance **ppClassInstances,
1918        UINT *pNumClassInstances);
1919
1920    void (STDMETHODCALLTYPE *CSGetSamplers)(
1921        ID3D11DeviceContext3 *This,
1922        UINT StartSlot,
1923        UINT NumSamplers,
1924        ID3D11SamplerState **ppSamplers);
1925
1926    void (STDMETHODCALLTYPE *CSGetConstantBuffers)(
1927        ID3D11DeviceContext3 *This,
1928        UINT StartSlot,
1929        UINT NumBuffers,
1930        ID3D11Buffer **ppConstantBuffers);
1931
1932    void (STDMETHODCALLTYPE *ClearState)(
1933        ID3D11DeviceContext3 *This);
1934
1935    void (STDMETHODCALLTYPE *Flush)(
1936        ID3D11DeviceContext3 *This);
1937
1938    D3D11_DEVICE_CONTEXT_TYPE (STDMETHODCALLTYPE *GetType)(
1939        ID3D11DeviceContext3 *This);
1940
1941    UINT (STDMETHODCALLTYPE *GetContextFlags)(
1942        ID3D11DeviceContext3 *This);
1943
1944    HRESULT (STDMETHODCALLTYPE *FinishCommandList)(
1945        ID3D11DeviceContext3 *This,
1946        WINBOOL RestoreDeferredContextState,
1947        ID3D11CommandList **ppCommandList);
1948
1949    /*** ID3D11DeviceContext1 methods ***/
1950    void (STDMETHODCALLTYPE *CopySubresourceRegion1)(
1951        ID3D11DeviceContext3 *This,
1952        ID3D11Resource *pDstResource,
1953        UINT DstSubresource,
1954        UINT DstX,
1955        UINT DstY,
1956        UINT DstZ,
1957        ID3D11Resource *pSrcResource,
1958        UINT SrcSubresource,
1959        const D3D11_BOX *pSrcBox,
1960        UINT CopyFlags);
1961
1962    void (STDMETHODCALLTYPE *UpdateSubresource1)(
1963        ID3D11DeviceContext3 *This,
1964        ID3D11Resource *pDstResource,
1965        UINT DstSubresource,
1966        const D3D11_BOX *pDstBox,
1967        const void *pSrcData,
1968        UINT SrcRowPitch,
1969        UINT SrcDepthPitch,
1970        UINT CopyFlags);
1971
1972    void (STDMETHODCALLTYPE *DiscardResource)(
1973        ID3D11DeviceContext3 *This,
1974        ID3D11Resource *pResource);
1975
1976    void (STDMETHODCALLTYPE *DiscardView)(
1977        ID3D11DeviceContext3 *This,
1978        ID3D11View *pResourceView);
1979
1980    void (STDMETHODCALLTYPE *VSSetConstantBuffers1)(
1981        ID3D11DeviceContext3 *This,
1982        UINT StartSlot,
1983        UINT NumBuffers,
1984        ID3D11Buffer *const *ppConstantBuffers,
1985        const UINT *pFirstConstant,
1986        const UINT *pNumConstants);
1987
1988    void (STDMETHODCALLTYPE *HSSetConstantBuffers1)(
1989        ID3D11DeviceContext3 *This,
1990        UINT StartSlot,
1991        UINT NumBuffers,
1992        ID3D11Buffer *const *ppConstantBuffers,
1993        const UINT *pFirstConstant,
1994        const UINT *pNumConstants);
1995
1996    void (STDMETHODCALLTYPE *DSSetConstantBuffers1)(
1997        ID3D11DeviceContext3 *This,
1998        UINT StartSlot,
1999        UINT NumBuffers,
2000        ID3D11Buffer *const *ppConstantBuffers,
2001        const UINT *pFirstConstant,
2002        const UINT *pNumConstants);
2003
2004    void (STDMETHODCALLTYPE *GSSetConstantBuffers1)(
2005        ID3D11DeviceContext3 *This,
2006        UINT StartSlot,
2007        UINT NumBuffers,
2008        ID3D11Buffer *const *ppConstantBuffers,
2009        const UINT *pFirstConstant,
2010        const UINT *pNumConstants);
2011
2012    void (STDMETHODCALLTYPE *PSSetConstantBuffers1)(
2013        ID3D11DeviceContext3 *This,
2014        UINT StartSlot,
2015        UINT NumBuffers,
2016        ID3D11Buffer *const *ppConstantBuffers,
2017        const UINT *pFirstConstant,
2018        const UINT *pNumConstants);
2019
2020    void (STDMETHODCALLTYPE *CSSetConstantBuffers1)(
2021        ID3D11DeviceContext3 *This,
2022        UINT StartSlot,
2023        UINT NumBuffers,
2024        ID3D11Buffer *const *ppConstantBuffers,
2025        const UINT *pFirstConstant,
2026        const UINT *pNumConstants);
2027
2028    void (STDMETHODCALLTYPE *VSGetConstantBuffers1)(
2029        ID3D11DeviceContext3 *This,
2030        UINT StartSlot,
2031        UINT NumBuffers,
2032        ID3D11Buffer **ppConstantBuffers,
2033        UINT *pFirstConstant,
2034        UINT *pNumConstants);
2035
2036    void (STDMETHODCALLTYPE *HSGetConstantBuffers1)(
2037        ID3D11DeviceContext3 *This,
2038        UINT StartSlot,
2039        UINT NumBuffers,
2040        ID3D11Buffer **ppConstantBuffers,
2041        UINT *pFirstConstant,
2042        UINT *pNumConstants);
2043
2044    void (STDMETHODCALLTYPE *DSGetConstantBuffers1)(
2045        ID3D11DeviceContext3 *This,
2046        UINT StartSlot,
2047        UINT NumBuffers,
2048        ID3D11Buffer **ppConstantBuffers,
2049        UINT *pFirstConstant,
2050        UINT *pNumConstants);
2051
2052    void (STDMETHODCALLTYPE *GSGetConstantBuffers1)(
2053        ID3D11DeviceContext3 *This,
2054        UINT StartSlot,
2055        UINT NumBuffers,
2056        ID3D11Buffer **ppConstantBuffers,
2057        UINT *pFirstConstant,
2058        UINT *pNumConstants);
2059
2060    void (STDMETHODCALLTYPE *PSGetConstantBuffers1)(
2061        ID3D11DeviceContext3 *This,
2062        UINT StartSlot,
2063        UINT NumBuffers,
2064        ID3D11Buffer **ppConstantBuffers,
2065        UINT *pFirstConstant,
2066        UINT *pNumConstants);
2067
2068    void (STDMETHODCALLTYPE *CSGetConstantBuffers1)(
2069        ID3D11DeviceContext3 *This,
2070        UINT StartSlot,
2071        UINT NumBuffers,
2072        ID3D11Buffer **ppConstantBuffers,
2073        UINT *pFirstConstant,
2074        UINT *pNumConstants);
2075
2076    void (STDMETHODCALLTYPE *SwapDeviceContextState)(
2077        ID3D11DeviceContext3 *This,
2078        ID3DDeviceContextState *pState,
2079        ID3DDeviceContextState **ppPreviousState);
2080
2081    void (STDMETHODCALLTYPE *ClearView)(
2082        ID3D11DeviceContext3 *This,
2083        ID3D11View *pView,
2084        const FLOAT Color[4],
2085        const D3D11_RECT *pRect,
2086        UINT NumRects);
2087
2088    void (STDMETHODCALLTYPE *DiscardView1)(
2089        ID3D11DeviceContext3 *This,
2090        ID3D11View *pResourceView,
2091        const D3D11_RECT *pRects,
2092        UINT NumRects);
2093
2094    /*** ID3D11DeviceContext2 methods ***/
2095    HRESULT (STDMETHODCALLTYPE *UpdateTileMappings)(
2096        ID3D11DeviceContext3 *This,
2097        ID3D11Resource *resource,
2098        UINT region_count,
2099        const D3D11_TILED_RESOURCE_COORDINATE *region_start_coordinates,
2100        const D3D11_TILE_REGION_SIZE *region_sizes,
2101        ID3D11Buffer *pool,
2102        UINT range_count,
2103        const UINT *range_flags,
2104        const UINT *pool_start_offsets,
2105        const UINT *range_tile_counts,
2106        UINT flags);
2107
2108    HRESULT (STDMETHODCALLTYPE *CopyTileMappings)(
2109        ID3D11DeviceContext3 *This,
2110        ID3D11Resource *dst_resource,
2111        const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
2112        ID3D11Resource *src_resource,
2113        const D3D11_TILED_RESOURCE_COORDINATE *src_start_coordinate,
2114        const D3D11_TILE_REGION_SIZE *region_size,
2115        UINT flags);
2116
2117    void (STDMETHODCALLTYPE *CopyTiles)(
2118        ID3D11DeviceContext3 *This,
2119        ID3D11Resource *resource,
2120        const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,
2121        const D3D11_TILE_REGION_SIZE *size,
2122        ID3D11Buffer *buffer,
2123        UINT64 start_offset,
2124        UINT flags);
2125
2126    void (STDMETHODCALLTYPE *UpdateTiles)(
2127        ID3D11DeviceContext3 *This,
2128        ID3D11Resource *dst_resource,
2129        const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
2130        const D3D11_TILE_REGION_SIZE *dst_region_size,
2131        const void *src_data,
2132        UINT flags);
2133
2134    HRESULT (STDMETHODCALLTYPE *ResizeTilePool)(
2135        ID3D11DeviceContext3 *This,
2136        ID3D11Buffer *pool,
2137        UINT64 size);
2138
2139    void (STDMETHODCALLTYPE *TiledResourceBarrier)(
2140        ID3D11DeviceContext3 *This,
2141        ID3D11DeviceChild *before_barrier,
2142        ID3D11DeviceChild *after_barrier);
2143
2144    WINBOOL (STDMETHODCALLTYPE *IsAnnotationEnabled)(
2145        ID3D11DeviceContext3 *This);
2146
2147    void (STDMETHODCALLTYPE *SetMarkerInt)(
2148        ID3D11DeviceContext3 *This,
2149        const WCHAR *label,
2150        int data);
2151
2152    void (STDMETHODCALLTYPE *BeginEventInt)(
2153        ID3D11DeviceContext3 *This,
2154        const WCHAR *label,
2155        int data);
2156
2157    void (STDMETHODCALLTYPE *EndEvent)(
2158        ID3D11DeviceContext3 *This);
2159
2160    /*** ID3D11DeviceContext3 methods ***/
2161    void (STDMETHODCALLTYPE *Flush1)(
2162        ID3D11DeviceContext3 *This,
2163        D3D11_CONTEXT_TYPE type,
2164        HANDLE event);
2165
2166    void (STDMETHODCALLTYPE *SetHardwareProtectionState)(
2167        ID3D11DeviceContext3 *This,
2168        WINBOOL enable);
2169
2170    void (STDMETHODCALLTYPE *GetHardwareProtectionState)(
2171        ID3D11DeviceContext3 *This,
2172        WINBOOL *enable);
2173
2174    END_INTERFACE
2175} ID3D11DeviceContext3Vtbl;
2176
2177interface ID3D11DeviceContext3 {
2178    CONST_VTBL ID3D11DeviceContext3Vtbl* lpVtbl;
2179};
2180
2181#ifdef COBJMACROS
2182#ifndef WIDL_C_INLINE_WRAPPERS
2183/*** IUnknown methods ***/
2184#define ID3D11DeviceContext3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2185#define ID3D11DeviceContext3_AddRef(This) (This)->lpVtbl->AddRef(This)
2186#define ID3D11DeviceContext3_Release(This) (This)->lpVtbl->Release(This)
2187/*** ID3D11DeviceChild methods ***/
2188#define ID3D11DeviceContext3_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
2189#define ID3D11DeviceContext3_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
2190#define ID3D11DeviceContext3_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
2191#define ID3D11DeviceContext3_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
2192/*** ID3D11DeviceContext methods ***/
2193#define ID3D11DeviceContext3_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2194#define ID3D11DeviceContext3_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2195#define ID3D11DeviceContext3_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances)
2196#define ID3D11DeviceContext3_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2197#define ID3D11DeviceContext3_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances)
2198#define ID3D11DeviceContext3_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
2199#define ID3D11DeviceContext3_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
2200#define ID3D11DeviceContext3_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) (This)->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource)
2201#define ID3D11DeviceContext3_Unmap(This,pResource,Subresource) (This)->lpVtbl->Unmap(This,pResource,Subresource)
2202#define ID3D11DeviceContext3_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2203#define ID3D11DeviceContext3_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
2204#define ID3D11DeviceContext3_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
2205#define ID3D11DeviceContext3_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
2206#define ID3D11DeviceContext3_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
2207#define ID3D11DeviceContext3_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
2208#define ID3D11DeviceContext3_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2209#define ID3D11DeviceContext3_GSSetShader(This,pShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances)
2210#define ID3D11DeviceContext3_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
2211#define ID3D11DeviceContext3_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2212#define ID3D11DeviceContext3_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2213#define ID3D11DeviceContext3_Begin(This,pAsync) (This)->lpVtbl->Begin(This,pAsync)
2214#define ID3D11DeviceContext3_End(This,pAsync) (This)->lpVtbl->End(This,pAsync)
2215#define ID3D11DeviceContext3_GetData(This,pAsync,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags)
2216#define ID3D11DeviceContext3_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
2217#define ID3D11DeviceContext3_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2218#define ID3D11DeviceContext3_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2219#define ID3D11DeviceContext3_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
2220#define ID3D11DeviceContext3_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
2221#define ID3D11DeviceContext3_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
2222#define ID3D11DeviceContext3_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
2223#define ID3D11DeviceContext3_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
2224#define ID3D11DeviceContext3_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
2225#define ID3D11DeviceContext3_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
2226#define ID3D11DeviceContext3_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
2227#define ID3D11DeviceContext3_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) (This)->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)
2228#define ID3D11DeviceContext3_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
2229#define ID3D11DeviceContext3_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
2230#define ID3D11DeviceContext3_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
2231#define ID3D11DeviceContext3_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
2232#define ID3D11DeviceContext3_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
2233#define ID3D11DeviceContext3_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
2234#define ID3D11DeviceContext3_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
2235#define ID3D11DeviceContext3_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) (This)->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView)
2236#define ID3D11DeviceContext3_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
2237#define ID3D11DeviceContext3_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values)
2238#define ID3D11DeviceContext3_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values)
2239#define ID3D11DeviceContext3_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
2240#define ID3D11DeviceContext3_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
2241#define ID3D11DeviceContext3_SetResourceMinLOD(This,pResource,MinLOD) (This)->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD)
2242#define ID3D11DeviceContext3_GetResourceMinLOD(This,pResource) (This)->lpVtbl->GetResourceMinLOD(This,pResource)
2243#define ID3D11DeviceContext3_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
2244#define ID3D11DeviceContext3_ExecuteCommandList(This,pCommandList,RestoreContextState) (This)->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState)
2245#define ID3D11DeviceContext3_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2246#define ID3D11DeviceContext3_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances)
2247#define ID3D11DeviceContext3_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2248#define ID3D11DeviceContext3_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2249#define ID3D11DeviceContext3_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2250#define ID3D11DeviceContext3_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances)
2251#define ID3D11DeviceContext3_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2252#define ID3D11DeviceContext3_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2253#define ID3D11DeviceContext3_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2254#define ID3D11DeviceContext3_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
2255#define ID3D11DeviceContext3_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances)
2256#define ID3D11DeviceContext3_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2257#define ID3D11DeviceContext3_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2258#define ID3D11DeviceContext3_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2259#define ID3D11DeviceContext3_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2260#define ID3D11DeviceContext3_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances)
2261#define ID3D11DeviceContext3_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2262#define ID3D11DeviceContext3_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances)
2263#define ID3D11DeviceContext3_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2264#define ID3D11DeviceContext3_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
2265#define ID3D11DeviceContext3_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
2266#define ID3D11DeviceContext3_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
2267#define ID3D11DeviceContext3_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2268#define ID3D11DeviceContext3_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances)
2269#define ID3D11DeviceContext3_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
2270#define ID3D11DeviceContext3_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2271#define ID3D11DeviceContext3_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2272#define ID3D11DeviceContext3_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
2273#define ID3D11DeviceContext3_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2274#define ID3D11DeviceContext3_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2275#define ID3D11DeviceContext3_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
2276#define ID3D11DeviceContext3_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews)
2277#define ID3D11DeviceContext3_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
2278#define ID3D11DeviceContext3_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
2279#define ID3D11DeviceContext3_SOGetTargets(This,NumBuffers,ppSOTargets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets)
2280#define ID3D11DeviceContext3_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
2281#define ID3D11DeviceContext3_RSGetViewports(This,pNumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,pNumViewports,pViewports)
2282#define ID3D11DeviceContext3_RSGetScissorRects(This,pNumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,pNumRects,pRects)
2283#define ID3D11DeviceContext3_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2284#define ID3D11DeviceContext3_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances)
2285#define ID3D11DeviceContext3_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2286#define ID3D11DeviceContext3_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2287#define ID3D11DeviceContext3_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2288#define ID3D11DeviceContext3_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances)
2289#define ID3D11DeviceContext3_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2290#define ID3D11DeviceContext3_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2291#define ID3D11DeviceContext3_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
2292#define ID3D11DeviceContext3_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews)
2293#define ID3D11DeviceContext3_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances)
2294#define ID3D11DeviceContext3_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
2295#define ID3D11DeviceContext3_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
2296#define ID3D11DeviceContext3_ClearState(This) (This)->lpVtbl->ClearState(This)
2297#define ID3D11DeviceContext3_Flush(This) (This)->lpVtbl->Flush(This)
2298#define ID3D11DeviceContext3_GetType(This) (This)->lpVtbl->GetType(This)
2299#define ID3D11DeviceContext3_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
2300#define ID3D11DeviceContext3_FinishCommandList(This,RestoreDeferredContextState,ppCommandList) (This)->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList)
2301/*** ID3D11DeviceContext1 methods ***/
2302#define ID3D11DeviceContext3_CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags) (This)->lpVtbl->CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags)
2303#define ID3D11DeviceContext3_UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags) (This)->lpVtbl->UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags)
2304#define ID3D11DeviceContext3_DiscardResource(This,pResource) (This)->lpVtbl->DiscardResource(This,pResource)
2305#define ID3D11DeviceContext3_DiscardView(This,pResourceView) (This)->lpVtbl->DiscardView(This,pResourceView)
2306#define ID3D11DeviceContext3_VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2307#define ID3D11DeviceContext3_HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2308#define ID3D11DeviceContext3_DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2309#define ID3D11DeviceContext3_GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2310#define ID3D11DeviceContext3_PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2311#define ID3D11DeviceContext3_CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2312#define ID3D11DeviceContext3_VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2313#define ID3D11DeviceContext3_HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2314#define ID3D11DeviceContext3_DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2315#define ID3D11DeviceContext3_GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2316#define ID3D11DeviceContext3_PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2317#define ID3D11DeviceContext3_CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
2318#define ID3D11DeviceContext3_SwapDeviceContextState(This,pState,ppPreviousState) (This)->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState)
2319#define ID3D11DeviceContext3_ClearView(This,pView,Color,pRect,NumRects) (This)->lpVtbl->ClearView(This,pView,Color,pRect,NumRects)
2320#define ID3D11DeviceContext3_DiscardView1(This,pResourceView,pRects,NumRects) (This)->lpVtbl->DiscardView1(This,pResourceView,pRects,NumRects)
2321/*** ID3D11DeviceContext2 methods ***/
2322#define ID3D11DeviceContext3_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)
2323#define ID3D11DeviceContext3_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)
2324#define ID3D11DeviceContext3_CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags) (This)->lpVtbl->CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags)
2325#define ID3D11DeviceContext3_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)
2326#define ID3D11DeviceContext3_ResizeTilePool(This,pool,size) (This)->lpVtbl->ResizeTilePool(This,pool,size)
2327#define ID3D11DeviceContext3_TiledResourceBarrier(This,before_barrier,after_barrier) (This)->lpVtbl->TiledResourceBarrier(This,before_barrier,after_barrier)
2328#define ID3D11DeviceContext3_IsAnnotationEnabled(This) (This)->lpVtbl->IsAnnotationEnabled(This)
2329#define ID3D11DeviceContext3_SetMarkerInt(This,label,data) (This)->lpVtbl->SetMarkerInt(This,label,data)
2330#define ID3D11DeviceContext3_BeginEventInt(This,label,data) (This)->lpVtbl->BeginEventInt(This,label,data)
2331#define ID3D11DeviceContext3_EndEvent(This) (This)->lpVtbl->EndEvent(This)
2332/*** ID3D11DeviceContext3 methods ***/
2333#define ID3D11DeviceContext3_Flush1(This,type,event) (This)->lpVtbl->Flush1(This,type,event)
2334#define ID3D11DeviceContext3_SetHardwareProtectionState(This,enable) (This)->lpVtbl->SetHardwareProtectionState(This,enable)
2335#define ID3D11DeviceContext3_GetHardwareProtectionState(This,enable) (This)->lpVtbl->GetHardwareProtectionState(This,enable)
2336#else
2337/*** IUnknown methods ***/
2338static inline HRESULT ID3D11DeviceContext3_QueryInterface(ID3D11DeviceContext3* This,REFIID riid,void **ppvObject) {
2339    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2340}
2341static inline ULONG ID3D11DeviceContext3_AddRef(ID3D11DeviceContext3* This) {
2342    return This->lpVtbl->AddRef(This);
2343}
2344static inline ULONG ID3D11DeviceContext3_Release(ID3D11DeviceContext3* This) {
2345    return This->lpVtbl->Release(This);
2346}
2347/*** ID3D11DeviceChild methods ***/
2348static inline void ID3D11DeviceContext3_GetDevice(ID3D11DeviceContext3* This,ID3D11Device **ppDevice) {
2349    This->lpVtbl->GetDevice(This,ppDevice);
2350}
2351static inline HRESULT ID3D11DeviceContext3_GetPrivateData(ID3D11DeviceContext3* This,REFGUID guid,UINT *pDataSize,void *pData) {
2352    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
2353}
2354static inline HRESULT ID3D11DeviceContext3_SetPrivateData(ID3D11DeviceContext3* This,REFGUID guid,UINT DataSize,const void *pData) {
2355    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
2356}
2357static inline HRESULT ID3D11DeviceContext3_SetPrivateDataInterface(ID3D11DeviceContext3* This,REFGUID guid,const IUnknown *pData) {
2358    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
2359}
2360/*** ID3D11DeviceContext methods ***/
2361static inline void ID3D11DeviceContext3_VSSetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
2362    This->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2363}
2364static inline void ID3D11DeviceContext3_PSSetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
2365    This->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2366}
2367static inline void ID3D11DeviceContext3_PSSetShader(ID3D11DeviceContext3* This,ID3D11PixelShader *pPixelShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
2368    This->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances);
2369}
2370static inline void ID3D11DeviceContext3_PSSetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
2371    This->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2372}
2373static inline void ID3D11DeviceContext3_VSSetShader(ID3D11DeviceContext3* This,ID3D11VertexShader *pVertexShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
2374    This->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances);
2375}
2376static inline void ID3D11DeviceContext3_DrawIndexed(ID3D11DeviceContext3* This,UINT IndexCount,UINT StartIndexLocation,INT BaseVertexLocation) {
2377    This->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation);
2378}
2379static inline void ID3D11DeviceContext3_Draw(ID3D11DeviceContext3* This,UINT VertexCount,UINT StartVertexLocation) {
2380    This->lpVtbl->Draw(This,VertexCount,StartVertexLocation);
2381}
2382static inline HRESULT ID3D11DeviceContext3_Map(ID3D11DeviceContext3* This,ID3D11Resource *pResource,UINT Subresource,D3D11_MAP MapType,UINT MapFlags,D3D11_MAPPED_SUBRESOURCE *pMappedResource) {
2383    return This->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource);
2384}
2385static inline void ID3D11DeviceContext3_Unmap(ID3D11DeviceContext3* This,ID3D11Resource *pResource,UINT Subresource) {
2386    This->lpVtbl->Unmap(This,pResource,Subresource);
2387}
2388static inline void ID3D11DeviceContext3_PSSetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
2389    This->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2390}
2391static inline void ID3D11DeviceContext3_IASetInputLayout(ID3D11DeviceContext3* This,ID3D11InputLayout *pInputLayout) {
2392    This->lpVtbl->IASetInputLayout(This,pInputLayout);
2393}
2394static inline void ID3D11DeviceContext3_IASetVertexBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppVertexBuffers,const UINT *pStrides,const UINT *pOffsets) {
2395    This->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
2396}
2397static inline void ID3D11DeviceContext3_IASetIndexBuffer(ID3D11DeviceContext3* This,ID3D11Buffer *pIndexBuffer,DXGI_FORMAT Format,UINT Offset) {
2398    This->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset);
2399}
2400static inline void ID3D11DeviceContext3_DrawIndexedInstanced(ID3D11DeviceContext3* This,UINT IndexCountPerInstance,UINT InstanceCount,UINT StartIndexLocation,INT BaseVertexLocation,UINT StartInstanceLocation) {
2401    This->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation);
2402}
2403static inline void ID3D11DeviceContext3_DrawInstanced(ID3D11DeviceContext3* This,UINT VertexCountPerInstance,UINT InstanceCount,UINT StartVertexLocation,UINT StartInstanceLocation) {
2404    This->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation);
2405}
2406static inline void ID3D11DeviceContext3_GSSetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
2407    This->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2408}
2409static inline void ID3D11DeviceContext3_GSSetShader(ID3D11DeviceContext3* This,ID3D11GeometryShader *pShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
2410    This->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances);
2411}
2412static inline void ID3D11DeviceContext3_IASetPrimitiveTopology(ID3D11DeviceContext3* This,D3D11_PRIMITIVE_TOPOLOGY Topology) {
2413    This->lpVtbl->IASetPrimitiveTopology(This,Topology);
2414}
2415static inline void ID3D11DeviceContext3_VSSetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
2416    This->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2417}
2418static inline void ID3D11DeviceContext3_VSSetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
2419    This->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2420}
2421static inline void ID3D11DeviceContext3_Begin(ID3D11DeviceContext3* This,ID3D11Asynchronous *pAsync) {
2422    This->lpVtbl->Begin(This,pAsync);
2423}
2424static inline void ID3D11DeviceContext3_End(ID3D11DeviceContext3* This,ID3D11Asynchronous *pAsync) {
2425    This->lpVtbl->End(This,pAsync);
2426}
2427static inline HRESULT ID3D11DeviceContext3_GetData(ID3D11DeviceContext3* This,ID3D11Asynchronous *pAsync,void *pData,UINT DataSize,UINT GetDataFlags) {
2428    return This->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags);
2429}
2430static inline void ID3D11DeviceContext3_SetPredication(ID3D11DeviceContext3* This,ID3D11Predicate *pPredicate,WINBOOL PredicateValue) {
2431    This->lpVtbl->SetPredication(This,pPredicate,PredicateValue);
2432}
2433static inline void ID3D11DeviceContext3_GSSetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
2434    This->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2435}
2436static inline void ID3D11DeviceContext3_GSSetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
2437    This->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2438}
2439static inline void ID3D11DeviceContext3_OMSetRenderTargets(ID3D11DeviceContext3* This,UINT NumViews,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView) {
2440    This->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView);
2441}
2442static inline void ID3D11DeviceContext3_OMSetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext3* This,UINT NumRTVs,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
2443    This->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
2444}
2445static inline void ID3D11DeviceContext3_OMSetBlendState(ID3D11DeviceContext3* This,ID3D11BlendState *pBlendState,const FLOAT BlendFactor[4],UINT SampleMask) {
2446    This->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask);
2447}
2448static inline void ID3D11DeviceContext3_OMSetDepthStencilState(ID3D11DeviceContext3* This,ID3D11DepthStencilState *pDepthStencilState,UINT StencilRef) {
2449    This->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef);
2450}
2451static inline void ID3D11DeviceContext3_SOSetTargets(ID3D11DeviceContext3* This,UINT NumBuffers,ID3D11Buffer *const *ppSOTargets,const UINT *pOffsets) {
2452    This->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets);
2453}
2454static inline void ID3D11DeviceContext3_DrawAuto(ID3D11DeviceContext3* This) {
2455    This->lpVtbl->DrawAuto(This);
2456}
2457static inline void ID3D11DeviceContext3_DrawIndexedInstancedIndirect(ID3D11DeviceContext3* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
2458    This->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
2459}
2460static inline void ID3D11DeviceContext3_DrawInstancedIndirect(ID3D11DeviceContext3* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
2461    This->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
2462}
2463static inline void ID3D11DeviceContext3_Dispatch(ID3D11DeviceContext3* This,UINT ThreadGroupCountX,UINT ThreadGroupCountY,UINT ThreadGroupCountZ) {
2464    This->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ);
2465}
2466static inline void ID3D11DeviceContext3_DispatchIndirect(ID3D11DeviceContext3* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
2467    This->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
2468}
2469static inline void ID3D11DeviceContext3_RSSetState(ID3D11DeviceContext3* This,ID3D11RasterizerState *pRasterizerState) {
2470    This->lpVtbl->RSSetState(This,pRasterizerState);
2471}
2472static inline void ID3D11DeviceContext3_RSSetViewports(ID3D11DeviceContext3* This,UINT NumViewports,const D3D11_VIEWPORT *pViewports) {
2473    This->lpVtbl->RSSetViewports(This,NumViewports,pViewports);
2474}
2475static inline void ID3D11DeviceContext3_RSSetScissorRects(ID3D11DeviceContext3* This,UINT NumRects,const D3D11_RECT *pRects) {
2476    This->lpVtbl->RSSetScissorRects(This,NumRects,pRects);
2477}
2478static inline void ID3D11DeviceContext3_CopySubresourceRegion(ID3D11DeviceContext3* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox) {
2479    This->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox);
2480}
2481static inline void ID3D11DeviceContext3_CopyResource(ID3D11DeviceContext3* This,ID3D11Resource *pDstResource,ID3D11Resource *pSrcResource) {
2482    This->lpVtbl->CopyResource(This,pDstResource,pSrcResource);
2483}
2484static inline void ID3D11DeviceContext3_UpdateSubresource(ID3D11DeviceContext3* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch) {
2485    This->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch);
2486}
2487static inline void ID3D11DeviceContext3_CopyStructureCount(ID3D11DeviceContext3* This,ID3D11Buffer *pDstBuffer,UINT DstAlignedByteOffset,ID3D11UnorderedAccessView *pSrcView) {
2488    This->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView);
2489}
2490static inline void ID3D11DeviceContext3_ClearRenderTargetView(ID3D11DeviceContext3* This,ID3D11RenderTargetView *pRenderTargetView,const FLOAT ColorRGBA[4]) {
2491    This->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA);
2492}
2493static inline void ID3D11DeviceContext3_ClearUnorderedAccessViewUint(ID3D11DeviceContext3* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const UINT Values[4]) {
2494    This->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values);
2495}
2496static inline void ID3D11DeviceContext3_ClearUnorderedAccessViewFloat(ID3D11DeviceContext3* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const FLOAT Values[4]) {
2497    This->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values);
2498}
2499static inline void ID3D11DeviceContext3_ClearDepthStencilView(ID3D11DeviceContext3* This,ID3D11DepthStencilView *pDepthStencilView,UINT ClearFlags,FLOAT Depth,UINT8 Stencil) {
2500    This->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil);
2501}
2502static inline void ID3D11DeviceContext3_GenerateMips(ID3D11DeviceContext3* This,ID3D11ShaderResourceView *pShaderResourceView) {
2503    This->lpVtbl->GenerateMips(This,pShaderResourceView);
2504}
2505static inline void ID3D11DeviceContext3_SetResourceMinLOD(ID3D11DeviceContext3* This,ID3D11Resource *pResource,FLOAT MinLOD) {
2506    This->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD);
2507}
2508static inline FLOAT ID3D11DeviceContext3_GetResourceMinLOD(ID3D11DeviceContext3* This,ID3D11Resource *pResource) {
2509    return This->lpVtbl->GetResourceMinLOD(This,pResource);
2510}
2511static inline void ID3D11DeviceContext3_ResolveSubresource(ID3D11DeviceContext3* This,ID3D11Resource *pDstResource,UINT DstSubresource,ID3D11Resource *pSrcResource,UINT SrcSubresource,DXGI_FORMAT Format) {
2512    This->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format);
2513}
2514static inline void ID3D11DeviceContext3_ExecuteCommandList(ID3D11DeviceContext3* This,ID3D11CommandList *pCommandList,WINBOOL RestoreContextState) {
2515    This->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState);
2516}
2517static inline void ID3D11DeviceContext3_HSSetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
2518    This->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2519}
2520static inline void ID3D11DeviceContext3_HSSetShader(ID3D11DeviceContext3* This,ID3D11HullShader *pHullShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
2521    This->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances);
2522}
2523static inline void ID3D11DeviceContext3_HSSetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
2524    This->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2525}
2526static inline void ID3D11DeviceContext3_HSSetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
2527    This->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2528}
2529static inline void ID3D11DeviceContext3_DSSetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
2530    This->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2531}
2532static inline void ID3D11DeviceContext3_DSSetShader(ID3D11DeviceContext3* This,ID3D11DomainShader *pDomainShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
2533    This->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances);
2534}
2535static inline void ID3D11DeviceContext3_DSSetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
2536    This->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2537}
2538static inline void ID3D11DeviceContext3_DSSetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
2539    This->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2540}
2541static inline void ID3D11DeviceContext3_CSSetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
2542    This->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2543}
2544static inline void ID3D11DeviceContext3_CSSetUnorderedAccessViews(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
2545    This->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
2546}
2547static inline void ID3D11DeviceContext3_CSSetShader(ID3D11DeviceContext3* This,ID3D11ComputeShader *pComputeShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
2548    This->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances);
2549}
2550static inline void ID3D11DeviceContext3_CSSetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
2551    This->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2552}
2553static inline void ID3D11DeviceContext3_CSSetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
2554    This->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2555}
2556static inline void ID3D11DeviceContext3_VSGetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
2557    This->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2558}
2559static inline void ID3D11DeviceContext3_PSGetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
2560    This->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2561}
2562static inline void ID3D11DeviceContext3_PSGetShader(ID3D11DeviceContext3* This,ID3D11PixelShader **ppPixelShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
2563    This->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances);
2564}
2565static inline void ID3D11DeviceContext3_PSGetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
2566    This->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2567}
2568static inline void ID3D11DeviceContext3_VSGetShader(ID3D11DeviceContext3* This,ID3D11VertexShader **ppVertexShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
2569    This->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances);
2570}
2571static inline void ID3D11DeviceContext3_PSGetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
2572    This->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2573}
2574static inline void ID3D11DeviceContext3_IAGetInputLayout(ID3D11DeviceContext3* This,ID3D11InputLayout **ppInputLayout) {
2575    This->lpVtbl->IAGetInputLayout(This,ppInputLayout);
2576}
2577static inline void ID3D11DeviceContext3_IAGetVertexBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppVertexBuffers,UINT *pStrides,UINT *pOffsets) {
2578    This->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
2579}
2580static inline void ID3D11DeviceContext3_IAGetIndexBuffer(ID3D11DeviceContext3* This,ID3D11Buffer **pIndexBuffer,DXGI_FORMAT *Format,UINT *Offset) {
2581    This->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset);
2582}
2583static inline void ID3D11DeviceContext3_GSGetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
2584    This->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2585}
2586static inline void ID3D11DeviceContext3_GSGetShader(ID3D11DeviceContext3* This,ID3D11GeometryShader **ppGeometryShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
2587    This->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances);
2588}
2589static inline void ID3D11DeviceContext3_IAGetPrimitiveTopology(ID3D11DeviceContext3* This,D3D11_PRIMITIVE_TOPOLOGY *pTopology) {
2590    This->lpVtbl->IAGetPrimitiveTopology(This,pTopology);
2591}
2592static inline void ID3D11DeviceContext3_VSGetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
2593    This->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2594}
2595static inline void ID3D11DeviceContext3_VSGetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
2596    This->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2597}
2598static inline void ID3D11DeviceContext3_GetPredication(ID3D11DeviceContext3* This,ID3D11Predicate **ppPredicate,WINBOOL *pPredicateValue) {
2599    This->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue);
2600}
2601static inline void ID3D11DeviceContext3_GSGetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
2602    This->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2603}
2604static inline void ID3D11DeviceContext3_GSGetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
2605    This->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2606}
2607static inline void ID3D11DeviceContext3_OMGetRenderTargets(ID3D11DeviceContext3* This,UINT NumViews,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView) {
2608    This->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView);
2609}
2610static inline void ID3D11DeviceContext3_OMGetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext3* This,UINT NumRTVs,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
2611    This->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews);
2612}
2613static inline void ID3D11DeviceContext3_OMGetBlendState(ID3D11DeviceContext3* This,ID3D11BlendState **ppBlendState,FLOAT BlendFactor[4],UINT *pSampleMask) {
2614    This->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask);
2615}
2616static inline void ID3D11DeviceContext3_OMGetDepthStencilState(ID3D11DeviceContext3* This,ID3D11DepthStencilState **ppDepthStencilState,UINT *pStencilRef) {
2617    This->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef);
2618}
2619static inline void ID3D11DeviceContext3_SOGetTargets(ID3D11DeviceContext3* This,UINT NumBuffers,ID3D11Buffer **ppSOTargets) {
2620    This->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets);
2621}
2622static inline void ID3D11DeviceContext3_RSGetState(ID3D11DeviceContext3* This,ID3D11RasterizerState **ppRasterizerState) {
2623    This->lpVtbl->RSGetState(This,ppRasterizerState);
2624}
2625static inline void ID3D11DeviceContext3_RSGetViewports(ID3D11DeviceContext3* This,UINT *pNumViewports,D3D11_VIEWPORT *pViewports) {
2626    This->lpVtbl->RSGetViewports(This,pNumViewports,pViewports);
2627}
2628static inline void ID3D11DeviceContext3_RSGetScissorRects(ID3D11DeviceContext3* This,UINT *pNumRects,D3D11_RECT *pRects) {
2629    This->lpVtbl->RSGetScissorRects(This,pNumRects,pRects);
2630}
2631static inline void ID3D11DeviceContext3_HSGetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
2632    This->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2633}
2634static inline void ID3D11DeviceContext3_HSGetShader(ID3D11DeviceContext3* This,ID3D11HullShader **ppHullShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
2635    This->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances);
2636}
2637static inline void ID3D11DeviceContext3_HSGetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
2638    This->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2639}
2640static inline void ID3D11DeviceContext3_HSGetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
2641    This->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2642}
2643static inline void ID3D11DeviceContext3_DSGetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
2644    This->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2645}
2646static inline void ID3D11DeviceContext3_DSGetShader(ID3D11DeviceContext3* This,ID3D11DomainShader **ppDomainShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
2647    This->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances);
2648}
2649static inline void ID3D11DeviceContext3_DSGetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
2650    This->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2651}
2652static inline void ID3D11DeviceContext3_DSGetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
2653    This->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2654}
2655static inline void ID3D11DeviceContext3_CSGetShaderResources(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
2656    This->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
2657}
2658static inline void ID3D11DeviceContext3_CSGetUnorderedAccessViews(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
2659    This->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews);
2660}
2661static inline void ID3D11DeviceContext3_CSGetShader(ID3D11DeviceContext3* This,ID3D11ComputeShader **ppComputeShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
2662    This->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances);
2663}
2664static inline void ID3D11DeviceContext3_CSGetSamplers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
2665    This->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
2666}
2667static inline void ID3D11DeviceContext3_CSGetConstantBuffers(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
2668    This->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
2669}
2670static inline void ID3D11DeviceContext3_ClearState(ID3D11DeviceContext3* This) {
2671    This->lpVtbl->ClearState(This);
2672}
2673static inline void ID3D11DeviceContext3_Flush(ID3D11DeviceContext3* This) {
2674    This->lpVtbl->Flush(This);
2675}
2676static inline D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext3_GetType(ID3D11DeviceContext3* This) {
2677    return This->lpVtbl->GetType(This);
2678}
2679static inline UINT ID3D11DeviceContext3_GetContextFlags(ID3D11DeviceContext3* This) {
2680    return This->lpVtbl->GetContextFlags(This);
2681}
2682static inline HRESULT ID3D11DeviceContext3_FinishCommandList(ID3D11DeviceContext3* This,WINBOOL RestoreDeferredContextState,ID3D11CommandList **ppCommandList) {
2683    return This->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList);
2684}
2685/*** ID3D11DeviceContext1 methods ***/
2686static inline void ID3D11DeviceContext3_CopySubresourceRegion1(ID3D11DeviceContext3* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox,UINT CopyFlags) {
2687    This->lpVtbl->CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags);
2688}
2689static inline void ID3D11DeviceContext3_UpdateSubresource1(ID3D11DeviceContext3* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch,UINT CopyFlags) {
2690    This->lpVtbl->UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags);
2691}
2692static inline void ID3D11DeviceContext3_DiscardResource(ID3D11DeviceContext3* This,ID3D11Resource *pResource) {
2693    This->lpVtbl->DiscardResource(This,pResource);
2694}
2695static inline void ID3D11DeviceContext3_DiscardView(ID3D11DeviceContext3* This,ID3D11View *pResourceView) {
2696    This->lpVtbl->DiscardView(This,pResourceView);
2697}
2698static inline void ID3D11DeviceContext3_VSSetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
2699    This->lpVtbl->VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2700}
2701static inline void ID3D11DeviceContext3_HSSetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
2702    This->lpVtbl->HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2703}
2704static inline void ID3D11DeviceContext3_DSSetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
2705    This->lpVtbl->DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2706}
2707static inline void ID3D11DeviceContext3_GSSetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
2708    This->lpVtbl->GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2709}
2710static inline void ID3D11DeviceContext3_PSSetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
2711    This->lpVtbl->PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2712}
2713static inline void ID3D11DeviceContext3_CSSetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
2714    This->lpVtbl->CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2715}
2716static inline void ID3D11DeviceContext3_VSGetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
2717    This->lpVtbl->VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2718}
2719static inline void ID3D11DeviceContext3_HSGetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
2720    This->lpVtbl->HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2721}
2722static inline void ID3D11DeviceContext3_DSGetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
2723    This->lpVtbl->DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2724}
2725static inline void ID3D11DeviceContext3_GSGetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
2726    This->lpVtbl->GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2727}
2728static inline void ID3D11DeviceContext3_PSGetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
2729    This->lpVtbl->PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2730}
2731static inline void ID3D11DeviceContext3_CSGetConstantBuffers1(ID3D11DeviceContext3* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
2732    This->lpVtbl->CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
2733}
2734static inline void ID3D11DeviceContext3_SwapDeviceContextState(ID3D11DeviceContext3* This,ID3DDeviceContextState *pState,ID3DDeviceContextState **ppPreviousState) {
2735    This->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState);
2736}
2737static inline void ID3D11DeviceContext3_ClearView(ID3D11DeviceContext3* This,ID3D11View *pView,const FLOAT Color[4],const D3D11_RECT *pRect,UINT NumRects) {
2738    This->lpVtbl->ClearView(This,pView,Color,pRect,NumRects);
2739}
2740static inline void ID3D11DeviceContext3_DiscardView1(ID3D11DeviceContext3* This,ID3D11View *pResourceView,const D3D11_RECT *pRects,UINT NumRects) {
2741    This->lpVtbl->DiscardView1(This,pResourceView,pRects,NumRects);
2742}
2743/*** ID3D11DeviceContext2 methods ***/
2744static inline HRESULT ID3D11DeviceContext3_UpdateTileMappings(ID3D11DeviceContext3* 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) {
2745    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);
2746}
2747static inline HRESULT ID3D11DeviceContext3_CopyTileMappings(ID3D11DeviceContext3* 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) {
2748    return This->lpVtbl->CopyTileMappings(This,dst_resource,dst_start_coordinate,src_resource,src_start_coordinate,region_size,flags);
2749}
2750static inline void ID3D11DeviceContext3_CopyTiles(ID3D11DeviceContext3* This,ID3D11Resource *resource,const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,const D3D11_TILE_REGION_SIZE *size,ID3D11Buffer *buffer,UINT64 start_offset,UINT flags) {
2751    This->lpVtbl->CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags);
2752}
2753static inline void ID3D11DeviceContext3_UpdateTiles(ID3D11DeviceContext3* 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) {
2754    This->lpVtbl->UpdateTiles(This,dst_resource,dst_start_coordinate,dst_region_size,src_data,flags);
2755}
2756static inline HRESULT ID3D11DeviceContext3_ResizeTilePool(ID3D11DeviceContext3* This,ID3D11Buffer *pool,UINT64 size) {
2757    return This->lpVtbl->ResizeTilePool(This,pool,size);
2758}
2759static inline void ID3D11DeviceContext3_TiledResourceBarrier(ID3D11DeviceContext3* This,ID3D11DeviceChild *before_barrier,ID3D11DeviceChild *after_barrier) {
2760    This->lpVtbl->TiledResourceBarrier(This,before_barrier,after_barrier);
2761}
2762static inline WINBOOL ID3D11DeviceContext3_IsAnnotationEnabled(ID3D11DeviceContext3* This) {
2763    return This->lpVtbl->IsAnnotationEnabled(This);
2764}
2765static inline void ID3D11DeviceContext3_SetMarkerInt(ID3D11DeviceContext3* This,const WCHAR *label,int data) {
2766    This->lpVtbl->SetMarkerInt(This,label,data);
2767}
2768static inline void ID3D11DeviceContext3_BeginEventInt(ID3D11DeviceContext3* This,const WCHAR *label,int data) {
2769    This->lpVtbl->BeginEventInt(This,label,data);
2770}
2771static inline void ID3D11DeviceContext3_EndEvent(ID3D11DeviceContext3* This) {
2772    This->lpVtbl->EndEvent(This);
2773}
2774/*** ID3D11DeviceContext3 methods ***/
2775static inline void ID3D11DeviceContext3_Flush1(ID3D11DeviceContext3* This,D3D11_CONTEXT_TYPE type,HANDLE event) {
2776    This->lpVtbl->Flush1(This,type,event);
2777}
2778static inline void ID3D11DeviceContext3_SetHardwareProtectionState(ID3D11DeviceContext3* This,WINBOOL enable) {
2779    This->lpVtbl->SetHardwareProtectionState(This,enable);
2780}
2781static inline void ID3D11DeviceContext3_GetHardwareProtectionState(ID3D11DeviceContext3* This,WINBOOL *enable) {
2782    This->lpVtbl->GetHardwareProtectionState(This,enable);
2783}
2784#endif
2785#endif
2786
2787#endif
2788
2789
2790#endif  /* __ID3D11DeviceContext3_INTERFACE_DEFINED__ */
2791
2792/*****************************************************************************
2793 * ID3D11Fence interface
2794 */
2795#ifndef __ID3D11Fence_INTERFACE_DEFINED__
2796#define __ID3D11Fence_INTERFACE_DEFINED__
2797
2798DEFINE_GUID(IID_ID3D11Fence, 0xaffde9d1, 0x1df7, 0x4bb7, 0x8a,0x34, 0x0f,0x46,0x25,0x1d,0xab,0x80);
2799#if defined(__cplusplus) && !defined(CINTERFACE)
2800MIDL_INTERFACE("affde9d1-1df7-4bb7-8a34-0f46251dab80")
2801ID3D11Fence : public ID3D11DeviceChild
2802{
2803    virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
2804        const SECURITY_ATTRIBUTES *attributes,
2805        DWORD access,
2806        const WCHAR *name,
2807        HANDLE *handle) = 0;
2808
2809    virtual UINT64 STDMETHODCALLTYPE GetCompletedValue(
2810        ) = 0;
2811
2812    virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
2813        UINT64 value,
2814        HANDLE event) = 0;
2815
2816};
2817#ifdef __CRT_UUID_DECL
2818__CRT_UUID_DECL(ID3D11Fence, 0xaffde9d1, 0x1df7, 0x4bb7, 0x8a,0x34, 0x0f,0x46,0x25,0x1d,0xab,0x80)
2819#endif
2820#else
2821typedef struct ID3D11FenceVtbl {
2822    BEGIN_INTERFACE
2823
2824    /*** IUnknown methods ***/
2825    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2826        ID3D11Fence *This,
2827        REFIID riid,
2828        void **ppvObject);
2829
2830    ULONG (STDMETHODCALLTYPE *AddRef)(
2831        ID3D11Fence *This);
2832
2833    ULONG (STDMETHODCALLTYPE *Release)(
2834        ID3D11Fence *This);
2835
2836    /*** ID3D11DeviceChild methods ***/
2837    void (STDMETHODCALLTYPE *GetDevice)(
2838        ID3D11Fence *This,
2839        ID3D11Device **ppDevice);
2840
2841    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
2842        ID3D11Fence *This,
2843        REFGUID guid,
2844        UINT *pDataSize,
2845        void *pData);
2846
2847    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
2848        ID3D11Fence *This,
2849        REFGUID guid,
2850        UINT DataSize,
2851        const void *pData);
2852
2853    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
2854        ID3D11Fence *This,
2855        REFGUID guid,
2856        const IUnknown *pData);
2857
2858    /*** ID3D11Fence methods ***/
2859    HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
2860        ID3D11Fence *This,
2861        const SECURITY_ATTRIBUTES *attributes,
2862        DWORD access,
2863        const WCHAR *name,
2864        HANDLE *handle);
2865
2866    UINT64 (STDMETHODCALLTYPE *GetCompletedValue)(
2867        ID3D11Fence *This);
2868
2869    HRESULT (STDMETHODCALLTYPE *SetEventOnCompletion)(
2870        ID3D11Fence *This,
2871        UINT64 value,
2872        HANDLE event);
2873
2874    END_INTERFACE
2875} ID3D11FenceVtbl;
2876
2877interface ID3D11Fence {
2878    CONST_VTBL ID3D11FenceVtbl* lpVtbl;
2879};
2880
2881#ifdef COBJMACROS
2882#ifndef WIDL_C_INLINE_WRAPPERS
2883/*** IUnknown methods ***/
2884#define ID3D11Fence_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2885#define ID3D11Fence_AddRef(This) (This)->lpVtbl->AddRef(This)
2886#define ID3D11Fence_Release(This) (This)->lpVtbl->Release(This)
2887/*** ID3D11DeviceChild methods ***/
2888#define ID3D11Fence_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
2889#define ID3D11Fence_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
2890#define ID3D11Fence_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
2891#define ID3D11Fence_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
2892/*** ID3D11Fence methods ***/
2893#define ID3D11Fence_CreateSharedHandle(This,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,attributes,access,name,handle)
2894#define ID3D11Fence_GetCompletedValue(This) (This)->lpVtbl->GetCompletedValue(This)
2895#define ID3D11Fence_SetEventOnCompletion(This,value,event) (This)->lpVtbl->SetEventOnCompletion(This,value,event)
2896#else
2897/*** IUnknown methods ***/
2898static inline HRESULT ID3D11Fence_QueryInterface(ID3D11Fence* This,REFIID riid,void **ppvObject) {
2899    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2900}
2901static inline ULONG ID3D11Fence_AddRef(ID3D11Fence* This) {
2902    return This->lpVtbl->AddRef(This);
2903}
2904static inline ULONG ID3D11Fence_Release(ID3D11Fence* This) {
2905    return This->lpVtbl->Release(This);
2906}
2907/*** ID3D11DeviceChild methods ***/
2908static inline void ID3D11Fence_GetDevice(ID3D11Fence* This,ID3D11Device **ppDevice) {
2909    This->lpVtbl->GetDevice(This,ppDevice);
2910}
2911static inline HRESULT ID3D11Fence_GetPrivateData(ID3D11Fence* This,REFGUID guid,UINT *pDataSize,void *pData) {
2912    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
2913}
2914static inline HRESULT ID3D11Fence_SetPrivateData(ID3D11Fence* This,REFGUID guid,UINT DataSize,const void *pData) {
2915    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
2916}
2917static inline HRESULT ID3D11Fence_SetPrivateDataInterface(ID3D11Fence* This,REFGUID guid,const IUnknown *pData) {
2918    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
2919}
2920/*** ID3D11Fence methods ***/
2921static inline HRESULT ID3D11Fence_CreateSharedHandle(ID3D11Fence* This,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
2922    return This->lpVtbl->CreateSharedHandle(This,attributes,access,name,handle);
2923}
2924static inline UINT64 ID3D11Fence_GetCompletedValue(ID3D11Fence* This) {
2925    return This->lpVtbl->GetCompletedValue(This);
2926}
2927static inline HRESULT ID3D11Fence_SetEventOnCompletion(ID3D11Fence* This,UINT64 value,HANDLE event) {
2928    return This->lpVtbl->SetEventOnCompletion(This,value,event);
2929}
2930#endif
2931#endif
2932
2933#endif
2934
2935
2936#endif  /* __ID3D11Fence_INTERFACE_DEFINED__ */
2937
2938/*****************************************************************************
2939 * ID3D11DeviceContext4 interface
2940 */
2941#ifndef __ID3D11DeviceContext4_INTERFACE_DEFINED__
2942#define __ID3D11DeviceContext4_INTERFACE_DEFINED__
2943
2944DEFINE_GUID(IID_ID3D11DeviceContext4, 0x917600da, 0xf58c, 0x4c33, 0x98,0xd8, 0x3e,0x15,0xb3,0x90,0xfa,0x24);
2945#if defined(__cplusplus) && !defined(CINTERFACE)
2946MIDL_INTERFACE("917600da-f58c-4c33-98d8-3e15b390fa24")
2947ID3D11DeviceContext4 : public ID3D11DeviceContext3
2948{
2949    virtual HRESULT STDMETHODCALLTYPE Signal(
2950        ID3D11Fence *fence,
2951        UINT64 value) = 0;
2952
2953    virtual HRESULT STDMETHODCALLTYPE Wait(
2954        ID3D11Fence *fence,
2955        UINT64 value) = 0;
2956
2957};
2958#ifdef __CRT_UUID_DECL
2959__CRT_UUID_DECL(ID3D11DeviceContext4, 0x917600da, 0xf58c, 0x4c33, 0x98,0xd8, 0x3e,0x15,0xb3,0x90,0xfa,0x24)
2960#endif
2961#else
2962typedef struct ID3D11DeviceContext4Vtbl {
2963    BEGIN_INTERFACE
2964
2965    /*** IUnknown methods ***/
2966    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2967        ID3D11DeviceContext4 *This,
2968        REFIID riid,
2969        void **ppvObject);
2970
2971    ULONG (STDMETHODCALLTYPE *AddRef)(
2972        ID3D11DeviceContext4 *This);
2973
2974    ULONG (STDMETHODCALLTYPE *Release)(
2975        ID3D11DeviceContext4 *This);
2976
2977    /*** ID3D11DeviceChild methods ***/
2978    void (STDMETHODCALLTYPE *GetDevice)(
2979        ID3D11DeviceContext4 *This,
2980        ID3D11Device **ppDevice);
2981
2982    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
2983        ID3D11DeviceContext4 *This,
2984        REFGUID guid,
2985        UINT *pDataSize,
2986        void *pData);
2987
2988    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
2989        ID3D11DeviceContext4 *This,
2990        REFGUID guid,
2991        UINT DataSize,
2992        const void *pData);
2993
2994    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
2995        ID3D11DeviceContext4 *This,
2996        REFGUID guid,
2997        const IUnknown *pData);
2998
2999    /*** ID3D11DeviceContext methods ***/
3000    void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
3001        ID3D11DeviceContext4 *This,
3002        UINT StartSlot,
3003        UINT NumBuffers,
3004        ID3D11Buffer *const *ppConstantBuffers);
3005
3006    void (STDMETHODCALLTYPE *PSSetShaderResources)(
3007        ID3D11DeviceContext4 *This,
3008        UINT StartSlot,
3009        UINT NumViews,
3010        ID3D11ShaderResourceView *const *ppShaderResourceViews);
3011
3012    void (STDMETHODCALLTYPE *PSSetShader)(
3013        ID3D11DeviceContext4 *This,
3014        ID3D11PixelShader *pPixelShader,
3015        ID3D11ClassInstance *const *ppClassInstances,
3016        UINT NumClassInstances);
3017
3018    void (STDMETHODCALLTYPE *PSSetSamplers)(
3019        ID3D11DeviceContext4 *This,
3020        UINT StartSlot,
3021        UINT NumSamplers,
3022        ID3D11SamplerState *const *ppSamplers);
3023
3024    void (STDMETHODCALLTYPE *VSSetShader)(
3025        ID3D11DeviceContext4 *This,
3026        ID3D11VertexShader *pVertexShader,
3027        ID3D11ClassInstance *const *ppClassInstances,
3028        UINT NumClassInstances);
3029
3030    void (STDMETHODCALLTYPE *DrawIndexed)(
3031        ID3D11DeviceContext4 *This,
3032        UINT IndexCount,
3033        UINT StartIndexLocation,
3034        INT BaseVertexLocation);
3035
3036    void (STDMETHODCALLTYPE *Draw)(
3037        ID3D11DeviceContext4 *This,
3038        UINT VertexCount,
3039        UINT StartVertexLocation);
3040
3041    HRESULT (STDMETHODCALLTYPE *Map)(
3042        ID3D11DeviceContext4 *This,
3043        ID3D11Resource *pResource,
3044        UINT Subresource,
3045        D3D11_MAP MapType,
3046        UINT MapFlags,
3047        D3D11_MAPPED_SUBRESOURCE *pMappedResource);
3048
3049    void (STDMETHODCALLTYPE *Unmap)(
3050        ID3D11DeviceContext4 *This,
3051        ID3D11Resource *pResource,
3052        UINT Subresource);
3053
3054    void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
3055        ID3D11DeviceContext4 *This,
3056        UINT StartSlot,
3057        UINT NumBuffers,
3058        ID3D11Buffer *const *ppConstantBuffers);
3059
3060    void (STDMETHODCALLTYPE *IASetInputLayout)(
3061        ID3D11DeviceContext4 *This,
3062        ID3D11InputLayout *pInputLayout);
3063
3064    void (STDMETHODCALLTYPE *IASetVertexBuffers)(
3065        ID3D11DeviceContext4 *This,
3066        UINT StartSlot,
3067        UINT NumBuffers,
3068        ID3D11Buffer *const *ppVertexBuffers,
3069        const UINT *pStrides,
3070        const UINT *pOffsets);
3071
3072    void (STDMETHODCALLTYPE *IASetIndexBuffer)(
3073        ID3D11DeviceContext4 *This,
3074        ID3D11Buffer *pIndexBuffer,
3075        DXGI_FORMAT Format,
3076        UINT Offset);
3077
3078    void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
3079        ID3D11DeviceContext4 *This,
3080        UINT IndexCountPerInstance,
3081        UINT InstanceCount,
3082        UINT StartIndexLocation,
3083        INT BaseVertexLocation,
3084        UINT StartInstanceLocation);
3085
3086    void (STDMETHODCALLTYPE *DrawInstanced)(
3087        ID3D11DeviceContext4 *This,
3088        UINT VertexCountPerInstance,
3089        UINT InstanceCount,
3090        UINT StartVertexLocation,
3091        UINT StartInstanceLocation);
3092
3093    void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
3094        ID3D11DeviceContext4 *This,
3095        UINT StartSlot,
3096        UINT NumBuffers,
3097        ID3D11Buffer *const *ppConstantBuffers);
3098
3099    void (STDMETHODCALLTYPE *GSSetShader)(
3100        ID3D11DeviceContext4 *This,
3101        ID3D11GeometryShader *pShader,
3102        ID3D11ClassInstance *const *ppClassInstances,
3103        UINT NumClassInstances);
3104
3105    void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
3106        ID3D11DeviceContext4 *This,
3107        D3D11_PRIMITIVE_TOPOLOGY Topology);
3108
3109    void (STDMETHODCALLTYPE *VSSetShaderResources)(
3110        ID3D11DeviceContext4 *This,
3111        UINT StartSlot,
3112        UINT NumViews,
3113        ID3D11ShaderResourceView *const *ppShaderResourceViews);
3114
3115    void (STDMETHODCALLTYPE *VSSetSamplers)(
3116        ID3D11DeviceContext4 *This,
3117        UINT StartSlot,
3118        UINT NumSamplers,
3119        ID3D11SamplerState *const *ppSamplers);
3120
3121    void (STDMETHODCALLTYPE *Begin)(
3122        ID3D11DeviceContext4 *This,
3123        ID3D11Asynchronous *pAsync);
3124
3125    void (STDMETHODCALLTYPE *End)(
3126        ID3D11DeviceContext4 *This,
3127        ID3D11Asynchronous *pAsync);
3128
3129    HRESULT (STDMETHODCALLTYPE *GetData)(
3130        ID3D11DeviceContext4 *This,
3131        ID3D11Asynchronous *pAsync,
3132        void *pData,
3133        UINT DataSize,
3134        UINT GetDataFlags);
3135
3136    void (STDMETHODCALLTYPE *SetPredication)(
3137        ID3D11DeviceContext4 *This,
3138        ID3D11Predicate *pPredicate,
3139        WINBOOL PredicateValue);
3140
3141    void (STDMETHODCALLTYPE *GSSetShaderResources)(
3142        ID3D11DeviceContext4 *This,
3143        UINT StartSlot,
3144        UINT NumViews,
3145        ID3D11ShaderResourceView *const *ppShaderResourceViews);
3146
3147    void (STDMETHODCALLTYPE *GSSetSamplers)(
3148        ID3D11DeviceContext4 *This,
3149        UINT StartSlot,
3150        UINT NumSamplers,
3151        ID3D11SamplerState *const *ppSamplers);
3152
3153    void (STDMETHODCALLTYPE *OMSetRenderTargets)(
3154        ID3D11DeviceContext4 *This,
3155        UINT NumViews,
3156        ID3D11RenderTargetView *const *ppRenderTargetViews,
3157        ID3D11DepthStencilView *pDepthStencilView);
3158
3159    void (STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews)(
3160        ID3D11DeviceContext4 *This,
3161        UINT NumRTVs,
3162        ID3D11RenderTargetView *const *ppRenderTargetViews,
3163        ID3D11DepthStencilView *pDepthStencilView,
3164        UINT UAVStartSlot,
3165        UINT NumUAVs,
3166        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
3167        const UINT *pUAVInitialCounts);
3168
3169    void (STDMETHODCALLTYPE *OMSetBlendState)(
3170        ID3D11DeviceContext4 *This,
3171        ID3D11BlendState *pBlendState,
3172        const FLOAT BlendFactor[4],
3173        UINT SampleMask);
3174
3175    void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
3176        ID3D11DeviceContext4 *This,
3177        ID3D11DepthStencilState *pDepthStencilState,
3178        UINT StencilRef);
3179
3180    void (STDMETHODCALLTYPE *SOSetTargets)(
3181        ID3D11DeviceContext4 *This,
3182        UINT NumBuffers,
3183        ID3D11Buffer *const *ppSOTargets,
3184        const UINT *pOffsets);
3185
3186    void (STDMETHODCALLTYPE *DrawAuto)(
3187        ID3D11DeviceContext4 *This);
3188
3189    void (STDMETHODCALLTYPE *DrawIndexedInstancedIndirect)(
3190        ID3D11DeviceContext4 *This,
3191        ID3D11Buffer *pBufferForArgs,
3192        UINT AlignedByteOffsetForArgs);
3193
3194    void (STDMETHODCALLTYPE *DrawInstancedIndirect)(
3195        ID3D11DeviceContext4 *This,
3196        ID3D11Buffer *pBufferForArgs,
3197        UINT AlignedByteOffsetForArgs);
3198
3199    void (STDMETHODCALLTYPE *Dispatch)(
3200        ID3D11DeviceContext4 *This,
3201        UINT ThreadGroupCountX,
3202        UINT ThreadGroupCountY,
3203        UINT ThreadGroupCountZ);
3204
3205    void (STDMETHODCALLTYPE *DispatchIndirect)(
3206        ID3D11DeviceContext4 *This,
3207        ID3D11Buffer *pBufferForArgs,
3208        UINT AlignedByteOffsetForArgs);
3209
3210    void (STDMETHODCALLTYPE *RSSetState)(
3211        ID3D11DeviceContext4 *This,
3212        ID3D11RasterizerState *pRasterizerState);
3213
3214    void (STDMETHODCALLTYPE *RSSetViewports)(
3215        ID3D11DeviceContext4 *This,
3216        UINT NumViewports,
3217        const D3D11_VIEWPORT *pViewports);
3218
3219    void (STDMETHODCALLTYPE *RSSetScissorRects)(
3220        ID3D11DeviceContext4 *This,
3221        UINT NumRects,
3222        const D3D11_RECT *pRects);
3223
3224    void (STDMETHODCALLTYPE *CopySubresourceRegion)(
3225        ID3D11DeviceContext4 *This,
3226        ID3D11Resource *pDstResource,
3227        UINT DstSubresource,
3228        UINT DstX,
3229        UINT DstY,
3230        UINT DstZ,
3231        ID3D11Resource *pSrcResource,
3232        UINT SrcSubresource,
3233        const D3D11_BOX *pSrcBox);
3234
3235    void (STDMETHODCALLTYPE *CopyResource)(
3236        ID3D11DeviceContext4 *This,
3237        ID3D11Resource *pDstResource,
3238        ID3D11Resource *pSrcResource);
3239
3240    void (STDMETHODCALLTYPE *UpdateSubresource)(
3241        ID3D11DeviceContext4 *This,
3242        ID3D11Resource *pDstResource,
3243        UINT DstSubresource,
3244        const D3D11_BOX *pDstBox,
3245        const void *pSrcData,
3246        UINT SrcRowPitch,
3247        UINT SrcDepthPitch);
3248
3249    void (STDMETHODCALLTYPE *CopyStructureCount)(
3250        ID3D11DeviceContext4 *This,
3251        ID3D11Buffer *pDstBuffer,
3252        UINT DstAlignedByteOffset,
3253        ID3D11UnorderedAccessView *pSrcView);
3254
3255    void (STDMETHODCALLTYPE *ClearRenderTargetView)(
3256        ID3D11DeviceContext4 *This,
3257        ID3D11RenderTargetView *pRenderTargetView,
3258        const FLOAT ColorRGBA[4]);
3259
3260    void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
3261        ID3D11DeviceContext4 *This,
3262        ID3D11UnorderedAccessView *pUnorderedAccessView,
3263        const UINT Values[4]);
3264
3265    void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
3266        ID3D11DeviceContext4 *This,
3267        ID3D11UnorderedAccessView *pUnorderedAccessView,
3268        const FLOAT Values[4]);
3269
3270    void (STDMETHODCALLTYPE *ClearDepthStencilView)(
3271        ID3D11DeviceContext4 *This,
3272        ID3D11DepthStencilView *pDepthStencilView,
3273        UINT ClearFlags,
3274        FLOAT Depth,
3275        UINT8 Stencil);
3276
3277    void (STDMETHODCALLTYPE *GenerateMips)(
3278        ID3D11DeviceContext4 *This,
3279        ID3D11ShaderResourceView *pShaderResourceView);
3280
3281    void (STDMETHODCALLTYPE *SetResourceMinLOD)(
3282        ID3D11DeviceContext4 *This,
3283        ID3D11Resource *pResource,
3284        FLOAT MinLOD);
3285
3286    FLOAT (STDMETHODCALLTYPE *GetResourceMinLOD)(
3287        ID3D11DeviceContext4 *This,
3288        ID3D11Resource *pResource);
3289
3290    void (STDMETHODCALLTYPE *ResolveSubresource)(
3291        ID3D11DeviceContext4 *This,
3292        ID3D11Resource *pDstResource,
3293        UINT DstSubresource,
3294        ID3D11Resource *pSrcResource,
3295        UINT SrcSubresource,
3296        DXGI_FORMAT Format);
3297
3298    void (STDMETHODCALLTYPE *ExecuteCommandList)(
3299        ID3D11DeviceContext4 *This,
3300        ID3D11CommandList *pCommandList,
3301        WINBOOL RestoreContextState);
3302
3303    void (STDMETHODCALLTYPE *HSSetShaderResources)(
3304        ID3D11DeviceContext4 *This,
3305        UINT StartSlot,
3306        UINT NumViews,
3307        ID3D11ShaderResourceView *const *ppShaderResourceViews);
3308
3309    void (STDMETHODCALLTYPE *HSSetShader)(
3310        ID3D11DeviceContext4 *This,
3311        ID3D11HullShader *pHullShader,
3312        ID3D11ClassInstance *const *ppClassInstances,
3313        UINT NumClassInstances);
3314
3315    void (STDMETHODCALLTYPE *HSSetSamplers)(
3316        ID3D11DeviceContext4 *This,
3317        UINT StartSlot,
3318        UINT NumSamplers,
3319        ID3D11SamplerState *const *ppSamplers);
3320
3321    void (STDMETHODCALLTYPE *HSSetConstantBuffers)(
3322        ID3D11DeviceContext4 *This,
3323        UINT StartSlot,
3324        UINT NumBuffers,
3325        ID3D11Buffer *const *ppConstantBuffers);
3326
3327    void (STDMETHODCALLTYPE *DSSetShaderResources)(
3328        ID3D11DeviceContext4 *This,
3329        UINT StartSlot,
3330        UINT NumViews,
3331        ID3D11ShaderResourceView *const *ppShaderResourceViews);
3332
3333    void (STDMETHODCALLTYPE *DSSetShader)(
3334        ID3D11DeviceContext4 *This,
3335        ID3D11DomainShader *pDomainShader,
3336        ID3D11ClassInstance *const *ppClassInstances,
3337        UINT NumClassInstances);
3338
3339    void (STDMETHODCALLTYPE *DSSetSamplers)(
3340        ID3D11DeviceContext4 *This,
3341        UINT StartSlot,
3342        UINT NumSamplers,
3343        ID3D11SamplerState *const *ppSamplers);
3344
3345    void (STDMETHODCALLTYPE *DSSetConstantBuffers)(
3346        ID3D11DeviceContext4 *This,
3347        UINT StartSlot,
3348        UINT NumBuffers,
3349        ID3D11Buffer *const *ppConstantBuffers);
3350
3351    void (STDMETHODCALLTYPE *CSSetShaderResources)(
3352        ID3D11DeviceContext4 *This,
3353        UINT StartSlot,
3354        UINT NumViews,
3355        ID3D11ShaderResourceView *const *ppShaderResourceViews);
3356
3357    void (STDMETHODCALLTYPE *CSSetUnorderedAccessViews)(
3358        ID3D11DeviceContext4 *This,
3359        UINT StartSlot,
3360        UINT NumUAVs,
3361        ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
3362        const UINT *pUAVInitialCounts);
3363
3364    void (STDMETHODCALLTYPE *CSSetShader)(
3365        ID3D11DeviceContext4 *This,
3366        ID3D11ComputeShader *pComputeShader,
3367        ID3D11ClassInstance *const *ppClassInstances,
3368        UINT NumClassInstances);
3369
3370    void (STDMETHODCALLTYPE *CSSetSamplers)(
3371        ID3D11DeviceContext4 *This,
3372        UINT StartSlot,
3373        UINT NumSamplers,
3374        ID3D11SamplerState *const *ppSamplers);
3375
3376    void (STDMETHODCALLTYPE *CSSetConstantBuffers)(
3377        ID3D11DeviceContext4 *This,
3378        UINT StartSlot,
3379        UINT NumBuffers,
3380        ID3D11Buffer *const *ppConstantBuffers);
3381
3382    void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
3383        ID3D11DeviceContext4 *This,
3384        UINT StartSlot,
3385        UINT NumBuffers,
3386        ID3D11Buffer **ppConstantBuffers);
3387
3388    void (STDMETHODCALLTYPE *PSGetShaderResources)(
3389        ID3D11DeviceContext4 *This,
3390        UINT StartSlot,
3391        UINT NumViews,
3392        ID3D11ShaderResourceView **ppShaderResourceViews);
3393
3394    void (STDMETHODCALLTYPE *PSGetShader)(
3395        ID3D11DeviceContext4 *This,
3396        ID3D11PixelShader **ppPixelShader,
3397        ID3D11ClassInstance **ppClassInstances,
3398        UINT *pNumClassInstances);
3399
3400    void (STDMETHODCALLTYPE *PSGetSamplers)(
3401        ID3D11DeviceContext4 *This,
3402        UINT StartSlot,
3403        UINT NumSamplers,
3404        ID3D11SamplerState **ppSamplers);
3405
3406    void (STDMETHODCALLTYPE *VSGetShader)(
3407        ID3D11DeviceContext4 *This,
3408        ID3D11VertexShader **ppVertexShader,
3409        ID3D11ClassInstance **ppClassInstances,
3410        UINT *pNumClassInstances);
3411
3412    void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
3413        ID3D11DeviceContext4 *This,
3414        UINT StartSlot,
3415        UINT NumBuffers,
3416        ID3D11Buffer **ppConstantBuffers);
3417
3418    void (STDMETHODCALLTYPE *IAGetInputLayout)(
3419        ID3D11DeviceContext4 *This,
3420        ID3D11InputLayout **ppInputLayout);
3421
3422    void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
3423        ID3D11DeviceContext4 *This,
3424        UINT StartSlot,
3425        UINT NumBuffers,
3426        ID3D11Buffer **ppVertexBuffers,
3427        UINT *pStrides,
3428        UINT *pOffsets);
3429
3430    void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
3431        ID3D11DeviceContext4 *This,
3432        ID3D11Buffer **pIndexBuffer,
3433        DXGI_FORMAT *Format,
3434        UINT *Offset);
3435
3436    void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
3437        ID3D11DeviceContext4 *This,
3438        UINT StartSlot,
3439        UINT NumBuffers,
3440        ID3D11Buffer **ppConstantBuffers);
3441
3442    void (STDMETHODCALLTYPE *GSGetShader)(
3443        ID3D11DeviceContext4 *This,
3444        ID3D11GeometryShader **ppGeometryShader,
3445        ID3D11ClassInstance **ppClassInstances,
3446        UINT *pNumClassInstances);
3447
3448    void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
3449        ID3D11DeviceContext4 *This,
3450        D3D11_PRIMITIVE_TOPOLOGY *pTopology);
3451
3452    void (STDMETHODCALLTYPE *VSGetShaderResources)(
3453        ID3D11DeviceContext4 *This,
3454        UINT StartSlot,
3455        UINT NumViews,
3456        ID3D11ShaderResourceView **ppShaderResourceViews);
3457
3458    void (STDMETHODCALLTYPE *VSGetSamplers)(
3459        ID3D11DeviceContext4 *This,
3460        UINT StartSlot,
3461        UINT NumSamplers,
3462        ID3D11SamplerState **ppSamplers);
3463
3464    void (STDMETHODCALLTYPE *GetPredication)(
3465        ID3D11DeviceContext4 *This,
3466        ID3D11Predicate **ppPredicate,
3467        WINBOOL *pPredicateValue);
3468
3469    void (STDMETHODCALLTYPE *GSGetShaderResources)(
3470        ID3D11DeviceContext4 *This,
3471        UINT StartSlot,
3472        UINT NumViews,
3473        ID3D11ShaderResourceView **ppShaderResourceViews);
3474
3475    void (STDMETHODCALLTYPE *GSGetSamplers)(
3476        ID3D11DeviceContext4 *This,
3477        UINT StartSlot,
3478        UINT NumSamplers,
3479        ID3D11SamplerState **ppSamplers);
3480
3481    void (STDMETHODCALLTYPE *OMGetRenderTargets)(
3482        ID3D11DeviceContext4 *This,
3483        UINT NumViews,
3484        ID3D11RenderTargetView **ppRenderTargetViews,
3485        ID3D11DepthStencilView **ppDepthStencilView);
3486
3487    void (STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews)(
3488        ID3D11DeviceContext4 *This,
3489        UINT NumRTVs,
3490        ID3D11RenderTargetView **ppRenderTargetViews,
3491        ID3D11DepthStencilView **ppDepthStencilView,
3492        UINT UAVStartSlot,
3493        UINT NumUAVs,
3494        ID3D11UnorderedAccessView **ppUnorderedAccessViews);
3495
3496    void (STDMETHODCALLTYPE *OMGetBlendState)(
3497        ID3D11DeviceContext4 *This,
3498        ID3D11BlendState **ppBlendState,
3499        FLOAT BlendFactor[4],
3500        UINT *pSampleMask);
3501
3502    void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
3503        ID3D11DeviceContext4 *This,
3504        ID3D11DepthStencilState **ppDepthStencilState,
3505        UINT *pStencilRef);
3506
3507    void (STDMETHODCALLTYPE *SOGetTargets)(
3508        ID3D11DeviceContext4 *This,
3509        UINT NumBuffers,
3510        ID3D11Buffer **ppSOTargets);
3511
3512    void (STDMETHODCALLTYPE *RSGetState)(
3513        ID3D11DeviceContext4 *This,
3514        ID3D11RasterizerState **ppRasterizerState);
3515
3516    void (STDMETHODCALLTYPE *RSGetViewports)(
3517        ID3D11DeviceContext4 *This,
3518        UINT *pNumViewports,
3519        D3D11_VIEWPORT *pViewports);
3520
3521    void (STDMETHODCALLTYPE *RSGetScissorRects)(
3522        ID3D11DeviceContext4 *This,
3523        UINT *pNumRects,
3524        D3D11_RECT *pRects);
3525
3526    void (STDMETHODCALLTYPE *HSGetShaderResources)(
3527        ID3D11DeviceContext4 *This,
3528        UINT StartSlot,
3529        UINT NumViews,
3530        ID3D11ShaderResourceView **ppShaderResourceViews);
3531
3532    void (STDMETHODCALLTYPE *HSGetShader)(
3533        ID3D11DeviceContext4 *This,
3534        ID3D11HullShader **ppHullShader,
3535        ID3D11ClassInstance **ppClassInstances,
3536        UINT *pNumClassInstances);
3537
3538    void (STDMETHODCALLTYPE *HSGetSamplers)(
3539        ID3D11DeviceContext4 *This,
3540        UINT StartSlot,
3541        UINT NumSamplers,
3542        ID3D11SamplerState **ppSamplers);
3543
3544    void (STDMETHODCALLTYPE *HSGetConstantBuffers)(
3545        ID3D11DeviceContext4 *This,
3546        UINT StartSlot,
3547        UINT NumBuffers,
3548        ID3D11Buffer **ppConstantBuffers);
3549
3550    void (STDMETHODCALLTYPE *DSGetShaderResources)(
3551        ID3D11DeviceContext4 *This,
3552        UINT StartSlot,
3553        UINT NumViews,
3554        ID3D11ShaderResourceView **ppShaderResourceViews);
3555
3556    void (STDMETHODCALLTYPE *DSGetShader)(
3557        ID3D11DeviceContext4 *This,
3558        ID3D11DomainShader **ppDomainShader,
3559        ID3D11ClassInstance **ppClassInstances,
3560        UINT *pNumClassInstances);
3561
3562    void (STDMETHODCALLTYPE *DSGetSamplers)(
3563        ID3D11DeviceContext4 *This,
3564        UINT StartSlot,
3565        UINT NumSamplers,
3566        ID3D11SamplerState **ppSamplers);
3567
3568    void (STDMETHODCALLTYPE *DSGetConstantBuffers)(
3569        ID3D11DeviceContext4 *This,
3570        UINT StartSlot,
3571        UINT NumBuffers,
3572        ID3D11Buffer **ppConstantBuffers);
3573
3574    void (STDMETHODCALLTYPE *CSGetShaderResources)(
3575        ID3D11DeviceContext4 *This,
3576        UINT StartSlot,
3577        UINT NumViews,
3578        ID3D11ShaderResourceView **ppShaderResourceViews);
3579
3580    void (STDMETHODCALLTYPE *CSGetUnorderedAccessViews)(
3581        ID3D11DeviceContext4 *This,
3582        UINT StartSlot,
3583        UINT NumUAVs,
3584        ID3D11UnorderedAccessView **ppUnorderedAccessViews);
3585
3586    void (STDMETHODCALLTYPE *CSGetShader)(
3587        ID3D11DeviceContext4 *This,
3588        ID3D11ComputeShader **ppComputeShader,
3589        ID3D11ClassInstance **ppClassInstances,
3590        UINT *pNumClassInstances);
3591
3592    void (STDMETHODCALLTYPE *CSGetSamplers)(
3593        ID3D11DeviceContext4 *This,
3594        UINT StartSlot,
3595        UINT NumSamplers,
3596        ID3D11SamplerState **ppSamplers);
3597
3598    void (STDMETHODCALLTYPE *CSGetConstantBuffers)(
3599        ID3D11DeviceContext4 *This,
3600        UINT StartSlot,
3601        UINT NumBuffers,
3602        ID3D11Buffer **ppConstantBuffers);
3603
3604    void (STDMETHODCALLTYPE *ClearState)(
3605        ID3D11DeviceContext4 *This);
3606
3607    void (STDMETHODCALLTYPE *Flush)(
3608        ID3D11DeviceContext4 *This);
3609
3610    D3D11_DEVICE_CONTEXT_TYPE (STDMETHODCALLTYPE *GetType)(
3611        ID3D11DeviceContext4 *This);
3612
3613    UINT (STDMETHODCALLTYPE *GetContextFlags)(
3614        ID3D11DeviceContext4 *This);
3615
3616    HRESULT (STDMETHODCALLTYPE *FinishCommandList)(
3617        ID3D11DeviceContext4 *This,
3618        WINBOOL RestoreDeferredContextState,
3619        ID3D11CommandList **ppCommandList);
3620
3621    /*** ID3D11DeviceContext1 methods ***/
3622    void (STDMETHODCALLTYPE *CopySubresourceRegion1)(
3623        ID3D11DeviceContext4 *This,
3624        ID3D11Resource *pDstResource,
3625        UINT DstSubresource,
3626        UINT DstX,
3627        UINT DstY,
3628        UINT DstZ,
3629        ID3D11Resource *pSrcResource,
3630        UINT SrcSubresource,
3631        const D3D11_BOX *pSrcBox,
3632        UINT CopyFlags);
3633
3634    void (STDMETHODCALLTYPE *UpdateSubresource1)(
3635        ID3D11DeviceContext4 *This,
3636        ID3D11Resource *pDstResource,
3637        UINT DstSubresource,
3638        const D3D11_BOX *pDstBox,
3639        const void *pSrcData,
3640        UINT SrcRowPitch,
3641        UINT SrcDepthPitch,
3642        UINT CopyFlags);
3643
3644    void (STDMETHODCALLTYPE *DiscardResource)(
3645        ID3D11DeviceContext4 *This,
3646        ID3D11Resource *pResource);
3647
3648    void (STDMETHODCALLTYPE *DiscardView)(
3649        ID3D11DeviceContext4 *This,
3650        ID3D11View *pResourceView);
3651
3652    void (STDMETHODCALLTYPE *VSSetConstantBuffers1)(
3653        ID3D11DeviceContext4 *This,
3654        UINT StartSlot,
3655        UINT NumBuffers,
3656        ID3D11Buffer *const *ppConstantBuffers,
3657        const UINT *pFirstConstant,
3658        const UINT *pNumConstants);
3659
3660    void (STDMETHODCALLTYPE *HSSetConstantBuffers1)(
3661        ID3D11DeviceContext4 *This,
3662        UINT StartSlot,
3663        UINT NumBuffers,
3664        ID3D11Buffer *const *ppConstantBuffers,
3665        const UINT *pFirstConstant,
3666        const UINT *pNumConstants);
3667
3668    void (STDMETHODCALLTYPE *DSSetConstantBuffers1)(
3669        ID3D11DeviceContext4 *This,
3670        UINT StartSlot,
3671        UINT NumBuffers,
3672        ID3D11Buffer *const *ppConstantBuffers,
3673        const UINT *pFirstConstant,
3674        const UINT *pNumConstants);
3675
3676    void (STDMETHODCALLTYPE *GSSetConstantBuffers1)(
3677        ID3D11DeviceContext4 *This,
3678        UINT StartSlot,
3679        UINT NumBuffers,
3680        ID3D11Buffer *const *ppConstantBuffers,
3681        const UINT *pFirstConstant,
3682        const UINT *pNumConstants);
3683
3684    void (STDMETHODCALLTYPE *PSSetConstantBuffers1)(
3685        ID3D11DeviceContext4 *This,
3686        UINT StartSlot,
3687        UINT NumBuffers,
3688        ID3D11Buffer *const *ppConstantBuffers,
3689        const UINT *pFirstConstant,
3690        const UINT *pNumConstants);
3691
3692    void (STDMETHODCALLTYPE *CSSetConstantBuffers1)(
3693        ID3D11DeviceContext4 *This,
3694        UINT StartSlot,
3695        UINT NumBuffers,
3696        ID3D11Buffer *const *ppConstantBuffers,
3697        const UINT *pFirstConstant,
3698        const UINT *pNumConstants);
3699
3700    void (STDMETHODCALLTYPE *VSGetConstantBuffers1)(
3701        ID3D11DeviceContext4 *This,
3702        UINT StartSlot,
3703        UINT NumBuffers,
3704        ID3D11Buffer **ppConstantBuffers,
3705        UINT *pFirstConstant,
3706        UINT *pNumConstants);
3707
3708    void (STDMETHODCALLTYPE *HSGetConstantBuffers1)(
3709        ID3D11DeviceContext4 *This,
3710        UINT StartSlot,
3711        UINT NumBuffers,
3712        ID3D11Buffer **ppConstantBuffers,
3713        UINT *pFirstConstant,
3714        UINT *pNumConstants);
3715
3716    void (STDMETHODCALLTYPE *DSGetConstantBuffers1)(
3717        ID3D11DeviceContext4 *This,
3718        UINT StartSlot,
3719        UINT NumBuffers,
3720        ID3D11Buffer **ppConstantBuffers,
3721        UINT *pFirstConstant,
3722        UINT *pNumConstants);
3723
3724    void (STDMETHODCALLTYPE *GSGetConstantBuffers1)(
3725        ID3D11DeviceContext4 *This,
3726        UINT StartSlot,
3727        UINT NumBuffers,
3728        ID3D11Buffer **ppConstantBuffers,
3729        UINT *pFirstConstant,
3730        UINT *pNumConstants);
3731
3732    void (STDMETHODCALLTYPE *PSGetConstantBuffers1)(
3733        ID3D11DeviceContext4 *This,
3734        UINT StartSlot,
3735        UINT NumBuffers,
3736        ID3D11Buffer **ppConstantBuffers,
3737        UINT *pFirstConstant,
3738        UINT *pNumConstants);
3739
3740    void (STDMETHODCALLTYPE *CSGetConstantBuffers1)(
3741        ID3D11DeviceContext4 *This,
3742        UINT StartSlot,
3743        UINT NumBuffers,
3744        ID3D11Buffer **ppConstantBuffers,
3745        UINT *pFirstConstant,
3746        UINT *pNumConstants);
3747
3748    void (STDMETHODCALLTYPE *SwapDeviceContextState)(
3749        ID3D11DeviceContext4 *This,
3750        ID3DDeviceContextState *pState,
3751        ID3DDeviceContextState **ppPreviousState);
3752
3753    void (STDMETHODCALLTYPE *ClearView)(
3754        ID3D11DeviceContext4 *This,
3755        ID3D11View *pView,
3756        const FLOAT Color[4],
3757        const D3D11_RECT *pRect,
3758        UINT NumRects);
3759
3760    void (STDMETHODCALLTYPE *DiscardView1)(
3761        ID3D11DeviceContext4 *This,
3762        ID3D11View *pResourceView,
3763        const D3D11_RECT *pRects,
3764        UINT NumRects);
3765
3766    /*** ID3D11DeviceContext2 methods ***/
3767    HRESULT (STDMETHODCALLTYPE *UpdateTileMappings)(
3768        ID3D11DeviceContext4 *This,
3769        ID3D11Resource *resource,
3770        UINT region_count,
3771        const D3D11_TILED_RESOURCE_COORDINATE *region_start_coordinates,
3772        const D3D11_TILE_REGION_SIZE *region_sizes,
3773        ID3D11Buffer *pool,
3774        UINT range_count,
3775        const UINT *range_flags,
3776        const UINT *pool_start_offsets,
3777        const UINT *range_tile_counts,
3778        UINT flags);
3779
3780    HRESULT (STDMETHODCALLTYPE *CopyTileMappings)(
3781        ID3D11DeviceContext4 *This,
3782        ID3D11Resource *dst_resource,
3783        const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
3784        ID3D11Resource *src_resource,
3785        const D3D11_TILED_RESOURCE_COORDINATE *src_start_coordinate,
3786        const D3D11_TILE_REGION_SIZE *region_size,
3787        UINT flags);
3788
3789    void (STDMETHODCALLTYPE *CopyTiles)(
3790        ID3D11DeviceContext4 *This,
3791        ID3D11Resource *resource,
3792        const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,
3793        const D3D11_TILE_REGION_SIZE *size,
3794        ID3D11Buffer *buffer,
3795        UINT64 start_offset,
3796        UINT flags);
3797
3798    void (STDMETHODCALLTYPE *UpdateTiles)(
3799        ID3D11DeviceContext4 *This,
3800        ID3D11Resource *dst_resource,
3801        const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
3802        const D3D11_TILE_REGION_SIZE *dst_region_size,
3803        const void *src_data,
3804        UINT flags);
3805
3806    HRESULT (STDMETHODCALLTYPE *ResizeTilePool)(
3807        ID3D11DeviceContext4 *This,
3808        ID3D11Buffer *pool,
3809        UINT64 size);
3810
3811    void (STDMETHODCALLTYPE *TiledResourceBarrier)(
3812        ID3D11DeviceContext4 *This,
3813        ID3D11DeviceChild *before_barrier,
3814        ID3D11DeviceChild *after_barrier);
3815
3816    WINBOOL (STDMETHODCALLTYPE *IsAnnotationEnabled)(
3817        ID3D11DeviceContext4 *This);
3818
3819    void (STDMETHODCALLTYPE *SetMarkerInt)(
3820        ID3D11DeviceContext4 *This,
3821        const WCHAR *label,
3822        int data);
3823
3824    void (STDMETHODCALLTYPE *BeginEventInt)(
3825        ID3D11DeviceContext4 *This,
3826        const WCHAR *label,
3827        int data);
3828
3829    void (STDMETHODCALLTYPE *EndEvent)(
3830        ID3D11DeviceContext4 *This);
3831
3832    /*** ID3D11DeviceContext3 methods ***/
3833    void (STDMETHODCALLTYPE *Flush1)(
3834        ID3D11DeviceContext4 *This,
3835        D3D11_CONTEXT_TYPE type,
3836        HANDLE event);
3837
3838    void (STDMETHODCALLTYPE *SetHardwareProtectionState)(
3839        ID3D11DeviceContext4 *This,
3840        WINBOOL enable);
3841
3842    void (STDMETHODCALLTYPE *GetHardwareProtectionState)(
3843        ID3D11DeviceContext4 *This,
3844        WINBOOL *enable);
3845
3846    /*** ID3D11DeviceContext4 methods ***/
3847    HRESULT (STDMETHODCALLTYPE *Signal)(
3848        ID3D11DeviceContext4 *This,
3849        ID3D11Fence *fence,
3850        UINT64 value);
3851
3852    HRESULT (STDMETHODCALLTYPE *Wait)(
3853        ID3D11DeviceContext4 *This,
3854        ID3D11Fence *fence,
3855        UINT64 value);
3856
3857    END_INTERFACE
3858} ID3D11DeviceContext4Vtbl;
3859
3860interface ID3D11DeviceContext4 {
3861    CONST_VTBL ID3D11DeviceContext4Vtbl* lpVtbl;
3862};
3863
3864#ifdef COBJMACROS
3865#ifndef WIDL_C_INLINE_WRAPPERS
3866/*** IUnknown methods ***/
3867#define ID3D11DeviceContext4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3868#define ID3D11DeviceContext4_AddRef(This) (This)->lpVtbl->AddRef(This)
3869#define ID3D11DeviceContext4_Release(This) (This)->lpVtbl->Release(This)
3870/*** ID3D11DeviceChild methods ***/
3871#define ID3D11DeviceContext4_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
3872#define ID3D11DeviceContext4_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
3873#define ID3D11DeviceContext4_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
3874#define ID3D11DeviceContext4_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
3875/*** ID3D11DeviceContext methods ***/
3876#define ID3D11DeviceContext4_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3877#define ID3D11DeviceContext4_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3878#define ID3D11DeviceContext4_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances)
3879#define ID3D11DeviceContext4_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3880#define ID3D11DeviceContext4_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances)
3881#define ID3D11DeviceContext4_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
3882#define ID3D11DeviceContext4_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
3883#define ID3D11DeviceContext4_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) (This)->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource)
3884#define ID3D11DeviceContext4_Unmap(This,pResource,Subresource) (This)->lpVtbl->Unmap(This,pResource,Subresource)
3885#define ID3D11DeviceContext4_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3886#define ID3D11DeviceContext4_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
3887#define ID3D11DeviceContext4_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
3888#define ID3D11DeviceContext4_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
3889#define ID3D11DeviceContext4_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
3890#define ID3D11DeviceContext4_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
3891#define ID3D11DeviceContext4_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3892#define ID3D11DeviceContext4_GSSetShader(This,pShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances)
3893#define ID3D11DeviceContext4_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
3894#define ID3D11DeviceContext4_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3895#define ID3D11DeviceContext4_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3896#define ID3D11DeviceContext4_Begin(This,pAsync) (This)->lpVtbl->Begin(This,pAsync)
3897#define ID3D11DeviceContext4_End(This,pAsync) (This)->lpVtbl->End(This,pAsync)
3898#define ID3D11DeviceContext4_GetData(This,pAsync,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags)
3899#define ID3D11DeviceContext4_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
3900#define ID3D11DeviceContext4_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3901#define ID3D11DeviceContext4_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3902#define ID3D11DeviceContext4_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
3903#define ID3D11DeviceContext4_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
3904#define ID3D11DeviceContext4_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
3905#define ID3D11DeviceContext4_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
3906#define ID3D11DeviceContext4_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
3907#define ID3D11DeviceContext4_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
3908#define ID3D11DeviceContext4_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
3909#define ID3D11DeviceContext4_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
3910#define ID3D11DeviceContext4_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) (This)->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)
3911#define ID3D11DeviceContext4_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
3912#define ID3D11DeviceContext4_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
3913#define ID3D11DeviceContext4_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
3914#define ID3D11DeviceContext4_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
3915#define ID3D11DeviceContext4_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
3916#define ID3D11DeviceContext4_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
3917#define ID3D11DeviceContext4_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
3918#define ID3D11DeviceContext4_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) (This)->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView)
3919#define ID3D11DeviceContext4_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
3920#define ID3D11DeviceContext4_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values)
3921#define ID3D11DeviceContext4_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values)
3922#define ID3D11DeviceContext4_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
3923#define ID3D11DeviceContext4_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
3924#define ID3D11DeviceContext4_SetResourceMinLOD(This,pResource,MinLOD) (This)->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD)
3925#define ID3D11DeviceContext4_GetResourceMinLOD(This,pResource) (This)->lpVtbl->GetResourceMinLOD(This,pResource)
3926#define ID3D11DeviceContext4_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
3927#define ID3D11DeviceContext4_ExecuteCommandList(This,pCommandList,RestoreContextState) (This)->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState)
3928#define ID3D11DeviceContext4_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3929#define ID3D11DeviceContext4_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances)
3930#define ID3D11DeviceContext4_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3931#define ID3D11DeviceContext4_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3932#define ID3D11DeviceContext4_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3933#define ID3D11DeviceContext4_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances)
3934#define ID3D11DeviceContext4_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3935#define ID3D11DeviceContext4_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3936#define ID3D11DeviceContext4_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3937#define ID3D11DeviceContext4_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
3938#define ID3D11DeviceContext4_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances)
3939#define ID3D11DeviceContext4_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3940#define ID3D11DeviceContext4_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3941#define ID3D11DeviceContext4_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3942#define ID3D11DeviceContext4_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3943#define ID3D11DeviceContext4_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances)
3944#define ID3D11DeviceContext4_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3945#define ID3D11DeviceContext4_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances)
3946#define ID3D11DeviceContext4_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3947#define ID3D11DeviceContext4_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
3948#define ID3D11DeviceContext4_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
3949#define ID3D11DeviceContext4_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
3950#define ID3D11DeviceContext4_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3951#define ID3D11DeviceContext4_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances)
3952#define ID3D11DeviceContext4_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
3953#define ID3D11DeviceContext4_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3954#define ID3D11DeviceContext4_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3955#define ID3D11DeviceContext4_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
3956#define ID3D11DeviceContext4_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3957#define ID3D11DeviceContext4_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3958#define ID3D11DeviceContext4_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
3959#define ID3D11DeviceContext4_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews)
3960#define ID3D11DeviceContext4_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
3961#define ID3D11DeviceContext4_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
3962#define ID3D11DeviceContext4_SOGetTargets(This,NumBuffers,ppSOTargets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets)
3963#define ID3D11DeviceContext4_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
3964#define ID3D11DeviceContext4_RSGetViewports(This,pNumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,pNumViewports,pViewports)
3965#define ID3D11DeviceContext4_RSGetScissorRects(This,pNumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,pNumRects,pRects)
3966#define ID3D11DeviceContext4_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3967#define ID3D11DeviceContext4_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances)
3968#define ID3D11DeviceContext4_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3969#define ID3D11DeviceContext4_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3970#define ID3D11DeviceContext4_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3971#define ID3D11DeviceContext4_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances)
3972#define ID3D11DeviceContext4_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3973#define ID3D11DeviceContext4_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3974#define ID3D11DeviceContext4_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
3975#define ID3D11DeviceContext4_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews)
3976#define ID3D11DeviceContext4_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances)
3977#define ID3D11DeviceContext4_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
3978#define ID3D11DeviceContext4_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
3979#define ID3D11DeviceContext4_ClearState(This) (This)->lpVtbl->ClearState(This)
3980#define ID3D11DeviceContext4_Flush(This) (This)->lpVtbl->Flush(This)
3981#define ID3D11DeviceContext4_GetType(This) (This)->lpVtbl->GetType(This)
3982#define ID3D11DeviceContext4_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
3983#define ID3D11DeviceContext4_FinishCommandList(This,RestoreDeferredContextState,ppCommandList) (This)->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList)
3984/*** ID3D11DeviceContext1 methods ***/
3985#define ID3D11DeviceContext4_CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags) (This)->lpVtbl->CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags)
3986#define ID3D11DeviceContext4_UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags) (This)->lpVtbl->UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags)
3987#define ID3D11DeviceContext4_DiscardResource(This,pResource) (This)->lpVtbl->DiscardResource(This,pResource)
3988#define ID3D11DeviceContext4_DiscardView(This,pResourceView) (This)->lpVtbl->DiscardView(This,pResourceView)
3989#define ID3D11DeviceContext4_VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3990#define ID3D11DeviceContext4_HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3991#define ID3D11DeviceContext4_DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3992#define ID3D11DeviceContext4_GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3993#define ID3D11DeviceContext4_PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3994#define ID3D11DeviceContext4_CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3995#define ID3D11DeviceContext4_VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3996#define ID3D11DeviceContext4_HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3997#define ID3D11DeviceContext4_DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3998#define ID3D11DeviceContext4_GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
3999#define ID3D11DeviceContext4_PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
4000#define ID3D11DeviceContext4_CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants) (This)->lpVtbl->CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants)
4001#define ID3D11DeviceContext4_SwapDeviceContextState(This,pState,ppPreviousState) (This)->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState)
4002#define ID3D11DeviceContext4_ClearView(This,pView,Color,pRect,NumRects) (This)->lpVtbl->ClearView(This,pView,Color,pRect,NumRects)
4003#define ID3D11DeviceContext4_DiscardView1(This,pResourceView,pRects,NumRects) (This)->lpVtbl->DiscardView1(This,pResourceView,pRects,NumRects)
4004/*** ID3D11DeviceContext2 methods ***/
4005#define ID3D11DeviceContext4_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)
4006#define ID3D11DeviceContext4_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)
4007#define ID3D11DeviceContext4_CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags) (This)->lpVtbl->CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags)
4008#define ID3D11DeviceContext4_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)
4009#define ID3D11DeviceContext4_ResizeTilePool(This,pool,size) (This)->lpVtbl->ResizeTilePool(This,pool,size)
4010#define ID3D11DeviceContext4_TiledResourceBarrier(This,before_barrier,after_barrier) (This)->lpVtbl->TiledResourceBarrier(This,before_barrier,after_barrier)
4011#define ID3D11DeviceContext4_IsAnnotationEnabled(This) (This)->lpVtbl->IsAnnotationEnabled(This)
4012#define ID3D11DeviceContext4_SetMarkerInt(This,label,data) (This)->lpVtbl->SetMarkerInt(This,label,data)
4013#define ID3D11DeviceContext4_BeginEventInt(This,label,data) (This)->lpVtbl->BeginEventInt(This,label,data)
4014#define ID3D11DeviceContext4_EndEvent(This) (This)->lpVtbl->EndEvent(This)
4015/*** ID3D11DeviceContext3 methods ***/
4016#define ID3D11DeviceContext4_Flush1(This,type,event) (This)->lpVtbl->Flush1(This,type,event)
4017#define ID3D11DeviceContext4_SetHardwareProtectionState(This,enable) (This)->lpVtbl->SetHardwareProtectionState(This,enable)
4018#define ID3D11DeviceContext4_GetHardwareProtectionState(This,enable) (This)->lpVtbl->GetHardwareProtectionState(This,enable)
4019/*** ID3D11DeviceContext4 methods ***/
4020#define ID3D11DeviceContext4_Signal(This,fence,value) (This)->lpVtbl->Signal(This,fence,value)
4021#define ID3D11DeviceContext4_Wait(This,fence,value) (This)->lpVtbl->Wait(This,fence,value)
4022#else
4023/*** IUnknown methods ***/
4024static inline HRESULT ID3D11DeviceContext4_QueryInterface(ID3D11DeviceContext4* This,REFIID riid,void **ppvObject) {
4025    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4026}
4027static inline ULONG ID3D11DeviceContext4_AddRef(ID3D11DeviceContext4* This) {
4028    return This->lpVtbl->AddRef(This);
4029}
4030static inline ULONG ID3D11DeviceContext4_Release(ID3D11DeviceContext4* This) {
4031    return This->lpVtbl->Release(This);
4032}
4033/*** ID3D11DeviceChild methods ***/
4034static inline void ID3D11DeviceContext4_GetDevice(ID3D11DeviceContext4* This,ID3D11Device **ppDevice) {
4035    This->lpVtbl->GetDevice(This,ppDevice);
4036}
4037static inline HRESULT ID3D11DeviceContext4_GetPrivateData(ID3D11DeviceContext4* This,REFGUID guid,UINT *pDataSize,void *pData) {
4038    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
4039}
4040static inline HRESULT ID3D11DeviceContext4_SetPrivateData(ID3D11DeviceContext4* This,REFGUID guid,UINT DataSize,const void *pData) {
4041    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
4042}
4043static inline HRESULT ID3D11DeviceContext4_SetPrivateDataInterface(ID3D11DeviceContext4* This,REFGUID guid,const IUnknown *pData) {
4044    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
4045}
4046/*** ID3D11DeviceContext methods ***/
4047static inline void ID3D11DeviceContext4_VSSetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
4048    This->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4049}
4050static inline void ID3D11DeviceContext4_PSSetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
4051    This->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4052}
4053static inline void ID3D11DeviceContext4_PSSetShader(ID3D11DeviceContext4* This,ID3D11PixelShader *pPixelShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
4054    This->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances);
4055}
4056static inline void ID3D11DeviceContext4_PSSetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
4057    This->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4058}
4059static inline void ID3D11DeviceContext4_VSSetShader(ID3D11DeviceContext4* This,ID3D11VertexShader *pVertexShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
4060    This->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances);
4061}
4062static inline void ID3D11DeviceContext4_DrawIndexed(ID3D11DeviceContext4* This,UINT IndexCount,UINT StartIndexLocation,INT BaseVertexLocation) {
4063    This->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation);
4064}
4065static inline void ID3D11DeviceContext4_Draw(ID3D11DeviceContext4* This,UINT VertexCount,UINT StartVertexLocation) {
4066    This->lpVtbl->Draw(This,VertexCount,StartVertexLocation);
4067}
4068static inline HRESULT ID3D11DeviceContext4_Map(ID3D11DeviceContext4* This,ID3D11Resource *pResource,UINT Subresource,D3D11_MAP MapType,UINT MapFlags,D3D11_MAPPED_SUBRESOURCE *pMappedResource) {
4069    return This->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource);
4070}
4071static inline void ID3D11DeviceContext4_Unmap(ID3D11DeviceContext4* This,ID3D11Resource *pResource,UINT Subresource) {
4072    This->lpVtbl->Unmap(This,pResource,Subresource);
4073}
4074static inline void ID3D11DeviceContext4_PSSetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
4075    This->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4076}
4077static inline void ID3D11DeviceContext4_IASetInputLayout(ID3D11DeviceContext4* This,ID3D11InputLayout *pInputLayout) {
4078    This->lpVtbl->IASetInputLayout(This,pInputLayout);
4079}
4080static inline void ID3D11DeviceContext4_IASetVertexBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppVertexBuffers,const UINT *pStrides,const UINT *pOffsets) {
4081    This->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
4082}
4083static inline void ID3D11DeviceContext4_IASetIndexBuffer(ID3D11DeviceContext4* This,ID3D11Buffer *pIndexBuffer,DXGI_FORMAT Format,UINT Offset) {
4084    This->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset);
4085}
4086static inline void ID3D11DeviceContext4_DrawIndexedInstanced(ID3D11DeviceContext4* This,UINT IndexCountPerInstance,UINT InstanceCount,UINT StartIndexLocation,INT BaseVertexLocation,UINT StartInstanceLocation) {
4087    This->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation);
4088}
4089static inline void ID3D11DeviceContext4_DrawInstanced(ID3D11DeviceContext4* This,UINT VertexCountPerInstance,UINT InstanceCount,UINT StartVertexLocation,UINT StartInstanceLocation) {
4090    This->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation);
4091}
4092static inline void ID3D11DeviceContext4_GSSetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
4093    This->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4094}
4095static inline void ID3D11DeviceContext4_GSSetShader(ID3D11DeviceContext4* This,ID3D11GeometryShader *pShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
4096    This->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances);
4097}
4098static inline void ID3D11DeviceContext4_IASetPrimitiveTopology(ID3D11DeviceContext4* This,D3D11_PRIMITIVE_TOPOLOGY Topology) {
4099    This->lpVtbl->IASetPrimitiveTopology(This,Topology);
4100}
4101static inline void ID3D11DeviceContext4_VSSetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
4102    This->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4103}
4104static inline void ID3D11DeviceContext4_VSSetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
4105    This->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4106}
4107static inline void ID3D11DeviceContext4_Begin(ID3D11DeviceContext4* This,ID3D11Asynchronous *pAsync) {
4108    This->lpVtbl->Begin(This,pAsync);
4109}
4110static inline void ID3D11DeviceContext4_End(ID3D11DeviceContext4* This,ID3D11Asynchronous *pAsync) {
4111    This->lpVtbl->End(This,pAsync);
4112}
4113static inline HRESULT ID3D11DeviceContext4_GetData(ID3D11DeviceContext4* This,ID3D11Asynchronous *pAsync,void *pData,UINT DataSize,UINT GetDataFlags) {
4114    return This->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags);
4115}
4116static inline void ID3D11DeviceContext4_SetPredication(ID3D11DeviceContext4* This,ID3D11Predicate *pPredicate,WINBOOL PredicateValue) {
4117    This->lpVtbl->SetPredication(This,pPredicate,PredicateValue);
4118}
4119static inline void ID3D11DeviceContext4_GSSetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
4120    This->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4121}
4122static inline void ID3D11DeviceContext4_GSSetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
4123    This->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4124}
4125static inline void ID3D11DeviceContext4_OMSetRenderTargets(ID3D11DeviceContext4* This,UINT NumViews,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView) {
4126    This->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView);
4127}
4128static inline void ID3D11DeviceContext4_OMSetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext4* This,UINT NumRTVs,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
4129    This->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
4130}
4131static inline void ID3D11DeviceContext4_OMSetBlendState(ID3D11DeviceContext4* This,ID3D11BlendState *pBlendState,const FLOAT BlendFactor[4],UINT SampleMask) {
4132    This->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask);
4133}
4134static inline void ID3D11DeviceContext4_OMSetDepthStencilState(ID3D11DeviceContext4* This,ID3D11DepthStencilState *pDepthStencilState,UINT StencilRef) {
4135    This->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef);
4136}
4137static inline void ID3D11DeviceContext4_SOSetTargets(ID3D11DeviceContext4* This,UINT NumBuffers,ID3D11Buffer *const *ppSOTargets,const UINT *pOffsets) {
4138    This->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets);
4139}
4140static inline void ID3D11DeviceContext4_DrawAuto(ID3D11DeviceContext4* This) {
4141    This->lpVtbl->DrawAuto(This);
4142}
4143static inline void ID3D11DeviceContext4_DrawIndexedInstancedIndirect(ID3D11DeviceContext4* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
4144    This->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
4145}
4146static inline void ID3D11DeviceContext4_DrawInstancedIndirect(ID3D11DeviceContext4* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
4147    This->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
4148}
4149static inline void ID3D11DeviceContext4_Dispatch(ID3D11DeviceContext4* This,UINT ThreadGroupCountX,UINT ThreadGroupCountY,UINT ThreadGroupCountZ) {
4150    This->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ);
4151}
4152static inline void ID3D11DeviceContext4_DispatchIndirect(ID3D11DeviceContext4* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
4153    This->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
4154}
4155static inline void ID3D11DeviceContext4_RSSetState(ID3D11DeviceContext4* This,ID3D11RasterizerState *pRasterizerState) {
4156    This->lpVtbl->RSSetState(This,pRasterizerState);
4157}
4158static inline void ID3D11DeviceContext4_RSSetViewports(ID3D11DeviceContext4* This,UINT NumViewports,const D3D11_VIEWPORT *pViewports) {
4159    This->lpVtbl->RSSetViewports(This,NumViewports,pViewports);
4160}
4161static inline void ID3D11DeviceContext4_RSSetScissorRects(ID3D11DeviceContext4* This,UINT NumRects,const D3D11_RECT *pRects) {
4162    This->lpVtbl->RSSetScissorRects(This,NumRects,pRects);
4163}
4164static inline void ID3D11DeviceContext4_CopySubresourceRegion(ID3D11DeviceContext4* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox) {
4165    This->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox);
4166}
4167static inline void ID3D11DeviceContext4_CopyResource(ID3D11DeviceContext4* This,ID3D11Resource *pDstResource,ID3D11Resource *pSrcResource) {
4168    This->lpVtbl->CopyResource(This,pDstResource,pSrcResource);
4169}
4170static inline void ID3D11DeviceContext4_UpdateSubresource(ID3D11DeviceContext4* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch) {
4171    This->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch);
4172}
4173static inline void ID3D11DeviceContext4_CopyStructureCount(ID3D11DeviceContext4* This,ID3D11Buffer *pDstBuffer,UINT DstAlignedByteOffset,ID3D11UnorderedAccessView *pSrcView) {
4174    This->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView);
4175}
4176static inline void ID3D11DeviceContext4_ClearRenderTargetView(ID3D11DeviceContext4* This,ID3D11RenderTargetView *pRenderTargetView,const FLOAT ColorRGBA[4]) {
4177    This->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA);
4178}
4179static inline void ID3D11DeviceContext4_ClearUnorderedAccessViewUint(ID3D11DeviceContext4* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const UINT Values[4]) {
4180    This->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values);
4181}
4182static inline void ID3D11DeviceContext4_ClearUnorderedAccessViewFloat(ID3D11DeviceContext4* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const FLOAT Values[4]) {
4183    This->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values);
4184}
4185static inline void ID3D11DeviceContext4_ClearDepthStencilView(ID3D11DeviceContext4* This,ID3D11DepthStencilView *pDepthStencilView,UINT ClearFlags,FLOAT Depth,UINT8 Stencil) {
4186    This->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil);
4187}
4188static inline void ID3D11DeviceContext4_GenerateMips(ID3D11DeviceContext4* This,ID3D11ShaderResourceView *pShaderResourceView) {
4189    This->lpVtbl->GenerateMips(This,pShaderResourceView);
4190}
4191static inline void ID3D11DeviceContext4_SetResourceMinLOD(ID3D11DeviceContext4* This,ID3D11Resource *pResource,FLOAT MinLOD) {
4192    This->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD);
4193}
4194static inline FLOAT ID3D11DeviceContext4_GetResourceMinLOD(ID3D11DeviceContext4* This,ID3D11Resource *pResource) {
4195    return This->lpVtbl->GetResourceMinLOD(This,pResource);
4196}
4197static inline void ID3D11DeviceContext4_ResolveSubresource(ID3D11DeviceContext4* This,ID3D11Resource *pDstResource,UINT DstSubresource,ID3D11Resource *pSrcResource,UINT SrcSubresource,DXGI_FORMAT Format) {
4198    This->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format);
4199}
4200static inline void ID3D11DeviceContext4_ExecuteCommandList(ID3D11DeviceContext4* This,ID3D11CommandList *pCommandList,WINBOOL RestoreContextState) {
4201    This->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState);
4202}
4203static inline void ID3D11DeviceContext4_HSSetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
4204    This->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4205}
4206static inline void ID3D11DeviceContext4_HSSetShader(ID3D11DeviceContext4* This,ID3D11HullShader *pHullShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
4207    This->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances);
4208}
4209static inline void ID3D11DeviceContext4_HSSetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
4210    This->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4211}
4212static inline void ID3D11DeviceContext4_HSSetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
4213    This->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4214}
4215static inline void ID3D11DeviceContext4_DSSetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
4216    This->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4217}
4218static inline void ID3D11DeviceContext4_DSSetShader(ID3D11DeviceContext4* This,ID3D11DomainShader *pDomainShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
4219    This->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances);
4220}
4221static inline void ID3D11DeviceContext4_DSSetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
4222    This->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4223}
4224static inline void ID3D11DeviceContext4_DSSetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
4225    This->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4226}
4227static inline void ID3D11DeviceContext4_CSSetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
4228    This->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4229}
4230static inline void ID3D11DeviceContext4_CSSetUnorderedAccessViews(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
4231    This->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
4232}
4233static inline void ID3D11DeviceContext4_CSSetShader(ID3D11DeviceContext4* This,ID3D11ComputeShader *pComputeShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
4234    This->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances);
4235}
4236static inline void ID3D11DeviceContext4_CSSetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
4237    This->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4238}
4239static inline void ID3D11DeviceContext4_CSSetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
4240    This->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4241}
4242static inline void ID3D11DeviceContext4_VSGetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
4243    This->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4244}
4245static inline void ID3D11DeviceContext4_PSGetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
4246    This->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4247}
4248static inline void ID3D11DeviceContext4_PSGetShader(ID3D11DeviceContext4* This,ID3D11PixelShader **ppPixelShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
4249    This->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances);
4250}
4251static inline void ID3D11DeviceContext4_PSGetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
4252    This->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4253}
4254static inline void ID3D11DeviceContext4_VSGetShader(ID3D11DeviceContext4* This,ID3D11VertexShader **ppVertexShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
4255    This->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances);
4256}
4257static inline void ID3D11DeviceContext4_PSGetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
4258    This->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4259}
4260static inline void ID3D11DeviceContext4_IAGetInputLayout(ID3D11DeviceContext4* This,ID3D11InputLayout **ppInputLayout) {
4261    This->lpVtbl->IAGetInputLayout(This,ppInputLayout);
4262}
4263static inline void ID3D11DeviceContext4_IAGetVertexBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppVertexBuffers,UINT *pStrides,UINT *pOffsets) {
4264    This->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
4265}
4266static inline void ID3D11DeviceContext4_IAGetIndexBuffer(ID3D11DeviceContext4* This,ID3D11Buffer **pIndexBuffer,DXGI_FORMAT *Format,UINT *Offset) {
4267    This->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset);
4268}
4269static inline void ID3D11DeviceContext4_GSGetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
4270    This->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4271}
4272static inline void ID3D11DeviceContext4_GSGetShader(ID3D11DeviceContext4* This,ID3D11GeometryShader **ppGeometryShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
4273    This->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances);
4274}
4275static inline void ID3D11DeviceContext4_IAGetPrimitiveTopology(ID3D11DeviceContext4* This,D3D11_PRIMITIVE_TOPOLOGY *pTopology) {
4276    This->lpVtbl->IAGetPrimitiveTopology(This,pTopology);
4277}
4278static inline void ID3D11DeviceContext4_VSGetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
4279    This->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4280}
4281static inline void ID3D11DeviceContext4_VSGetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
4282    This->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4283}
4284static inline void ID3D11DeviceContext4_GetPredication(ID3D11DeviceContext4* This,ID3D11Predicate **ppPredicate,WINBOOL *pPredicateValue) {
4285    This->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue);
4286}
4287static inline void ID3D11DeviceContext4_GSGetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
4288    This->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4289}
4290static inline void ID3D11DeviceContext4_GSGetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
4291    This->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4292}
4293static inline void ID3D11DeviceContext4_OMGetRenderTargets(ID3D11DeviceContext4* This,UINT NumViews,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView) {
4294    This->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView);
4295}
4296static inline void ID3D11DeviceContext4_OMGetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext4* This,UINT NumRTVs,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
4297    This->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews);
4298}
4299static inline void ID3D11DeviceContext4_OMGetBlendState(ID3D11DeviceContext4* This,ID3D11BlendState **ppBlendState,FLOAT BlendFactor[4],UINT *pSampleMask) {
4300    This->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask);
4301}
4302static inline void ID3D11DeviceContext4_OMGetDepthStencilState(ID3D11DeviceContext4* This,ID3D11DepthStencilState **ppDepthStencilState,UINT *pStencilRef) {
4303    This->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef);
4304}
4305static inline void ID3D11DeviceContext4_SOGetTargets(ID3D11DeviceContext4* This,UINT NumBuffers,ID3D11Buffer **ppSOTargets) {
4306    This->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets);
4307}
4308static inline void ID3D11DeviceContext4_RSGetState(ID3D11DeviceContext4* This,ID3D11RasterizerState **ppRasterizerState) {
4309    This->lpVtbl->RSGetState(This,ppRasterizerState);
4310}
4311static inline void ID3D11DeviceContext4_RSGetViewports(ID3D11DeviceContext4* This,UINT *pNumViewports,D3D11_VIEWPORT *pViewports) {
4312    This->lpVtbl->RSGetViewports(This,pNumViewports,pViewports);
4313}
4314static inline void ID3D11DeviceContext4_RSGetScissorRects(ID3D11DeviceContext4* This,UINT *pNumRects,D3D11_RECT *pRects) {
4315    This->lpVtbl->RSGetScissorRects(This,pNumRects,pRects);
4316}
4317static inline void ID3D11DeviceContext4_HSGetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
4318    This->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4319}
4320static inline void ID3D11DeviceContext4_HSGetShader(ID3D11DeviceContext4* This,ID3D11HullShader **ppHullShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
4321    This->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances);
4322}
4323static inline void ID3D11DeviceContext4_HSGetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
4324    This->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4325}
4326static inline void ID3D11DeviceContext4_HSGetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
4327    This->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4328}
4329static inline void ID3D11DeviceContext4_DSGetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
4330    This->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4331}
4332static inline void ID3D11DeviceContext4_DSGetShader(ID3D11DeviceContext4* This,ID3D11DomainShader **ppDomainShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
4333    This->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances);
4334}
4335static inline void ID3D11DeviceContext4_DSGetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
4336    This->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4337}
4338static inline void ID3D11DeviceContext4_DSGetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
4339    This->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4340}
4341static inline void ID3D11DeviceContext4_CSGetShaderResources(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
4342    This->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
4343}
4344static inline void ID3D11DeviceContext4_CSGetUnorderedAccessViews(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
4345    This->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews);
4346}
4347static inline void ID3D11DeviceContext4_CSGetShader(ID3D11DeviceContext4* This,ID3D11ComputeShader **ppComputeShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
4348    This->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances);
4349}
4350static inline void ID3D11DeviceContext4_CSGetSamplers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
4351    This->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
4352}
4353static inline void ID3D11DeviceContext4_CSGetConstantBuffers(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
4354    This->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
4355}
4356static inline void ID3D11DeviceContext4_ClearState(ID3D11DeviceContext4* This) {
4357    This->lpVtbl->ClearState(This);
4358}
4359static inline void ID3D11DeviceContext4_Flush(ID3D11DeviceContext4* This) {
4360    This->lpVtbl->Flush(This);
4361}
4362static inline D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext4_GetType(ID3D11DeviceContext4* This) {
4363    return This->lpVtbl->GetType(This);
4364}
4365static inline UINT ID3D11DeviceContext4_GetContextFlags(ID3D11DeviceContext4* This) {
4366    return This->lpVtbl->GetContextFlags(This);
4367}
4368static inline HRESULT ID3D11DeviceContext4_FinishCommandList(ID3D11DeviceContext4* This,WINBOOL RestoreDeferredContextState,ID3D11CommandList **ppCommandList) {
4369    return This->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList);
4370}
4371/*** ID3D11DeviceContext1 methods ***/
4372static inline void ID3D11DeviceContext4_CopySubresourceRegion1(ID3D11DeviceContext4* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox,UINT CopyFlags) {
4373    This->lpVtbl->CopySubresourceRegion1(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox,CopyFlags);
4374}
4375static inline void ID3D11DeviceContext4_UpdateSubresource1(ID3D11DeviceContext4* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch,UINT CopyFlags) {
4376    This->lpVtbl->UpdateSubresource1(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch,CopyFlags);
4377}
4378static inline void ID3D11DeviceContext4_DiscardResource(ID3D11DeviceContext4* This,ID3D11Resource *pResource) {
4379    This->lpVtbl->DiscardResource(This,pResource);
4380}
4381static inline void ID3D11DeviceContext4_DiscardView(ID3D11DeviceContext4* This,ID3D11View *pResourceView) {
4382    This->lpVtbl->DiscardView(This,pResourceView);
4383}
4384static inline void ID3D11DeviceContext4_VSSetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
4385    This->lpVtbl->VSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4386}
4387static inline void ID3D11DeviceContext4_HSSetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
4388    This->lpVtbl->HSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4389}
4390static inline void ID3D11DeviceContext4_DSSetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
4391    This->lpVtbl->DSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4392}
4393static inline void ID3D11DeviceContext4_GSSetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
4394    This->lpVtbl->GSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4395}
4396static inline void ID3D11DeviceContext4_PSSetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
4397    This->lpVtbl->PSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4398}
4399static inline void ID3D11DeviceContext4_CSSetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers,const UINT *pFirstConstant,const UINT *pNumConstants) {
4400    This->lpVtbl->CSSetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4401}
4402static inline void ID3D11DeviceContext4_VSGetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
4403    This->lpVtbl->VSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4404}
4405static inline void ID3D11DeviceContext4_HSGetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
4406    This->lpVtbl->HSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4407}
4408static inline void ID3D11DeviceContext4_DSGetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
4409    This->lpVtbl->DSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4410}
4411static inline void ID3D11DeviceContext4_GSGetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
4412    This->lpVtbl->GSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4413}
4414static inline void ID3D11DeviceContext4_PSGetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
4415    This->lpVtbl->PSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4416}
4417static inline void ID3D11DeviceContext4_CSGetConstantBuffers1(ID3D11DeviceContext4* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers,UINT *pFirstConstant,UINT *pNumConstants) {
4418    This->lpVtbl->CSGetConstantBuffers1(This,StartSlot,NumBuffers,ppConstantBuffers,pFirstConstant,pNumConstants);
4419}
4420static inline void ID3D11DeviceContext4_SwapDeviceContextState(ID3D11DeviceContext4* This,ID3DDeviceContextState *pState,ID3DDeviceContextState **ppPreviousState) {
4421    This->lpVtbl->SwapDeviceContextState(This,pState,ppPreviousState);
4422}
4423static inline void ID3D11DeviceContext4_ClearView(ID3D11DeviceContext4* This,ID3D11View *pView,const FLOAT Color[4],const D3D11_RECT *pRect,UINT NumRects) {
4424    This->lpVtbl->ClearView(This,pView,Color,pRect,NumRects);
4425}
4426static inline void ID3D11DeviceContext4_DiscardView1(ID3D11DeviceContext4* This,ID3D11View *pResourceView,const D3D11_RECT *pRects,UINT NumRects) {
4427    This->lpVtbl->DiscardView1(This,pResourceView,pRects,NumRects);
4428}
4429/*** ID3D11DeviceContext2 methods ***/
4430static inline HRESULT ID3D11DeviceContext4_UpdateTileMappings(ID3D11DeviceContext4* 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) {
4431    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);
4432}
4433static inline HRESULT ID3D11DeviceContext4_CopyTileMappings(ID3D11DeviceContext4* 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) {
4434    return This->lpVtbl->CopyTileMappings(This,dst_resource,dst_start_coordinate,src_resource,src_start_coordinate,region_size,flags);
4435}
4436static inline void ID3D11DeviceContext4_CopyTiles(ID3D11DeviceContext4* This,ID3D11Resource *resource,const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,const D3D11_TILE_REGION_SIZE *size,ID3D11Buffer *buffer,UINT64 start_offset,UINT flags) {
4437    This->lpVtbl->CopyTiles(This,resource,start_coordinate,size,buffer,start_offset,flags);
4438}
4439static inline void ID3D11DeviceContext4_UpdateTiles(ID3D11DeviceContext4* 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) {
4440    This->lpVtbl->UpdateTiles(This,dst_resource,dst_start_coordinate,dst_region_size,src_data,flags);
4441}
4442static inline HRESULT ID3D11DeviceContext4_ResizeTilePool(ID3D11DeviceContext4* This,ID3D11Buffer *pool,UINT64 size) {
4443    return This->lpVtbl->ResizeTilePool(This,pool,size);
4444}
4445static inline void ID3D11DeviceContext4_TiledResourceBarrier(ID3D11DeviceContext4* This,ID3D11DeviceChild *before_barrier,ID3D11DeviceChild *after_barrier) {
4446    This->lpVtbl->TiledResourceBarrier(This,before_barrier,after_barrier);
4447}
4448static inline WINBOOL ID3D11DeviceContext4_IsAnnotationEnabled(ID3D11DeviceContext4* This) {
4449    return This->lpVtbl->IsAnnotationEnabled(This);
4450}
4451static inline void ID3D11DeviceContext4_SetMarkerInt(ID3D11DeviceContext4* This,const WCHAR *label,int data) {
4452    This->lpVtbl->SetMarkerInt(This,label,data);
4453}
4454static inline void ID3D11DeviceContext4_BeginEventInt(ID3D11DeviceContext4* This,const WCHAR *label,int data) {
4455    This->lpVtbl->BeginEventInt(This,label,data);
4456}
4457static inline void ID3D11DeviceContext4_EndEvent(ID3D11DeviceContext4* This) {
4458    This->lpVtbl->EndEvent(This);
4459}
4460/*** ID3D11DeviceContext3 methods ***/
4461static inline void ID3D11DeviceContext4_Flush1(ID3D11DeviceContext4* This,D3D11_CONTEXT_TYPE type,HANDLE event) {
4462    This->lpVtbl->Flush1(This,type,event);
4463}
4464static inline void ID3D11DeviceContext4_SetHardwareProtectionState(ID3D11DeviceContext4* This,WINBOOL enable) {
4465    This->lpVtbl->SetHardwareProtectionState(This,enable);
4466}
4467static inline void ID3D11DeviceContext4_GetHardwareProtectionState(ID3D11DeviceContext4* This,WINBOOL *enable) {
4468    This->lpVtbl->GetHardwareProtectionState(This,enable);
4469}
4470/*** ID3D11DeviceContext4 methods ***/
4471static inline HRESULT ID3D11DeviceContext4_Signal(ID3D11DeviceContext4* This,ID3D11Fence *fence,UINT64 value) {
4472    return This->lpVtbl->Signal(This,fence,value);
4473}
4474static inline HRESULT ID3D11DeviceContext4_Wait(ID3D11DeviceContext4* This,ID3D11Fence *fence,UINT64 value) {
4475    return This->lpVtbl->Wait(This,fence,value);
4476}
4477#endif
4478#endif
4479
4480#endif
4481
4482
4483#endif  /* __ID3D11DeviceContext4_INTERFACE_DEFINED__ */
4484
4485/*****************************************************************************
4486 * ID3D11Device3 interface
4487 */
4488#ifndef __ID3D11Device3_INTERFACE_DEFINED__
4489#define __ID3D11Device3_INTERFACE_DEFINED__
4490
4491DEFINE_GUID(IID_ID3D11Device3, 0xa05c8c37, 0xd2c6, 0x4732, 0xb3,0xa0, 0x9c,0xe0,0xb0,0xdc,0x9a,0xe6);
4492#if defined(__cplusplus) && !defined(CINTERFACE)
4493MIDL_INTERFACE("a05c8c37-d2c6-4732-b3a0-9ce0b0dc9ae6")
4494ID3D11Device3 : public ID3D11Device2
4495{
4496    virtual HRESULT STDMETHODCALLTYPE CreateTexture2D1(
4497        const D3D11_TEXTURE2D_DESC1 *desc,
4498        const D3D11_SUBRESOURCE_DATA *initial_data,
4499        ID3D11Texture2D1 **texture) = 0;
4500
4501    virtual HRESULT STDMETHODCALLTYPE CreateTexture3D1(
4502        const D3D11_TEXTURE3D_DESC1 *desc,
4503        const D3D11_SUBRESOURCE_DATA *initial_data,
4504        ID3D11Texture3D1 **texture) = 0;
4505
4506    virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState2(
4507        const D3D11_RASTERIZER_DESC2 *desc,
4508        ID3D11RasterizerState2 **state) = 0;
4509
4510    virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView1(
4511        ID3D11Resource *resource,
4512        const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,
4513        ID3D11ShaderResourceView1 **view) = 0;
4514
4515    virtual HRESULT STDMETHODCALLTYPE CreateUnorderedAccessView1(
4516        ID3D11Resource *resource,
4517        const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,
4518        ID3D11UnorderedAccessView1 **view) = 0;
4519
4520    virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView1(
4521        ID3D11Resource *resource,
4522        const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,
4523        ID3D11RenderTargetView1 **view) = 0;
4524
4525    virtual HRESULT STDMETHODCALLTYPE CreateQuery1(
4526        const D3D11_QUERY_DESC1 *desc,
4527        ID3D11Query1 **query) = 0;
4528
4529    virtual void STDMETHODCALLTYPE GetImmediateContext3(
4530        ID3D11DeviceContext3 **context) = 0;
4531
4532    virtual HRESULT STDMETHODCALLTYPE CreateDeferredContext3(
4533        UINT flags,
4534        ID3D11DeviceContext3 **context) = 0;
4535
4536    virtual void STDMETHODCALLTYPE WriteToSubresource(
4537        ID3D11Resource *dst_resource,
4538        UINT dst_subresource,
4539        const D3D11_BOX *dst_box,
4540        const void *src_data,
4541        UINT src_row_pitch,
4542        UINT src_depth_pitch) = 0;
4543
4544    virtual void STDMETHODCALLTYPE ReadFromSubresource(
4545        void *dst_data,
4546        UINT dst_row_pitch,
4547        UINT dst_depth_pitch,
4548        ID3D11Resource *src_resource,
4549        UINT src_subresource,
4550        const D3D11_BOX *src_box) = 0;
4551
4552};
4553#ifdef __CRT_UUID_DECL
4554__CRT_UUID_DECL(ID3D11Device3, 0xa05c8c37, 0xd2c6, 0x4732, 0xb3,0xa0, 0x9c,0xe0,0xb0,0xdc,0x9a,0xe6)
4555#endif
4556#else
4557typedef struct ID3D11Device3Vtbl {
4558    BEGIN_INTERFACE
4559
4560    /*** IUnknown methods ***/
4561    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4562        ID3D11Device3 *This,
4563        REFIID riid,
4564        void **ppvObject);
4565
4566    ULONG (STDMETHODCALLTYPE *AddRef)(
4567        ID3D11Device3 *This);
4568
4569    ULONG (STDMETHODCALLTYPE *Release)(
4570        ID3D11Device3 *This);
4571
4572    /*** ID3D11Device methods ***/
4573    HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
4574        ID3D11Device3 *This,
4575        const D3D11_BUFFER_DESC *pDesc,
4576        const D3D11_SUBRESOURCE_DATA *pInitialData,
4577        ID3D11Buffer **ppBuffer);
4578
4579    HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
4580        ID3D11Device3 *This,
4581        const D3D11_TEXTURE1D_DESC *pDesc,
4582        const D3D11_SUBRESOURCE_DATA *pInitialData,
4583        ID3D11Texture1D **ppTexture1D);
4584
4585    HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
4586        ID3D11Device3 *This,
4587        const D3D11_TEXTURE2D_DESC *pDesc,
4588        const D3D11_SUBRESOURCE_DATA *pInitialData,
4589        ID3D11Texture2D **ppTexture2D);
4590
4591    HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
4592        ID3D11Device3 *This,
4593        const D3D11_TEXTURE3D_DESC *pDesc,
4594        const D3D11_SUBRESOURCE_DATA *pInitialData,
4595        ID3D11Texture3D **ppTexture3D);
4596
4597    HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
4598        ID3D11Device3 *This,
4599        ID3D11Resource *pResource,
4600        const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
4601        ID3D11ShaderResourceView **ppSRView);
4602
4603    HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
4604        ID3D11Device3 *This,
4605        ID3D11Resource *pResource,
4606        const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
4607        ID3D11UnorderedAccessView **ppUAView);
4608
4609    HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
4610        ID3D11Device3 *This,
4611        ID3D11Resource *pResource,
4612        const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
4613        ID3D11RenderTargetView **ppRTView);
4614
4615    HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
4616        ID3D11Device3 *This,
4617        ID3D11Resource *pResource,
4618        const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
4619        ID3D11DepthStencilView **ppDepthStencilView);
4620
4621    HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
4622        ID3D11Device3 *This,
4623        const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
4624        UINT NumElements,
4625        const void *pShaderBytecodeWithInputSignature,
4626        SIZE_T BytecodeLength,
4627        ID3D11InputLayout **ppInputLayout);
4628
4629    HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
4630        ID3D11Device3 *This,
4631        const void *pShaderBytecode,
4632        SIZE_T BytecodeLength,
4633        ID3D11ClassLinkage *pClassLinkage,
4634        ID3D11VertexShader **ppVertexShader);
4635
4636    HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
4637        ID3D11Device3 *This,
4638        const void *pShaderBytecode,
4639        SIZE_T BytecodeLength,
4640        ID3D11ClassLinkage *pClassLinkage,
4641        ID3D11GeometryShader **ppGeometryShader);
4642
4643    HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
4644        ID3D11Device3 *This,
4645        const void *pShaderBytecode,
4646        SIZE_T BytecodeLength,
4647        const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
4648        UINT NumEntries,
4649        const UINT *pBufferStrides,
4650        UINT NumStrides,
4651        UINT RasterizedStream,
4652        ID3D11ClassLinkage *pClassLinkage,
4653        ID3D11GeometryShader **ppGeometryShader);
4654
4655    HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
4656        ID3D11Device3 *This,
4657        const void *pShaderBytecode,
4658        SIZE_T BytecodeLength,
4659        ID3D11ClassLinkage *pClassLinkage,
4660        ID3D11PixelShader **ppPixelShader);
4661
4662    HRESULT (STDMETHODCALLTYPE *CreateHullShader)(
4663        ID3D11Device3 *This,
4664        const void *pShaderBytecode,
4665        SIZE_T BytecodeLength,
4666        ID3D11ClassLinkage *pClassLinkage,
4667        ID3D11HullShader **ppHullShader);
4668
4669    HRESULT (STDMETHODCALLTYPE *CreateDomainShader)(
4670        ID3D11Device3 *This,
4671        const void *pShaderBytecode,
4672        SIZE_T BytecodeLength,
4673        ID3D11ClassLinkage *pClassLinkage,
4674        ID3D11DomainShader **ppDomainShader);
4675
4676    HRESULT (STDMETHODCALLTYPE *CreateComputeShader)(
4677        ID3D11Device3 *This,
4678        const void *pShaderBytecode,
4679        SIZE_T BytecodeLength,
4680        ID3D11ClassLinkage *pClassLinkage,
4681        ID3D11ComputeShader **ppComputeShader);
4682
4683    HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)(
4684        ID3D11Device3 *This,
4685        ID3D11ClassLinkage **ppLinkage);
4686
4687    HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
4688        ID3D11Device3 *This,
4689        const D3D11_BLEND_DESC *pBlendStateDesc,
4690        ID3D11BlendState **ppBlendState);
4691
4692    HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
4693        ID3D11Device3 *This,
4694        const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
4695        ID3D11DepthStencilState **ppDepthStencilState);
4696
4697    HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
4698        ID3D11Device3 *This,
4699        const D3D11_RASTERIZER_DESC *pRasterizerDesc,
4700        ID3D11RasterizerState **ppRasterizerState);
4701
4702    HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
4703        ID3D11Device3 *This,
4704        const D3D11_SAMPLER_DESC *pSamplerDesc,
4705        ID3D11SamplerState **ppSamplerState);
4706
4707    HRESULT (STDMETHODCALLTYPE *CreateQuery)(
4708        ID3D11Device3 *This,
4709        const D3D11_QUERY_DESC *pQueryDesc,
4710        ID3D11Query **ppQuery);
4711
4712    HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
4713        ID3D11Device3 *This,
4714        const D3D11_QUERY_DESC *pPredicateDesc,
4715        ID3D11Predicate **ppPredicate);
4716
4717    HRESULT (STDMETHODCALLTYPE *CreateCounter)(
4718        ID3D11Device3 *This,
4719        const D3D11_COUNTER_DESC *pCounterDesc,
4720        ID3D11Counter **ppCounter);
4721
4722    HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)(
4723        ID3D11Device3 *This,
4724        UINT ContextFlags,
4725        ID3D11DeviceContext **ppDeferredContext);
4726
4727    HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
4728        ID3D11Device3 *This,
4729        HANDLE hResource,
4730        REFIID ReturnedInterface,
4731        void **ppResource);
4732
4733    HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
4734        ID3D11Device3 *This,
4735        DXGI_FORMAT Format,
4736        UINT *pFormatSupport);
4737
4738    HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
4739        ID3D11Device3 *This,
4740        DXGI_FORMAT Format,
4741        UINT SampleCount,
4742        UINT *pNumQualityLevels);
4743
4744    void (STDMETHODCALLTYPE *CheckCounterInfo)(
4745        ID3D11Device3 *This,
4746        D3D11_COUNTER_INFO *pCounterInfo);
4747
4748    HRESULT (STDMETHODCALLTYPE *CheckCounter)(
4749        ID3D11Device3 *This,
4750        const D3D11_COUNTER_DESC *pDesc,
4751        D3D11_COUNTER_TYPE *pType,
4752        UINT *pActiveCounters,
4753        LPSTR szName,
4754        UINT *pNameLength,
4755        LPSTR szUnits,
4756        UINT *pUnitsLength,
4757        LPSTR szDescription,
4758        UINT *pDescriptionLength);
4759
4760    HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
4761        ID3D11Device3 *This,
4762        D3D11_FEATURE Feature,
4763        void *pFeatureSupportData,
4764        UINT FeatureSupportDataSize);
4765
4766    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
4767        ID3D11Device3 *This,
4768        REFGUID guid,
4769        UINT *pDataSize,
4770        void *pData);
4771
4772    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
4773        ID3D11Device3 *This,
4774        REFGUID guid,
4775        UINT DataSize,
4776        const void *pData);
4777
4778    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
4779        ID3D11Device3 *This,
4780        REFGUID guid,
4781        const IUnknown *pData);
4782
4783    D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)(
4784        ID3D11Device3 *This);
4785
4786    UINT (STDMETHODCALLTYPE *GetCreationFlags)(
4787        ID3D11Device3 *This);
4788
4789    HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
4790        ID3D11Device3 *This);
4791
4792    void (STDMETHODCALLTYPE *GetImmediateContext)(
4793        ID3D11Device3 *This,
4794        ID3D11DeviceContext **ppImmediateContext);
4795
4796    HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
4797        ID3D11Device3 *This,
4798        UINT RaiseFlags);
4799
4800    UINT (STDMETHODCALLTYPE *GetExceptionMode)(
4801        ID3D11Device3 *This);
4802
4803    /*** ID3D11Device1 methods ***/
4804    void (STDMETHODCALLTYPE *GetImmediateContext1)(
4805        ID3D11Device3 *This,
4806        ID3D11DeviceContext1 **ppImmediateContext);
4807
4808    HRESULT (STDMETHODCALLTYPE *CreateDeferredContext1)(
4809        ID3D11Device3 *This,
4810        UINT ContextFlags,
4811        ID3D11DeviceContext1 **ppDeferredContext);
4812
4813    HRESULT (STDMETHODCALLTYPE *CreateBlendState1)(
4814        ID3D11Device3 *This,
4815        const D3D11_BLEND_DESC1 *pBlendStateDesc,
4816        ID3D11BlendState1 **ppBlendState);
4817
4818    HRESULT (STDMETHODCALLTYPE *CreateRasterizerState1)(
4819        ID3D11Device3 *This,
4820        const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,
4821        ID3D11RasterizerState1 **ppRasterizerState);
4822
4823    HRESULT (STDMETHODCALLTYPE *CreateDeviceContextState)(
4824        ID3D11Device3 *This,
4825        UINT Flags,
4826        const D3D_FEATURE_LEVEL *pFeatureLevels,
4827        UINT FeatureLevels,
4828        UINT SDKVersion,
4829        REFIID EmulatedInterface,
4830        D3D_FEATURE_LEVEL *pChosenFeatureLevel,
4831        ID3DDeviceContextState **ppContextState);
4832
4833    HRESULT (STDMETHODCALLTYPE *OpenSharedResource1)(
4834        ID3D11Device3 *This,
4835        HANDLE hResource,
4836        REFIID returnedInterface,
4837        void **ppResource);
4838
4839    HRESULT (STDMETHODCALLTYPE *OpenSharedResourceByName)(
4840        ID3D11Device3 *This,
4841        LPCWSTR lpName,
4842        DWORD dwDesiredAccess,
4843        REFIID returnedInterface,
4844        void **ppResource);
4845
4846    /*** ID3D11Device2 methods ***/
4847    void (STDMETHODCALLTYPE *GetImmediateContext2)(
4848        ID3D11Device3 *This,
4849        ID3D11DeviceContext2 **context);
4850
4851    HRESULT (STDMETHODCALLTYPE *CreateDeferredContext2)(
4852        ID3D11Device3 *This,
4853        UINT flags,
4854        ID3D11DeviceContext2 **context);
4855
4856    void (STDMETHODCALLTYPE *GetResourceTiling)(
4857        ID3D11Device3 *This,
4858        ID3D11Resource *resource,
4859        UINT *tile_count,
4860        D3D11_PACKED_MIP_DESC *mip_desc,
4861        D3D11_TILE_SHAPE *tile_shape,
4862        UINT *subresource_tiling_count,
4863        UINT first_subresource_tiling,
4864        D3D11_SUBRESOURCE_TILING *subresource_tiling);
4865
4866    HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels1)(
4867        ID3D11Device3 *This,
4868        DXGI_FORMAT format,
4869        UINT sample_count,
4870        UINT flags,
4871        UINT *quality_level_count);
4872
4873    /*** ID3D11Device3 methods ***/
4874    HRESULT (STDMETHODCALLTYPE *CreateTexture2D1)(
4875        ID3D11Device3 *This,
4876        const D3D11_TEXTURE2D_DESC1 *desc,
4877        const D3D11_SUBRESOURCE_DATA *initial_data,
4878        ID3D11Texture2D1 **texture);
4879
4880    HRESULT (STDMETHODCALLTYPE *CreateTexture3D1)(
4881        ID3D11Device3 *This,
4882        const D3D11_TEXTURE3D_DESC1 *desc,
4883        const D3D11_SUBRESOURCE_DATA *initial_data,
4884        ID3D11Texture3D1 **texture);
4885
4886    HRESULT (STDMETHODCALLTYPE *CreateRasterizerState2)(
4887        ID3D11Device3 *This,
4888        const D3D11_RASTERIZER_DESC2 *desc,
4889        ID3D11RasterizerState2 **state);
4890
4891    HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView1)(
4892        ID3D11Device3 *This,
4893        ID3D11Resource *resource,
4894        const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,
4895        ID3D11ShaderResourceView1 **view);
4896
4897    HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView1)(
4898        ID3D11Device3 *This,
4899        ID3D11Resource *resource,
4900        const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,
4901        ID3D11UnorderedAccessView1 **view);
4902
4903    HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView1)(
4904        ID3D11Device3 *This,
4905        ID3D11Resource *resource,
4906        const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,
4907        ID3D11RenderTargetView1 **view);
4908
4909    HRESULT (STDMETHODCALLTYPE *CreateQuery1)(
4910        ID3D11Device3 *This,
4911        const D3D11_QUERY_DESC1 *desc,
4912        ID3D11Query1 **query);
4913
4914    void (STDMETHODCALLTYPE *GetImmediateContext3)(
4915        ID3D11Device3 *This,
4916        ID3D11DeviceContext3 **context);
4917
4918    HRESULT (STDMETHODCALLTYPE *CreateDeferredContext3)(
4919        ID3D11Device3 *This,
4920        UINT flags,
4921        ID3D11DeviceContext3 **context);
4922
4923    void (STDMETHODCALLTYPE *WriteToSubresource)(
4924        ID3D11Device3 *This,
4925        ID3D11Resource *dst_resource,
4926        UINT dst_subresource,
4927        const D3D11_BOX *dst_box,
4928        const void *src_data,
4929        UINT src_row_pitch,
4930        UINT src_depth_pitch);
4931
4932    void (STDMETHODCALLTYPE *ReadFromSubresource)(
4933        ID3D11Device3 *This,
4934        void *dst_data,
4935        UINT dst_row_pitch,
4936        UINT dst_depth_pitch,
4937        ID3D11Resource *src_resource,
4938        UINT src_subresource,
4939        const D3D11_BOX *src_box);
4940
4941    END_INTERFACE
4942} ID3D11Device3Vtbl;
4943
4944interface ID3D11Device3 {
4945    CONST_VTBL ID3D11Device3Vtbl* lpVtbl;
4946};
4947
4948#ifdef COBJMACROS
4949#ifndef WIDL_C_INLINE_WRAPPERS
4950/*** IUnknown methods ***/
4951#define ID3D11Device3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4952#define ID3D11Device3_AddRef(This) (This)->lpVtbl->AddRef(This)
4953#define ID3D11Device3_Release(This) (This)->lpVtbl->Release(This)
4954/*** ID3D11Device methods ***/
4955#define ID3D11Device3_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
4956#define ID3D11Device3_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
4957#define ID3D11Device3_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
4958#define ID3D11Device3_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
4959#define ID3D11Device3_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
4960#define ID3D11Device3_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)
4961#define ID3D11Device3_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
4962#define ID3D11Device3_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
4963#define ID3D11Device3_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
4964#define ID3D11Device3_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)
4965#define ID3D11Device3_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)
4966#define ID3D11Device3_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)
4967#define ID3D11Device3_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader)
4968#define ID3D11Device3_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)
4969#define ID3D11Device3_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)
4970#define ID3D11Device3_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)
4971#define ID3D11Device3_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage)
4972#define ID3D11Device3_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
4973#define ID3D11Device3_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
4974#define ID3D11Device3_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
4975#define ID3D11Device3_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
4976#define ID3D11Device3_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
4977#define ID3D11Device3_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
4978#define ID3D11Device3_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
4979#define ID3D11Device3_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext)
4980#define ID3D11Device3_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
4981#define ID3D11Device3_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
4982#define ID3D11Device3_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
4983#define ID3D11Device3_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
4984#define ID3D11Device3_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
4985#define ID3D11Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)
4986#define ID3D11Device3_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
4987#define ID3D11Device3_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
4988#define ID3D11Device3_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
4989#define ID3D11Device3_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This)
4990#define ID3D11Device3_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
4991#define ID3D11Device3_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
4992#define ID3D11Device3_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext)
4993#define ID3D11Device3_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
4994#define ID3D11Device3_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
4995/*** ID3D11Device1 methods ***/
4996#define ID3D11Device3_GetImmediateContext1(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext1(This,ppImmediateContext)
4997#define ID3D11Device3_CreateDeferredContext1(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext)
4998#define ID3D11Device3_CreateBlendState1(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState)
4999#define ID3D11Device3_CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState)
5000#define ID3D11Device3_CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) (This)->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState)
5001#define ID3D11Device3_OpenSharedResource1(This,hResource,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource)
5002#define ID3D11Device3_OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource)
5003/*** ID3D11Device2 methods ***/
5004#define ID3D11Device3_GetImmediateContext2(This,context) (This)->lpVtbl->GetImmediateContext2(This,context)
5005#define ID3D11Device3_CreateDeferredContext2(This,flags,context) (This)->lpVtbl->CreateDeferredContext2(This,flags,context)
5006#define ID3D11Device3_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)
5007#define ID3D11Device3_CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count) (This)->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count)
5008/*** ID3D11Device3 methods ***/
5009#define ID3D11Device3_CreateTexture2D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture)
5010#define ID3D11Device3_CreateTexture3D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture)
5011#define ID3D11Device3_CreateRasterizerState2(This,desc,state) (This)->lpVtbl->CreateRasterizerState2(This,desc,state)
5012#define ID3D11Device3_CreateShaderResourceView1(This,resource,desc,view) (This)->lpVtbl->CreateShaderResourceView1(This,resource,desc,view)
5013#define ID3D11Device3_CreateUnorderedAccessView1(This,resource,desc,view) (This)->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view)
5014#define ID3D11Device3_CreateRenderTargetView1(This,resource,desc,view) (This)->lpVtbl->CreateRenderTargetView1(This,resource,desc,view)
5015#define ID3D11Device3_CreateQuery1(This,desc,query) (This)->lpVtbl->CreateQuery1(This,desc,query)
5016#define ID3D11Device3_GetImmediateContext3(This,context) (This)->lpVtbl->GetImmediateContext3(This,context)
5017#define ID3D11Device3_CreateDeferredContext3(This,flags,context) (This)->lpVtbl->CreateDeferredContext3(This,flags,context)
5018#define ID3D11Device3_WriteToSubresource(This,dst_resource,dst_subresource,dst_box,src_data,src_row_pitch,src_depth_pitch) (This)->lpVtbl->WriteToSubresource(This,dst_resource,dst_subresource,dst_box,src_data,src_row_pitch,src_depth_pitch)
5019#define ID3D11Device3_ReadFromSubresource(This,dst_data,dst_row_pitch,dst_depth_pitch,src_resource,src_subresource,src_box) (This)->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_depth_pitch,src_resource,src_subresource,src_box)
5020#else
5021/*** IUnknown methods ***/
5022static inline HRESULT ID3D11Device3_QueryInterface(ID3D11Device3* This,REFIID riid,void **ppvObject) {
5023    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5024}
5025static inline ULONG ID3D11Device3_AddRef(ID3D11Device3* This) {
5026    return This->lpVtbl->AddRef(This);
5027}
5028static inline ULONG ID3D11Device3_Release(ID3D11Device3* This) {
5029    return This->lpVtbl->Release(This);
5030}
5031/*** ID3D11Device methods ***/
5032static inline HRESULT ID3D11Device3_CreateBuffer(ID3D11Device3* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) {
5033    return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer);
5034}
5035static inline HRESULT ID3D11Device3_CreateTexture1D(ID3D11Device3* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) {
5036    return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D);
5037}
5038static inline HRESULT ID3D11Device3_CreateTexture2D(ID3D11Device3* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) {
5039    return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D);
5040}
5041static inline HRESULT ID3D11Device3_CreateTexture3D(ID3D11Device3* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) {
5042    return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D);
5043}
5044static inline HRESULT ID3D11Device3_CreateShaderResourceView(ID3D11Device3* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) {
5045    return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView);
5046}
5047static inline HRESULT ID3D11Device3_CreateUnorderedAccessView(ID3D11Device3* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) {
5048    return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView);
5049}
5050static inline HRESULT ID3D11Device3_CreateRenderTargetView(ID3D11Device3* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) {
5051    return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView);
5052}
5053static inline HRESULT ID3D11Device3_CreateDepthStencilView(ID3D11Device3* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) {
5054    return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView);
5055}
5056static inline HRESULT ID3D11Device3_CreateInputLayout(ID3D11Device3* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) {
5057    return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout);
5058}
5059static inline HRESULT ID3D11Device3_CreateVertexShader(ID3D11Device3* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) {
5060    return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader);
5061}
5062static inline HRESULT ID3D11Device3_CreateGeometryShader(ID3D11Device3* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
5063    return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader);
5064}
5065static inline HRESULT ID3D11Device3_CreateGeometryShaderWithStreamOutput(ID3D11Device3* 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) {
5066    return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader);
5067}
5068static inline HRESULT ID3D11Device3_CreatePixelShader(ID3D11Device3* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) {
5069    return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader);
5070}
5071static inline HRESULT ID3D11Device3_CreateHullShader(ID3D11Device3* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) {
5072    return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader);
5073}
5074static inline HRESULT ID3D11Device3_CreateDomainShader(ID3D11Device3* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) {
5075    return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader);
5076}
5077static inline HRESULT ID3D11Device3_CreateComputeShader(ID3D11Device3* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) {
5078    return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader);
5079}
5080static inline HRESULT ID3D11Device3_CreateClassLinkage(ID3D11Device3* This,ID3D11ClassLinkage **ppLinkage) {
5081    return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
5082}
5083static inline HRESULT ID3D11Device3_CreateBlendState(ID3D11Device3* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
5084    return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
5085}
5086static inline HRESULT ID3D11Device3_CreateDepthStencilState(ID3D11Device3* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
5087    return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
5088}
5089static inline HRESULT ID3D11Device3_CreateRasterizerState(ID3D11Device3* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
5090    return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
5091}
5092static inline HRESULT ID3D11Device3_CreateSamplerState(ID3D11Device3* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
5093    return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
5094}
5095static inline HRESULT ID3D11Device3_CreateQuery(ID3D11Device3* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
5096    return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
5097}
5098static inline HRESULT ID3D11Device3_CreatePredicate(ID3D11Device3* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
5099    return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
5100}
5101static inline HRESULT ID3D11Device3_CreateCounter(ID3D11Device3* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
5102    return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
5103}
5104static inline HRESULT ID3D11Device3_CreateDeferredContext(ID3D11Device3* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
5105    return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
5106}
5107static inline HRESULT ID3D11Device3_OpenSharedResource(ID3D11Device3* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
5108    return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
5109}
5110static inline HRESULT ID3D11Device3_CheckFormatSupport(ID3D11Device3* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
5111    return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
5112}
5113static inline HRESULT ID3D11Device3_CheckMultisampleQualityLevels(ID3D11Device3* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
5114    return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
5115}
5116static inline void ID3D11Device3_CheckCounterInfo(ID3D11Device3* This,D3D11_COUNTER_INFO *pCounterInfo) {
5117    This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
5118}
5119static inline HRESULT ID3D11Device3_CheckCounter(ID3D11Device3* This,const D3D11_COUNTER_DESC *pDesc,D3D11_COUNTER_TYPE *pType,UINT *pActiveCounters,LPSTR szName,UINT *pNameLength,LPSTR szUnits,UINT *pUnitsLength,LPSTR szDescription,UINT *pDescriptionLength) {
5120    return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength);
5121}
5122static inline HRESULT ID3D11Device3_CheckFeatureSupport(ID3D11Device3* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
5123    return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
5124}
5125static inline HRESULT ID3D11Device3_GetPrivateData(ID3D11Device3* This,REFGUID guid,UINT *pDataSize,void *pData) {
5126    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
5127}
5128static inline HRESULT ID3D11Device3_SetPrivateData(ID3D11Device3* This,REFGUID guid,UINT DataSize,const void *pData) {
5129    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
5130}
5131static inline HRESULT ID3D11Device3_SetPrivateDataInterface(ID3D11Device3* This,REFGUID guid,const IUnknown *pData) {
5132    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
5133}
5134static inline D3D_FEATURE_LEVEL ID3D11Device3_GetFeatureLevel(ID3D11Device3* This) {
5135    return This->lpVtbl->GetFeatureLevel(This);
5136}
5137static inline UINT ID3D11Device3_GetCreationFlags(ID3D11Device3* This) {
5138    return This->lpVtbl->GetCreationFlags(This);
5139}
5140static inline HRESULT ID3D11Device3_GetDeviceRemovedReason(ID3D11Device3* This) {
5141    return This->lpVtbl->GetDeviceRemovedReason(This);
5142}
5143static inline void ID3D11Device3_GetImmediateContext(ID3D11Device3* This,ID3D11DeviceContext **ppImmediateContext) {
5144    This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
5145}
5146static inline HRESULT ID3D11Device3_SetExceptionMode(ID3D11Device3* This,UINT RaiseFlags) {
5147    return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
5148}
5149static inline UINT ID3D11Device3_GetExceptionMode(ID3D11Device3* This) {
5150    return This->lpVtbl->GetExceptionMode(This);
5151}
5152/*** ID3D11Device1 methods ***/
5153static inline void ID3D11Device3_GetImmediateContext1(ID3D11Device3* This,ID3D11DeviceContext1 **ppImmediateContext) {
5154    This->lpVtbl->GetImmediateContext1(This,ppImmediateContext);
5155}
5156static inline HRESULT ID3D11Device3_CreateDeferredContext1(ID3D11Device3* This,UINT ContextFlags,ID3D11DeviceContext1 **ppDeferredContext) {
5157    return This->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext);
5158}
5159static inline HRESULT ID3D11Device3_CreateBlendState1(ID3D11Device3* This,const D3D11_BLEND_DESC1 *pBlendStateDesc,ID3D11BlendState1 **ppBlendState) {
5160    return This->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState);
5161}
5162static inline HRESULT ID3D11Device3_CreateRasterizerState1(ID3D11Device3* This,const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,ID3D11RasterizerState1 **ppRasterizerState) {
5163    return This->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState);
5164}
5165static inline HRESULT ID3D11Device3_CreateDeviceContextState(ID3D11Device3* This,UINT Flags,const D3D_FEATURE_LEVEL *pFeatureLevels,UINT FeatureLevels,UINT SDKVersion,REFIID EmulatedInterface,D3D_FEATURE_LEVEL *pChosenFeatureLevel,ID3DDeviceContextState **ppContextState) {
5166    return This->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState);
5167}
5168static inline HRESULT ID3D11Device3_OpenSharedResource1(ID3D11Device3* This,HANDLE hResource,REFIID returnedInterface,void **ppResource) {
5169    return This->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource);
5170}
5171static inline HRESULT ID3D11Device3_OpenSharedResourceByName(ID3D11Device3* This,LPCWSTR lpName,DWORD dwDesiredAccess,REFIID returnedInterface,void **ppResource) {
5172    return This->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource);
5173}
5174/*** ID3D11Device2 methods ***/
5175static inline void ID3D11Device3_GetImmediateContext2(ID3D11Device3* This,ID3D11DeviceContext2 **context) {
5176    This->lpVtbl->GetImmediateContext2(This,context);
5177}
5178static inline HRESULT ID3D11Device3_CreateDeferredContext2(ID3D11Device3* This,UINT flags,ID3D11DeviceContext2 **context) {
5179    return This->lpVtbl->CreateDeferredContext2(This,flags,context);
5180}
5181static inline void ID3D11Device3_GetResourceTiling(ID3D11Device3* 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) {
5182    This->lpVtbl->GetResourceTiling(This,resource,tile_count,mip_desc,tile_shape,subresource_tiling_count,first_subresource_tiling,subresource_tiling);
5183}
5184static inline HRESULT ID3D11Device3_CheckMultisampleQualityLevels1(ID3D11Device3* This,DXGI_FORMAT format,UINT sample_count,UINT flags,UINT *quality_level_count) {
5185    return This->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count);
5186}
5187/*** ID3D11Device3 methods ***/
5188static inline HRESULT ID3D11Device3_CreateTexture2D1(ID3D11Device3* This,const D3D11_TEXTURE2D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture2D1 **texture) {
5189    return This->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture);
5190}
5191static inline HRESULT ID3D11Device3_CreateTexture3D1(ID3D11Device3* This,const D3D11_TEXTURE3D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture3D1 **texture) {
5192    return This->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture);
5193}
5194static inline HRESULT ID3D11Device3_CreateRasterizerState2(ID3D11Device3* This,const D3D11_RASTERIZER_DESC2 *desc,ID3D11RasterizerState2 **state) {
5195    return This->lpVtbl->CreateRasterizerState2(This,desc,state);
5196}
5197static inline HRESULT ID3D11Device3_CreateShaderResourceView1(ID3D11Device3* This,ID3D11Resource *resource,const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,ID3D11ShaderResourceView1 **view) {
5198    return This->lpVtbl->CreateShaderResourceView1(This,resource,desc,view);
5199}
5200static inline HRESULT ID3D11Device3_CreateUnorderedAccessView1(ID3D11Device3* This,ID3D11Resource *resource,const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,ID3D11UnorderedAccessView1 **view) {
5201    return This->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view);
5202}
5203static inline HRESULT ID3D11Device3_CreateRenderTargetView1(ID3D11Device3* This,ID3D11Resource *resource,const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,ID3D11RenderTargetView1 **view) {
5204    return This->lpVtbl->CreateRenderTargetView1(This,resource,desc,view);
5205}
5206static inline HRESULT ID3D11Device3_CreateQuery1(ID3D11Device3* This,const D3D11_QUERY_DESC1 *desc,ID3D11Query1 **query) {
5207    return This->lpVtbl->CreateQuery1(This,desc,query);
5208}
5209static inline void ID3D11Device3_GetImmediateContext3(ID3D11Device3* This,ID3D11DeviceContext3 **context) {
5210    This->lpVtbl->GetImmediateContext3(This,context);
5211}
5212static inline HRESULT ID3D11Device3_CreateDeferredContext3(ID3D11Device3* This,UINT flags,ID3D11DeviceContext3 **context) {
5213    return This->lpVtbl->CreateDeferredContext3(This,flags,context);
5214}
5215static inline void ID3D11Device3_WriteToSubresource(ID3D11Device3* This,ID3D11Resource *dst_resource,UINT dst_subresource,const D3D11_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_depth_pitch) {
5216    This->lpVtbl->WriteToSubresource(This,dst_resource,dst_subresource,dst_box,src_data,src_row_pitch,src_depth_pitch);
5217}
5218static inline void ID3D11Device3_ReadFromSubresource(ID3D11Device3* This,void *dst_data,UINT dst_row_pitch,UINT dst_depth_pitch,ID3D11Resource *src_resource,UINT src_subresource,const D3D11_BOX *src_box) {
5219    This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_depth_pitch,src_resource,src_subresource,src_box);
5220}
5221#endif
5222#endif
5223
5224#endif
5225
5226
5227#endif  /* __ID3D11Device3_INTERFACE_DEFINED__ */
5228
5229/* Begin additional prototypes for all interfaces */
5230
5231
5232/* End additional prototypes */
5233
5234#ifdef __cplusplus
5235}
5236#endif
5237
5238#endif /* __d3d11_3_h__ */