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