source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/d3d11_4.h@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 144.3 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/d3d11_4.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __d3d11_4_h__
17#define __d3d11_4_h__
18
19/* Forward declarations */
20
21#ifndef __ID3D11Device4_FWD_DEFINED__
22#define __ID3D11Device4_FWD_DEFINED__
23typedef interface ID3D11Device4 ID3D11Device4;
24#ifdef __cplusplus
25interface ID3D11Device4;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __ID3D11Device5_FWD_DEFINED__
30#define __ID3D11Device5_FWD_DEFINED__
31typedef interface ID3D11Device5 ID3D11Device5;
32#ifdef __cplusplus
33interface ID3D11Device5;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __ID3D11Multithread_FWD_DEFINED__
38#define __ID3D11Multithread_FWD_DEFINED__
39typedef interface ID3D11Multithread ID3D11Multithread;
40#ifdef __cplusplus
41interface ID3D11Multithread;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __ID3D11VideoContext2_FWD_DEFINED__
46#define __ID3D11VideoContext2_FWD_DEFINED__
47typedef interface ID3D11VideoContext2 ID3D11VideoContext2;
48#ifdef __cplusplus
49interface ID3D11VideoContext2;
50#endif /* __cplusplus */
51#endif
52
53/* Headers for imported files */
54
55#include <oaidl.h>
56#include <ocidl.h>
57#include <dxgi1_5.h>
58#include <d3dcommon.h>
59#include <d3d11_3.h>
60
61#ifdef __cplusplus
62extern "C" {
63#endif
64
65typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS4 {
66 WINBOOL ExtendedNV12SharedTextureSupported;
67} D3D11_FEATURE_DATA_D3D11_OPTIONS4;
68/*****************************************************************************
69 * ID3D11Device4 interface
70 */
71#ifndef __ID3D11Device4_INTERFACE_DEFINED__
72#define __ID3D11Device4_INTERFACE_DEFINED__
73
74DEFINE_GUID(IID_ID3D11Device4, 0x8992ab71, 0x02e6, 0x4b8d, 0xba,0x48, 0xb0,0x56,0xdc,0xda,0x42,0xc4);
75#if defined(__cplusplus) && !defined(CINTERFACE)
76MIDL_INTERFACE("8992ab71-02e6-4b8d-ba48-b056dcda42c4")
77ID3D11Device4 : public ID3D11Device3
78{
79 virtual HRESULT STDMETHODCALLTYPE RegisterDeviceRemovedEvent(
80 HANDLE event,
81 DWORD *cookie) = 0;
82
83 virtual void STDMETHODCALLTYPE UnregisterDeviceRemoved(
84 DWORD cookie) = 0;
85
86};
87#ifdef __CRT_UUID_DECL
88__CRT_UUID_DECL(ID3D11Device4, 0x8992ab71, 0x02e6, 0x4b8d, 0xba,0x48, 0xb0,0x56,0xdc,0xda,0x42,0xc4)
89#endif
90#else
91typedef struct ID3D11Device4Vtbl {
92 BEGIN_INTERFACE
93
94 /*** IUnknown methods ***/
95 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
96 ID3D11Device4 *This,
97 REFIID riid,
98 void **ppvObject);
99
100 ULONG (STDMETHODCALLTYPE *AddRef)(
101 ID3D11Device4 *This);
102
103 ULONG (STDMETHODCALLTYPE *Release)(
104 ID3D11Device4 *This);
105
106 /*** ID3D11Device methods ***/
107 HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
108 ID3D11Device4 *This,
109 const D3D11_BUFFER_DESC *pDesc,
110 const D3D11_SUBRESOURCE_DATA *pInitialData,
111 ID3D11Buffer **ppBuffer);
112
113 HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
114 ID3D11Device4 *This,
115 const D3D11_TEXTURE1D_DESC *pDesc,
116 const D3D11_SUBRESOURCE_DATA *pInitialData,
117 ID3D11Texture1D **ppTexture1D);
118
119 HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
120 ID3D11Device4 *This,
121 const D3D11_TEXTURE2D_DESC *pDesc,
122 const D3D11_SUBRESOURCE_DATA *pInitialData,
123 ID3D11Texture2D **ppTexture2D);
124
125 HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
126 ID3D11Device4 *This,
127 const D3D11_TEXTURE3D_DESC *pDesc,
128 const D3D11_SUBRESOURCE_DATA *pInitialData,
129 ID3D11Texture3D **ppTexture3D);
130
131 HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
132 ID3D11Device4 *This,
133 ID3D11Resource *pResource,
134 const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
135 ID3D11ShaderResourceView **ppSRView);
136
137 HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
138 ID3D11Device4 *This,
139 ID3D11Resource *pResource,
140 const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
141 ID3D11UnorderedAccessView **ppUAView);
142
143 HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
144 ID3D11Device4 *This,
145 ID3D11Resource *pResource,
146 const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
147 ID3D11RenderTargetView **ppRTView);
148
149 HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
150 ID3D11Device4 *This,
151 ID3D11Resource *pResource,
152 const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
153 ID3D11DepthStencilView **ppDepthStencilView);
154
155 HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
156 ID3D11Device4 *This,
157 const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
158 UINT NumElements,
159 const void *pShaderBytecodeWithInputSignature,
160 SIZE_T BytecodeLength,
161 ID3D11InputLayout **ppInputLayout);
162
163 HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
164 ID3D11Device4 *This,
165 const void *pShaderBytecode,
166 SIZE_T BytecodeLength,
167 ID3D11ClassLinkage *pClassLinkage,
168 ID3D11VertexShader **ppVertexShader);
169
170 HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
171 ID3D11Device4 *This,
172 const void *pShaderBytecode,
173 SIZE_T BytecodeLength,
174 ID3D11ClassLinkage *pClassLinkage,
175 ID3D11GeometryShader **ppGeometryShader);
176
177 HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
178 ID3D11Device4 *This,
179 const void *pShaderBytecode,
180 SIZE_T BytecodeLength,
181 const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
182 UINT NumEntries,
183 const UINT *pBufferStrides,
184 UINT NumStrides,
185 UINT RasterizedStream,
186 ID3D11ClassLinkage *pClassLinkage,
187 ID3D11GeometryShader **ppGeometryShader);
188
189 HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
190 ID3D11Device4 *This,
191 const void *pShaderBytecode,
192 SIZE_T BytecodeLength,
193 ID3D11ClassLinkage *pClassLinkage,
194 ID3D11PixelShader **ppPixelShader);
195
196 HRESULT (STDMETHODCALLTYPE *CreateHullShader)(
197 ID3D11Device4 *This,
198 const void *pShaderBytecode,
199 SIZE_T BytecodeLength,
200 ID3D11ClassLinkage *pClassLinkage,
201 ID3D11HullShader **ppHullShader);
202
203 HRESULT (STDMETHODCALLTYPE *CreateDomainShader)(
204 ID3D11Device4 *This,
205 const void *pShaderBytecode,
206 SIZE_T BytecodeLength,
207 ID3D11ClassLinkage *pClassLinkage,
208 ID3D11DomainShader **ppDomainShader);
209
210 HRESULT (STDMETHODCALLTYPE *CreateComputeShader)(
211 ID3D11Device4 *This,
212 const void *pShaderBytecode,
213 SIZE_T BytecodeLength,
214 ID3D11ClassLinkage *pClassLinkage,
215 ID3D11ComputeShader **ppComputeShader);
216
217 HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)(
218 ID3D11Device4 *This,
219 ID3D11ClassLinkage **ppLinkage);
220
221 HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
222 ID3D11Device4 *This,
223 const D3D11_BLEND_DESC *pBlendStateDesc,
224 ID3D11BlendState **ppBlendState);
225
226 HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
227 ID3D11Device4 *This,
228 const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
229 ID3D11DepthStencilState **ppDepthStencilState);
230
231 HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
232 ID3D11Device4 *This,
233 const D3D11_RASTERIZER_DESC *pRasterizerDesc,
234 ID3D11RasterizerState **ppRasterizerState);
235
236 HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
237 ID3D11Device4 *This,
238 const D3D11_SAMPLER_DESC *pSamplerDesc,
239 ID3D11SamplerState **ppSamplerState);
240
241 HRESULT (STDMETHODCALLTYPE *CreateQuery)(
242 ID3D11Device4 *This,
243 const D3D11_QUERY_DESC *pQueryDesc,
244 ID3D11Query **ppQuery);
245
246 HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
247 ID3D11Device4 *This,
248 const D3D11_QUERY_DESC *pPredicateDesc,
249 ID3D11Predicate **ppPredicate);
250
251 HRESULT (STDMETHODCALLTYPE *CreateCounter)(
252 ID3D11Device4 *This,
253 const D3D11_COUNTER_DESC *pCounterDesc,
254 ID3D11Counter **ppCounter);
255
256 HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)(
257 ID3D11Device4 *This,
258 UINT ContextFlags,
259 ID3D11DeviceContext **ppDeferredContext);
260
261 HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
262 ID3D11Device4 *This,
263 HANDLE hResource,
264 REFIID ReturnedInterface,
265 void **ppResource);
266
267 HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
268 ID3D11Device4 *This,
269 DXGI_FORMAT Format,
270 UINT *pFormatSupport);
271
272 HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
273 ID3D11Device4 *This,
274 DXGI_FORMAT Format,
275 UINT SampleCount,
276 UINT *pNumQualityLevels);
277
278 void (STDMETHODCALLTYPE *CheckCounterInfo)(
279 ID3D11Device4 *This,
280 D3D11_COUNTER_INFO *pCounterInfo);
281
282 HRESULT (STDMETHODCALLTYPE *CheckCounter)(
283 ID3D11Device4 *This,
284 const D3D11_COUNTER_DESC *pDesc,
285 D3D11_COUNTER_TYPE *pType,
286 UINT *pActiveCounters,
287 LPSTR szName,
288 UINT *pNameLength,
289 LPSTR szUnits,
290 UINT *pUnitsLength,
291 LPSTR szDescription,
292 UINT *pDescriptionLength);
293
294 HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
295 ID3D11Device4 *This,
296 D3D11_FEATURE Feature,
297 void *pFeatureSupportData,
298 UINT FeatureSupportDataSize);
299
300 HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
301 ID3D11Device4 *This,
302 REFGUID guid,
303 UINT *pDataSize,
304 void *pData);
305
306 HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
307 ID3D11Device4 *This,
308 REFGUID guid,
309 UINT DataSize,
310 const void *pData);
311
312 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
313 ID3D11Device4 *This,
314 REFGUID guid,
315 const IUnknown *pData);
316
317 D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)(
318 ID3D11Device4 *This);
319
320 UINT (STDMETHODCALLTYPE *GetCreationFlags)(
321 ID3D11Device4 *This);
322
323 HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
324 ID3D11Device4 *This);
325
326 void (STDMETHODCALLTYPE *GetImmediateContext)(
327 ID3D11Device4 *This,
328 ID3D11DeviceContext **ppImmediateContext);
329
330 HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
331 ID3D11Device4 *This,
332 UINT RaiseFlags);
333
334 UINT (STDMETHODCALLTYPE *GetExceptionMode)(
335 ID3D11Device4 *This);
336
337 /*** ID3D11Device1 methods ***/
338 void (STDMETHODCALLTYPE *GetImmediateContext1)(
339 ID3D11Device4 *This,
340 ID3D11DeviceContext1 **ppImmediateContext);
341
342 HRESULT (STDMETHODCALLTYPE *CreateDeferredContext1)(
343 ID3D11Device4 *This,
344 UINT ContextFlags,
345 ID3D11DeviceContext1 **ppDeferredContext);
346
347 HRESULT (STDMETHODCALLTYPE *CreateBlendState1)(
348 ID3D11Device4 *This,
349 const D3D11_BLEND_DESC1 *pBlendStateDesc,
350 ID3D11BlendState1 **ppBlendState);
351
352 HRESULT (STDMETHODCALLTYPE *CreateRasterizerState1)(
353 ID3D11Device4 *This,
354 const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,
355 ID3D11RasterizerState1 **ppRasterizerState);
356
357 HRESULT (STDMETHODCALLTYPE *CreateDeviceContextState)(
358 ID3D11Device4 *This,
359 UINT Flags,
360 const D3D_FEATURE_LEVEL *pFeatureLevels,
361 UINT FeatureLevels,
362 UINT SDKVersion,
363 REFIID EmulatedInterface,
364 D3D_FEATURE_LEVEL *pChosenFeatureLevel,
365 ID3DDeviceContextState **ppContextState);
366
367 HRESULT (STDMETHODCALLTYPE *OpenSharedResource1)(
368 ID3D11Device4 *This,
369 HANDLE hResource,
370 REFIID returnedInterface,
371 void **ppResource);
372
373 HRESULT (STDMETHODCALLTYPE *OpenSharedResourceByName)(
374 ID3D11Device4 *This,
375 LPCWSTR lpName,
376 DWORD dwDesiredAccess,
377 REFIID returnedInterface,
378 void **ppResource);
379
380 /*** ID3D11Device2 methods ***/
381 void (STDMETHODCALLTYPE *GetImmediateContext2)(
382 ID3D11Device4 *This,
383 ID3D11DeviceContext2 **context);
384
385 HRESULT (STDMETHODCALLTYPE *CreateDeferredContext2)(
386 ID3D11Device4 *This,
387 UINT flags,
388 ID3D11DeviceContext2 **context);
389
390 void (STDMETHODCALLTYPE *GetResourceTiling)(
391 ID3D11Device4 *This,
392 ID3D11Resource *resource,
393 UINT *tile_count,
394 D3D11_PACKED_MIP_DESC *mip_desc,
395 D3D11_TILE_SHAPE *tile_shape,
396 UINT *subresource_tiling_count,
397 UINT first_subresource_tiling,
398 D3D11_SUBRESOURCE_TILING *subresource_tiling);
399
400 HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels1)(
401 ID3D11Device4 *This,
402 DXGI_FORMAT format,
403 UINT sample_count,
404 UINT flags,
405 UINT *quality_level_count);
406
407 /*** ID3D11Device3 methods ***/
408 HRESULT (STDMETHODCALLTYPE *CreateTexture2D1)(
409 ID3D11Device4 *This,
410 const D3D11_TEXTURE2D_DESC1 *desc,
411 const D3D11_SUBRESOURCE_DATA *initial_data,
412 ID3D11Texture2D1 **texture);
413
414 HRESULT (STDMETHODCALLTYPE *CreateTexture3D1)(
415 ID3D11Device4 *This,
416 const D3D11_TEXTURE3D_DESC1 *desc,
417 const D3D11_SUBRESOURCE_DATA *initial_data,
418 ID3D11Texture3D1 **texture);
419
420 HRESULT (STDMETHODCALLTYPE *CreateRasterizerState2)(
421 ID3D11Device4 *This,
422 const D3D11_RASTERIZER_DESC2 *desc,
423 ID3D11RasterizerState2 **state);
424
425 HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView1)(
426 ID3D11Device4 *This,
427 ID3D11Resource *resource,
428 const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,
429 ID3D11ShaderResourceView1 **view);
430
431 HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView1)(
432 ID3D11Device4 *This,
433 ID3D11Resource *resource,
434 const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,
435 ID3D11UnorderedAccessView1 **view);
436
437 HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView1)(
438 ID3D11Device4 *This,
439 ID3D11Resource *resource,
440 const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,
441 ID3D11RenderTargetView1 **view);
442
443 HRESULT (STDMETHODCALLTYPE *CreateQuery1)(
444 ID3D11Device4 *This,
445 const D3D11_QUERY_DESC1 *desc,
446 ID3D11Query1 **query);
447
448 void (STDMETHODCALLTYPE *GetImmediateContext3)(
449 ID3D11Device4 *This,
450 ID3D11DeviceContext3 **context);
451
452 HRESULT (STDMETHODCALLTYPE *CreateDeferredContext3)(
453 ID3D11Device4 *This,
454 UINT flags,
455 ID3D11DeviceContext3 **context);
456
457 void (STDMETHODCALLTYPE *WriteToSubresource)(
458 ID3D11Device4 *This,
459 ID3D11Resource *dst_resource,
460 UINT dst_subresource,
461 const D3D11_BOX *dst_box,
462 const void *src_data,
463 UINT src_row_pitch,
464 UINT src_depth_pitch);
465
466 void (STDMETHODCALLTYPE *ReadFromSubresource)(
467 ID3D11Device4 *This,
468 void *dst_data,
469 UINT dst_row_pitch,
470 UINT dst_depth_pitch,
471 ID3D11Resource *src_resource,
472 UINT src_subresource,
473 const D3D11_BOX *src_box);
474
475 /*** ID3D11Device4 methods ***/
476 HRESULT (STDMETHODCALLTYPE *RegisterDeviceRemovedEvent)(
477 ID3D11Device4 *This,
478 HANDLE event,
479 DWORD *cookie);
480
481 void (STDMETHODCALLTYPE *UnregisterDeviceRemoved)(
482 ID3D11Device4 *This,
483 DWORD cookie);
484
485 END_INTERFACE
486} ID3D11Device4Vtbl;
487
488interface ID3D11Device4 {
489 CONST_VTBL ID3D11Device4Vtbl* lpVtbl;
490};
491
492#ifdef COBJMACROS
493#ifndef WIDL_C_INLINE_WRAPPERS
494/*** IUnknown methods ***/
495#define ID3D11Device4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
496#define ID3D11Device4_AddRef(This) (This)->lpVtbl->AddRef(This)
497#define ID3D11Device4_Release(This) (This)->lpVtbl->Release(This)
498/*** ID3D11Device methods ***/
499#define ID3D11Device4_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
500#define ID3D11Device4_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
501#define ID3D11Device4_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
502#define ID3D11Device4_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
503#define ID3D11Device4_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
504#define ID3D11Device4_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)
505#define ID3D11Device4_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
506#define ID3D11Device4_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
507#define ID3D11Device4_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
508#define ID3D11Device4_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)
509#define ID3D11Device4_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)
510#define ID3D11Device4_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)
511#define ID3D11Device4_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader)
512#define ID3D11Device4_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)
513#define ID3D11Device4_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)
514#define ID3D11Device4_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)
515#define ID3D11Device4_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage)
516#define ID3D11Device4_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
517#define ID3D11Device4_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
518#define ID3D11Device4_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
519#define ID3D11Device4_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
520#define ID3D11Device4_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
521#define ID3D11Device4_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
522#define ID3D11Device4_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
523#define ID3D11Device4_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext)
524#define ID3D11Device4_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
525#define ID3D11Device4_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
526#define ID3D11Device4_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
527#define ID3D11Device4_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
528#define ID3D11Device4_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
529#define ID3D11Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)
530#define ID3D11Device4_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
531#define ID3D11Device4_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
532#define ID3D11Device4_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
533#define ID3D11Device4_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This)
534#define ID3D11Device4_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
535#define ID3D11Device4_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
536#define ID3D11Device4_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext)
537#define ID3D11Device4_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
538#define ID3D11Device4_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
539/*** ID3D11Device1 methods ***/
540#define ID3D11Device4_GetImmediateContext1(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext1(This,ppImmediateContext)
541#define ID3D11Device4_CreateDeferredContext1(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext)
542#define ID3D11Device4_CreateBlendState1(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState)
543#define ID3D11Device4_CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState)
544#define ID3D11Device4_CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) (This)->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState)
545#define ID3D11Device4_OpenSharedResource1(This,hResource,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource)
546#define ID3D11Device4_OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource)
547/*** ID3D11Device2 methods ***/
548#define ID3D11Device4_GetImmediateContext2(This,context) (This)->lpVtbl->GetImmediateContext2(This,context)
549#define ID3D11Device4_CreateDeferredContext2(This,flags,context) (This)->lpVtbl->CreateDeferredContext2(This,flags,context)
550#define ID3D11Device4_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)
551#define ID3D11Device4_CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count) (This)->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count)
552/*** ID3D11Device3 methods ***/
553#define ID3D11Device4_CreateTexture2D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture)
554#define ID3D11Device4_CreateTexture3D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture)
555#define ID3D11Device4_CreateRasterizerState2(This,desc,state) (This)->lpVtbl->CreateRasterizerState2(This,desc,state)
556#define ID3D11Device4_CreateShaderResourceView1(This,resource,desc,view) (This)->lpVtbl->CreateShaderResourceView1(This,resource,desc,view)
557#define ID3D11Device4_CreateUnorderedAccessView1(This,resource,desc,view) (This)->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view)
558#define ID3D11Device4_CreateRenderTargetView1(This,resource,desc,view) (This)->lpVtbl->CreateRenderTargetView1(This,resource,desc,view)
559#define ID3D11Device4_CreateQuery1(This,desc,query) (This)->lpVtbl->CreateQuery1(This,desc,query)
560#define ID3D11Device4_GetImmediateContext3(This,context) (This)->lpVtbl->GetImmediateContext3(This,context)
561#define ID3D11Device4_CreateDeferredContext3(This,flags,context) (This)->lpVtbl->CreateDeferredContext3(This,flags,context)
562#define ID3D11Device4_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)
563#define ID3D11Device4_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)
564/*** ID3D11Device4 methods ***/
565#define ID3D11Device4_RegisterDeviceRemovedEvent(This,event,cookie) (This)->lpVtbl->RegisterDeviceRemovedEvent(This,event,cookie)
566#define ID3D11Device4_UnregisterDeviceRemoved(This,cookie) (This)->lpVtbl->UnregisterDeviceRemoved(This,cookie)
567#else
568/*** IUnknown methods ***/
569static FORCEINLINE HRESULT ID3D11Device4_QueryInterface(ID3D11Device4* This,REFIID riid,void **ppvObject) {
570 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
571}
572static FORCEINLINE ULONG ID3D11Device4_AddRef(ID3D11Device4* This) {
573 return This->lpVtbl->AddRef(This);
574}
575static FORCEINLINE ULONG ID3D11Device4_Release(ID3D11Device4* This) {
576 return This->lpVtbl->Release(This);
577}
578/*** ID3D11Device methods ***/
579static FORCEINLINE HRESULT ID3D11Device4_CreateBuffer(ID3D11Device4* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) {
580 return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer);
581}
582static FORCEINLINE HRESULT ID3D11Device4_CreateTexture1D(ID3D11Device4* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) {
583 return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D);
584}
585static FORCEINLINE HRESULT ID3D11Device4_CreateTexture2D(ID3D11Device4* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) {
586 return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D);
587}
588static FORCEINLINE HRESULT ID3D11Device4_CreateTexture3D(ID3D11Device4* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) {
589 return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D);
590}
591static FORCEINLINE HRESULT ID3D11Device4_CreateShaderResourceView(ID3D11Device4* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) {
592 return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView);
593}
594static FORCEINLINE HRESULT ID3D11Device4_CreateUnorderedAccessView(ID3D11Device4* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) {
595 return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView);
596}
597static FORCEINLINE HRESULT ID3D11Device4_CreateRenderTargetView(ID3D11Device4* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) {
598 return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView);
599}
600static FORCEINLINE HRESULT ID3D11Device4_CreateDepthStencilView(ID3D11Device4* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) {
601 return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView);
602}
603static FORCEINLINE HRESULT ID3D11Device4_CreateInputLayout(ID3D11Device4* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) {
604 return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout);
605}
606static FORCEINLINE HRESULT ID3D11Device4_CreateVertexShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) {
607 return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader);
608}
609static FORCEINLINE HRESULT ID3D11Device4_CreateGeometryShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
610 return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader);
611}
612static FORCEINLINE HRESULT ID3D11Device4_CreateGeometryShaderWithStreamOutput(ID3D11Device4* 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) {
613 return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader);
614}
615static FORCEINLINE HRESULT ID3D11Device4_CreatePixelShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) {
616 return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader);
617}
618static FORCEINLINE HRESULT ID3D11Device4_CreateHullShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) {
619 return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader);
620}
621static FORCEINLINE HRESULT ID3D11Device4_CreateDomainShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) {
622 return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader);
623}
624static FORCEINLINE HRESULT ID3D11Device4_CreateComputeShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) {
625 return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader);
626}
627static FORCEINLINE HRESULT ID3D11Device4_CreateClassLinkage(ID3D11Device4* This,ID3D11ClassLinkage **ppLinkage) {
628 return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
629}
630static FORCEINLINE HRESULT ID3D11Device4_CreateBlendState(ID3D11Device4* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
631 return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
632}
633static FORCEINLINE HRESULT ID3D11Device4_CreateDepthStencilState(ID3D11Device4* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
634 return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
635}
636static FORCEINLINE HRESULT ID3D11Device4_CreateRasterizerState(ID3D11Device4* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
637 return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
638}
639static FORCEINLINE HRESULT ID3D11Device4_CreateSamplerState(ID3D11Device4* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
640 return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
641}
642static FORCEINLINE HRESULT ID3D11Device4_CreateQuery(ID3D11Device4* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
643 return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
644}
645static FORCEINLINE HRESULT ID3D11Device4_CreatePredicate(ID3D11Device4* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
646 return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
647}
648static FORCEINLINE HRESULT ID3D11Device4_CreateCounter(ID3D11Device4* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
649 return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
650}
651static FORCEINLINE HRESULT ID3D11Device4_CreateDeferredContext(ID3D11Device4* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
652 return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
653}
654static FORCEINLINE HRESULT ID3D11Device4_OpenSharedResource(ID3D11Device4* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
655 return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
656}
657static FORCEINLINE HRESULT ID3D11Device4_CheckFormatSupport(ID3D11Device4* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
658 return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
659}
660static FORCEINLINE HRESULT ID3D11Device4_CheckMultisampleQualityLevels(ID3D11Device4* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
661 return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
662}
663static FORCEINLINE void ID3D11Device4_CheckCounterInfo(ID3D11Device4* This,D3D11_COUNTER_INFO *pCounterInfo) {
664 This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
665}
666static FORCEINLINE HRESULT ID3D11Device4_CheckCounter(ID3D11Device4* This,const D3D11_COUNTER_DESC *pDesc,D3D11_COUNTER_TYPE *pType,UINT *pActiveCounters,LPSTR szName,UINT *pNameLength,LPSTR szUnits,UINT *pUnitsLength,LPSTR szDescription,UINT *pDescriptionLength) {
667 return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength);
668}
669static FORCEINLINE HRESULT ID3D11Device4_CheckFeatureSupport(ID3D11Device4* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
670 return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
671}
672static FORCEINLINE HRESULT ID3D11Device4_GetPrivateData(ID3D11Device4* This,REFGUID guid,UINT *pDataSize,void *pData) {
673 return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
674}
675static FORCEINLINE HRESULT ID3D11Device4_SetPrivateData(ID3D11Device4* This,REFGUID guid,UINT DataSize,const void *pData) {
676 return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
677}
678static FORCEINLINE HRESULT ID3D11Device4_SetPrivateDataInterface(ID3D11Device4* This,REFGUID guid,const IUnknown *pData) {
679 return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
680}
681static FORCEINLINE D3D_FEATURE_LEVEL ID3D11Device4_GetFeatureLevel(ID3D11Device4* This) {
682 return This->lpVtbl->GetFeatureLevel(This);
683}
684static FORCEINLINE UINT ID3D11Device4_GetCreationFlags(ID3D11Device4* This) {
685 return This->lpVtbl->GetCreationFlags(This);
686}
687static FORCEINLINE HRESULT ID3D11Device4_GetDeviceRemovedReason(ID3D11Device4* This) {
688 return This->lpVtbl->GetDeviceRemovedReason(This);
689}
690static FORCEINLINE void ID3D11Device4_GetImmediateContext(ID3D11Device4* This,ID3D11DeviceContext **ppImmediateContext) {
691 This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
692}
693static FORCEINLINE HRESULT ID3D11Device4_SetExceptionMode(ID3D11Device4* This,UINT RaiseFlags) {
694 return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
695}
696static FORCEINLINE UINT ID3D11Device4_GetExceptionMode(ID3D11Device4* This) {
697 return This->lpVtbl->GetExceptionMode(This);
698}
699/*** ID3D11Device1 methods ***/
700static FORCEINLINE void ID3D11Device4_GetImmediateContext1(ID3D11Device4* This,ID3D11DeviceContext1 **ppImmediateContext) {
701 This->lpVtbl->GetImmediateContext1(This,ppImmediateContext);
702}
703static FORCEINLINE HRESULT ID3D11Device4_CreateDeferredContext1(ID3D11Device4* This,UINT ContextFlags,ID3D11DeviceContext1 **ppDeferredContext) {
704 return This->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext);
705}
706static FORCEINLINE HRESULT ID3D11Device4_CreateBlendState1(ID3D11Device4* This,const D3D11_BLEND_DESC1 *pBlendStateDesc,ID3D11BlendState1 **ppBlendState) {
707 return This->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState);
708}
709static FORCEINLINE HRESULT ID3D11Device4_CreateRasterizerState1(ID3D11Device4* This,const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,ID3D11RasterizerState1 **ppRasterizerState) {
710 return This->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState);
711}
712static FORCEINLINE HRESULT ID3D11Device4_CreateDeviceContextState(ID3D11Device4* This,UINT Flags,const D3D_FEATURE_LEVEL *pFeatureLevels,UINT FeatureLevels,UINT SDKVersion,REFIID EmulatedInterface,D3D_FEATURE_LEVEL *pChosenFeatureLevel,ID3DDeviceContextState **ppContextState) {
713 return This->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState);
714}
715static FORCEINLINE HRESULT ID3D11Device4_OpenSharedResource1(ID3D11Device4* This,HANDLE hResource,REFIID returnedInterface,void **ppResource) {
716 return This->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource);
717}
718static FORCEINLINE HRESULT ID3D11Device4_OpenSharedResourceByName(ID3D11Device4* This,LPCWSTR lpName,DWORD dwDesiredAccess,REFIID returnedInterface,void **ppResource) {
719 return This->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource);
720}
721/*** ID3D11Device2 methods ***/
722static FORCEINLINE void ID3D11Device4_GetImmediateContext2(ID3D11Device4* This,ID3D11DeviceContext2 **context) {
723 This->lpVtbl->GetImmediateContext2(This,context);
724}
725static FORCEINLINE HRESULT ID3D11Device4_CreateDeferredContext2(ID3D11Device4* This,UINT flags,ID3D11DeviceContext2 **context) {
726 return This->lpVtbl->CreateDeferredContext2(This,flags,context);
727}
728static FORCEINLINE void ID3D11Device4_GetResourceTiling(ID3D11Device4* 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) {
729 This->lpVtbl->GetResourceTiling(This,resource,tile_count,mip_desc,tile_shape,subresource_tiling_count,first_subresource_tiling,subresource_tiling);
730}
731static FORCEINLINE HRESULT ID3D11Device4_CheckMultisampleQualityLevels1(ID3D11Device4* This,DXGI_FORMAT format,UINT sample_count,UINT flags,UINT *quality_level_count) {
732 return This->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count);
733}
734/*** ID3D11Device3 methods ***/
735static FORCEINLINE HRESULT ID3D11Device4_CreateTexture2D1(ID3D11Device4* This,const D3D11_TEXTURE2D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture2D1 **texture) {
736 return This->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture);
737}
738static FORCEINLINE HRESULT ID3D11Device4_CreateTexture3D1(ID3D11Device4* This,const D3D11_TEXTURE3D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture3D1 **texture) {
739 return This->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture);
740}
741static FORCEINLINE HRESULT ID3D11Device4_CreateRasterizerState2(ID3D11Device4* This,const D3D11_RASTERIZER_DESC2 *desc,ID3D11RasterizerState2 **state) {
742 return This->lpVtbl->CreateRasterizerState2(This,desc,state);
743}
744static FORCEINLINE HRESULT ID3D11Device4_CreateShaderResourceView1(ID3D11Device4* This,ID3D11Resource *resource,const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,ID3D11ShaderResourceView1 **view) {
745 return This->lpVtbl->CreateShaderResourceView1(This,resource,desc,view);
746}
747static FORCEINLINE HRESULT ID3D11Device4_CreateUnorderedAccessView1(ID3D11Device4* This,ID3D11Resource *resource,const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,ID3D11UnorderedAccessView1 **view) {
748 return This->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view);
749}
750static FORCEINLINE HRESULT ID3D11Device4_CreateRenderTargetView1(ID3D11Device4* This,ID3D11Resource *resource,const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,ID3D11RenderTargetView1 **view) {
751 return This->lpVtbl->CreateRenderTargetView1(This,resource,desc,view);
752}
753static FORCEINLINE HRESULT ID3D11Device4_CreateQuery1(ID3D11Device4* This,const D3D11_QUERY_DESC1 *desc,ID3D11Query1 **query) {
754 return This->lpVtbl->CreateQuery1(This,desc,query);
755}
756static FORCEINLINE void ID3D11Device4_GetImmediateContext3(ID3D11Device4* This,ID3D11DeviceContext3 **context) {
757 This->lpVtbl->GetImmediateContext3(This,context);
758}
759static FORCEINLINE HRESULT ID3D11Device4_CreateDeferredContext3(ID3D11Device4* This,UINT flags,ID3D11DeviceContext3 **context) {
760 return This->lpVtbl->CreateDeferredContext3(This,flags,context);
761}
762static FORCEINLINE void ID3D11Device4_WriteToSubresource(ID3D11Device4* This,ID3D11Resource *dst_resource,UINT dst_subresource,const D3D11_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_depth_pitch) {
763 This->lpVtbl->WriteToSubresource(This,dst_resource,dst_subresource,dst_box,src_data,src_row_pitch,src_depth_pitch);
764}
765static FORCEINLINE void ID3D11Device4_ReadFromSubresource(ID3D11Device4* This,void *dst_data,UINT dst_row_pitch,UINT dst_depth_pitch,ID3D11Resource *src_resource,UINT src_subresource,const D3D11_BOX *src_box) {
766 This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_depth_pitch,src_resource,src_subresource,src_box);
767}
768/*** ID3D11Device4 methods ***/
769static FORCEINLINE HRESULT ID3D11Device4_RegisterDeviceRemovedEvent(ID3D11Device4* This,HANDLE event,DWORD *cookie) {
770 return This->lpVtbl->RegisterDeviceRemovedEvent(This,event,cookie);
771}
772static FORCEINLINE void ID3D11Device4_UnregisterDeviceRemoved(ID3D11Device4* This,DWORD cookie) {
773 This->lpVtbl->UnregisterDeviceRemoved(This,cookie);
774}
775#endif
776#endif
777
778#endif
779
780
781#endif /* __ID3D11Device4_INTERFACE_DEFINED__ */
782
783/*****************************************************************************
784 * ID3D11Device5 interface
785 */
786#ifndef __ID3D11Device5_INTERFACE_DEFINED__
787#define __ID3D11Device5_INTERFACE_DEFINED__
788
789DEFINE_GUID(IID_ID3D11Device5, 0x8ffde202, 0xa0e7, 0x45df, 0x9e,0x01, 0xe8,0x37,0x80,0x1b,0x5e,0xa0);
790#if defined(__cplusplus) && !defined(CINTERFACE)
791MIDL_INTERFACE("8ffde202-a0e7-45df-9e01-e837801b5ea0")
792ID3D11Device5 : public ID3D11Device4
793{
794 virtual HRESULT STDMETHODCALLTYPE OpenSharedFence(
795 HANDLE handle,
796 REFIID iid,
797 void **fence) = 0;
798
799 virtual HRESULT STDMETHODCALLTYPE CreateFence(
800 UINT64 initial_value,
801 D3D11_FENCE_FLAG flags,
802 REFIID iid,
803 void **fence) = 0;
804
805};
806#ifdef __CRT_UUID_DECL
807__CRT_UUID_DECL(ID3D11Device5, 0x8ffde202, 0xa0e7, 0x45df, 0x9e,0x01, 0xe8,0x37,0x80,0x1b,0x5e,0xa0)
808#endif
809#else
810typedef struct ID3D11Device5Vtbl {
811 BEGIN_INTERFACE
812
813 /*** IUnknown methods ***/
814 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
815 ID3D11Device5 *This,
816 REFIID riid,
817 void **ppvObject);
818
819 ULONG (STDMETHODCALLTYPE *AddRef)(
820 ID3D11Device5 *This);
821
822 ULONG (STDMETHODCALLTYPE *Release)(
823 ID3D11Device5 *This);
824
825 /*** ID3D11Device methods ***/
826 HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
827 ID3D11Device5 *This,
828 const D3D11_BUFFER_DESC *pDesc,
829 const D3D11_SUBRESOURCE_DATA *pInitialData,
830 ID3D11Buffer **ppBuffer);
831
832 HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
833 ID3D11Device5 *This,
834 const D3D11_TEXTURE1D_DESC *pDesc,
835 const D3D11_SUBRESOURCE_DATA *pInitialData,
836 ID3D11Texture1D **ppTexture1D);
837
838 HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
839 ID3D11Device5 *This,
840 const D3D11_TEXTURE2D_DESC *pDesc,
841 const D3D11_SUBRESOURCE_DATA *pInitialData,
842 ID3D11Texture2D **ppTexture2D);
843
844 HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
845 ID3D11Device5 *This,
846 const D3D11_TEXTURE3D_DESC *pDesc,
847 const D3D11_SUBRESOURCE_DATA *pInitialData,
848 ID3D11Texture3D **ppTexture3D);
849
850 HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
851 ID3D11Device5 *This,
852 ID3D11Resource *pResource,
853 const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
854 ID3D11ShaderResourceView **ppSRView);
855
856 HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
857 ID3D11Device5 *This,
858 ID3D11Resource *pResource,
859 const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
860 ID3D11UnorderedAccessView **ppUAView);
861
862 HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
863 ID3D11Device5 *This,
864 ID3D11Resource *pResource,
865 const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
866 ID3D11RenderTargetView **ppRTView);
867
868 HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
869 ID3D11Device5 *This,
870 ID3D11Resource *pResource,
871 const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
872 ID3D11DepthStencilView **ppDepthStencilView);
873
874 HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
875 ID3D11Device5 *This,
876 const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
877 UINT NumElements,
878 const void *pShaderBytecodeWithInputSignature,
879 SIZE_T BytecodeLength,
880 ID3D11InputLayout **ppInputLayout);
881
882 HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
883 ID3D11Device5 *This,
884 const void *pShaderBytecode,
885 SIZE_T BytecodeLength,
886 ID3D11ClassLinkage *pClassLinkage,
887 ID3D11VertexShader **ppVertexShader);
888
889 HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
890 ID3D11Device5 *This,
891 const void *pShaderBytecode,
892 SIZE_T BytecodeLength,
893 ID3D11ClassLinkage *pClassLinkage,
894 ID3D11GeometryShader **ppGeometryShader);
895
896 HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
897 ID3D11Device5 *This,
898 const void *pShaderBytecode,
899 SIZE_T BytecodeLength,
900 const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
901 UINT NumEntries,
902 const UINT *pBufferStrides,
903 UINT NumStrides,
904 UINT RasterizedStream,
905 ID3D11ClassLinkage *pClassLinkage,
906 ID3D11GeometryShader **ppGeometryShader);
907
908 HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
909 ID3D11Device5 *This,
910 const void *pShaderBytecode,
911 SIZE_T BytecodeLength,
912 ID3D11ClassLinkage *pClassLinkage,
913 ID3D11PixelShader **ppPixelShader);
914
915 HRESULT (STDMETHODCALLTYPE *CreateHullShader)(
916 ID3D11Device5 *This,
917 const void *pShaderBytecode,
918 SIZE_T BytecodeLength,
919 ID3D11ClassLinkage *pClassLinkage,
920 ID3D11HullShader **ppHullShader);
921
922 HRESULT (STDMETHODCALLTYPE *CreateDomainShader)(
923 ID3D11Device5 *This,
924 const void *pShaderBytecode,
925 SIZE_T BytecodeLength,
926 ID3D11ClassLinkage *pClassLinkage,
927 ID3D11DomainShader **ppDomainShader);
928
929 HRESULT (STDMETHODCALLTYPE *CreateComputeShader)(
930 ID3D11Device5 *This,
931 const void *pShaderBytecode,
932 SIZE_T BytecodeLength,
933 ID3D11ClassLinkage *pClassLinkage,
934 ID3D11ComputeShader **ppComputeShader);
935
936 HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)(
937 ID3D11Device5 *This,
938 ID3D11ClassLinkage **ppLinkage);
939
940 HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
941 ID3D11Device5 *This,
942 const D3D11_BLEND_DESC *pBlendStateDesc,
943 ID3D11BlendState **ppBlendState);
944
945 HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
946 ID3D11Device5 *This,
947 const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
948 ID3D11DepthStencilState **ppDepthStencilState);
949
950 HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
951 ID3D11Device5 *This,
952 const D3D11_RASTERIZER_DESC *pRasterizerDesc,
953 ID3D11RasterizerState **ppRasterizerState);
954
955 HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
956 ID3D11Device5 *This,
957 const D3D11_SAMPLER_DESC *pSamplerDesc,
958 ID3D11SamplerState **ppSamplerState);
959
960 HRESULT (STDMETHODCALLTYPE *CreateQuery)(
961 ID3D11Device5 *This,
962 const D3D11_QUERY_DESC *pQueryDesc,
963 ID3D11Query **ppQuery);
964
965 HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
966 ID3D11Device5 *This,
967 const D3D11_QUERY_DESC *pPredicateDesc,
968 ID3D11Predicate **ppPredicate);
969
970 HRESULT (STDMETHODCALLTYPE *CreateCounter)(
971 ID3D11Device5 *This,
972 const D3D11_COUNTER_DESC *pCounterDesc,
973 ID3D11Counter **ppCounter);
974
975 HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)(
976 ID3D11Device5 *This,
977 UINT ContextFlags,
978 ID3D11DeviceContext **ppDeferredContext);
979
980 HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
981 ID3D11Device5 *This,
982 HANDLE hResource,
983 REFIID ReturnedInterface,
984 void **ppResource);
985
986 HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
987 ID3D11Device5 *This,
988 DXGI_FORMAT Format,
989 UINT *pFormatSupport);
990
991 HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
992 ID3D11Device5 *This,
993 DXGI_FORMAT Format,
994 UINT SampleCount,
995 UINT *pNumQualityLevels);
996
997 void (STDMETHODCALLTYPE *CheckCounterInfo)(
998 ID3D11Device5 *This,
999 D3D11_COUNTER_INFO *pCounterInfo);
1000
1001 HRESULT (STDMETHODCALLTYPE *CheckCounter)(
1002 ID3D11Device5 *This,
1003 const D3D11_COUNTER_DESC *pDesc,
1004 D3D11_COUNTER_TYPE *pType,
1005 UINT *pActiveCounters,
1006 LPSTR szName,
1007 UINT *pNameLength,
1008 LPSTR szUnits,
1009 UINT *pUnitsLength,
1010 LPSTR szDescription,
1011 UINT *pDescriptionLength);
1012
1013 HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
1014 ID3D11Device5 *This,
1015 D3D11_FEATURE Feature,
1016 void *pFeatureSupportData,
1017 UINT FeatureSupportDataSize);
1018
1019 HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
1020 ID3D11Device5 *This,
1021 REFGUID guid,
1022 UINT *pDataSize,
1023 void *pData);
1024
1025 HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
1026 ID3D11Device5 *This,
1027 REFGUID guid,
1028 UINT DataSize,
1029 const void *pData);
1030
1031 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
1032 ID3D11Device5 *This,
1033 REFGUID guid,
1034 const IUnknown *pData);
1035
1036 D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)(
1037 ID3D11Device5 *This);
1038
1039 UINT (STDMETHODCALLTYPE *GetCreationFlags)(
1040 ID3D11Device5 *This);
1041
1042 HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
1043 ID3D11Device5 *This);
1044
1045 void (STDMETHODCALLTYPE *GetImmediateContext)(
1046 ID3D11Device5 *This,
1047 ID3D11DeviceContext **ppImmediateContext);
1048
1049 HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
1050 ID3D11Device5 *This,
1051 UINT RaiseFlags);
1052
1053 UINT (STDMETHODCALLTYPE *GetExceptionMode)(
1054 ID3D11Device5 *This);
1055
1056 /*** ID3D11Device1 methods ***/
1057 void (STDMETHODCALLTYPE *GetImmediateContext1)(
1058 ID3D11Device5 *This,
1059 ID3D11DeviceContext1 **ppImmediateContext);
1060
1061 HRESULT (STDMETHODCALLTYPE *CreateDeferredContext1)(
1062 ID3D11Device5 *This,
1063 UINT ContextFlags,
1064 ID3D11DeviceContext1 **ppDeferredContext);
1065
1066 HRESULT (STDMETHODCALLTYPE *CreateBlendState1)(
1067 ID3D11Device5 *This,
1068 const D3D11_BLEND_DESC1 *pBlendStateDesc,
1069 ID3D11BlendState1 **ppBlendState);
1070
1071 HRESULT (STDMETHODCALLTYPE *CreateRasterizerState1)(
1072 ID3D11Device5 *This,
1073 const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,
1074 ID3D11RasterizerState1 **ppRasterizerState);
1075
1076 HRESULT (STDMETHODCALLTYPE *CreateDeviceContextState)(
1077 ID3D11Device5 *This,
1078 UINT Flags,
1079 const D3D_FEATURE_LEVEL *pFeatureLevels,
1080 UINT FeatureLevels,
1081 UINT SDKVersion,
1082 REFIID EmulatedInterface,
1083 D3D_FEATURE_LEVEL *pChosenFeatureLevel,
1084 ID3DDeviceContextState **ppContextState);
1085
1086 HRESULT (STDMETHODCALLTYPE *OpenSharedResource1)(
1087 ID3D11Device5 *This,
1088 HANDLE hResource,
1089 REFIID returnedInterface,
1090 void **ppResource);
1091
1092 HRESULT (STDMETHODCALLTYPE *OpenSharedResourceByName)(
1093 ID3D11Device5 *This,
1094 LPCWSTR lpName,
1095 DWORD dwDesiredAccess,
1096 REFIID returnedInterface,
1097 void **ppResource);
1098
1099 /*** ID3D11Device2 methods ***/
1100 void (STDMETHODCALLTYPE *GetImmediateContext2)(
1101 ID3D11Device5 *This,
1102 ID3D11DeviceContext2 **context);
1103
1104 HRESULT (STDMETHODCALLTYPE *CreateDeferredContext2)(
1105 ID3D11Device5 *This,
1106 UINT flags,
1107 ID3D11DeviceContext2 **context);
1108
1109 void (STDMETHODCALLTYPE *GetResourceTiling)(
1110 ID3D11Device5 *This,
1111 ID3D11Resource *resource,
1112 UINT *tile_count,
1113 D3D11_PACKED_MIP_DESC *mip_desc,
1114 D3D11_TILE_SHAPE *tile_shape,
1115 UINT *subresource_tiling_count,
1116 UINT first_subresource_tiling,
1117 D3D11_SUBRESOURCE_TILING *subresource_tiling);
1118
1119 HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels1)(
1120 ID3D11Device5 *This,
1121 DXGI_FORMAT format,
1122 UINT sample_count,
1123 UINT flags,
1124 UINT *quality_level_count);
1125
1126 /*** ID3D11Device3 methods ***/
1127 HRESULT (STDMETHODCALLTYPE *CreateTexture2D1)(
1128 ID3D11Device5 *This,
1129 const D3D11_TEXTURE2D_DESC1 *desc,
1130 const D3D11_SUBRESOURCE_DATA *initial_data,
1131 ID3D11Texture2D1 **texture);
1132
1133 HRESULT (STDMETHODCALLTYPE *CreateTexture3D1)(
1134 ID3D11Device5 *This,
1135 const D3D11_TEXTURE3D_DESC1 *desc,
1136 const D3D11_SUBRESOURCE_DATA *initial_data,
1137 ID3D11Texture3D1 **texture);
1138
1139 HRESULT (STDMETHODCALLTYPE *CreateRasterizerState2)(
1140 ID3D11Device5 *This,
1141 const D3D11_RASTERIZER_DESC2 *desc,
1142 ID3D11RasterizerState2 **state);
1143
1144 HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView1)(
1145 ID3D11Device5 *This,
1146 ID3D11Resource *resource,
1147 const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,
1148 ID3D11ShaderResourceView1 **view);
1149
1150 HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView1)(
1151 ID3D11Device5 *This,
1152 ID3D11Resource *resource,
1153 const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,
1154 ID3D11UnorderedAccessView1 **view);
1155
1156 HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView1)(
1157 ID3D11Device5 *This,
1158 ID3D11Resource *resource,
1159 const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,
1160 ID3D11RenderTargetView1 **view);
1161
1162 HRESULT (STDMETHODCALLTYPE *CreateQuery1)(
1163 ID3D11Device5 *This,
1164 const D3D11_QUERY_DESC1 *desc,
1165 ID3D11Query1 **query);
1166
1167 void (STDMETHODCALLTYPE *GetImmediateContext3)(
1168 ID3D11Device5 *This,
1169 ID3D11DeviceContext3 **context);
1170
1171 HRESULT (STDMETHODCALLTYPE *CreateDeferredContext3)(
1172 ID3D11Device5 *This,
1173 UINT flags,
1174 ID3D11DeviceContext3 **context);
1175
1176 void (STDMETHODCALLTYPE *WriteToSubresource)(
1177 ID3D11Device5 *This,
1178 ID3D11Resource *dst_resource,
1179 UINT dst_subresource,
1180 const D3D11_BOX *dst_box,
1181 const void *src_data,
1182 UINT src_row_pitch,
1183 UINT src_depth_pitch);
1184
1185 void (STDMETHODCALLTYPE *ReadFromSubresource)(
1186 ID3D11Device5 *This,
1187 void *dst_data,
1188 UINT dst_row_pitch,
1189 UINT dst_depth_pitch,
1190 ID3D11Resource *src_resource,
1191 UINT src_subresource,
1192 const D3D11_BOX *src_box);
1193
1194 /*** ID3D11Device4 methods ***/
1195 HRESULT (STDMETHODCALLTYPE *RegisterDeviceRemovedEvent)(
1196 ID3D11Device5 *This,
1197 HANDLE event,
1198 DWORD *cookie);
1199
1200 void (STDMETHODCALLTYPE *UnregisterDeviceRemoved)(
1201 ID3D11Device5 *This,
1202 DWORD cookie);
1203
1204 /*** ID3D11Device5 methods ***/
1205 HRESULT (STDMETHODCALLTYPE *OpenSharedFence)(
1206 ID3D11Device5 *This,
1207 HANDLE handle,
1208 REFIID iid,
1209 void **fence);
1210
1211 HRESULT (STDMETHODCALLTYPE *CreateFence)(
1212 ID3D11Device5 *This,
1213 UINT64 initial_value,
1214 D3D11_FENCE_FLAG flags,
1215 REFIID iid,
1216 void **fence);
1217
1218 END_INTERFACE
1219} ID3D11Device5Vtbl;
1220
1221interface ID3D11Device5 {
1222 CONST_VTBL ID3D11Device5Vtbl* lpVtbl;
1223};
1224
1225#ifdef COBJMACROS
1226#ifndef WIDL_C_INLINE_WRAPPERS
1227/*** IUnknown methods ***/
1228#define ID3D11Device5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1229#define ID3D11Device5_AddRef(This) (This)->lpVtbl->AddRef(This)
1230#define ID3D11Device5_Release(This) (This)->lpVtbl->Release(This)
1231/*** ID3D11Device methods ***/
1232#define ID3D11Device5_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
1233#define ID3D11Device5_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
1234#define ID3D11Device5_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
1235#define ID3D11Device5_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
1236#define ID3D11Device5_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
1237#define ID3D11Device5_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)
1238#define ID3D11Device5_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
1239#define ID3D11Device5_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
1240#define ID3D11Device5_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
1241#define ID3D11Device5_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)
1242#define ID3D11Device5_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)
1243#define ID3D11Device5_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)
1244#define ID3D11Device5_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader)
1245#define ID3D11Device5_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)
1246#define ID3D11Device5_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)
1247#define ID3D11Device5_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)
1248#define ID3D11Device5_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage)
1249#define ID3D11Device5_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
1250#define ID3D11Device5_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
1251#define ID3D11Device5_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
1252#define ID3D11Device5_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
1253#define ID3D11Device5_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
1254#define ID3D11Device5_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
1255#define ID3D11Device5_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
1256#define ID3D11Device5_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext)
1257#define ID3D11Device5_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
1258#define ID3D11Device5_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
1259#define ID3D11Device5_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
1260#define ID3D11Device5_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
1261#define ID3D11Device5_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
1262#define ID3D11Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)
1263#define ID3D11Device5_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
1264#define ID3D11Device5_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
1265#define ID3D11Device5_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
1266#define ID3D11Device5_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This)
1267#define ID3D11Device5_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
1268#define ID3D11Device5_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
1269#define ID3D11Device5_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext)
1270#define ID3D11Device5_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
1271#define ID3D11Device5_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
1272/*** ID3D11Device1 methods ***/
1273#define ID3D11Device5_GetImmediateContext1(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext1(This,ppImmediateContext)
1274#define ID3D11Device5_CreateDeferredContext1(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext)
1275#define ID3D11Device5_CreateBlendState1(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState)
1276#define ID3D11Device5_CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState)
1277#define ID3D11Device5_CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) (This)->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState)
1278#define ID3D11Device5_OpenSharedResource1(This,hResource,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource)
1279#define ID3D11Device5_OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource)
1280/*** ID3D11Device2 methods ***/
1281#define ID3D11Device5_GetImmediateContext2(This,context) (This)->lpVtbl->GetImmediateContext2(This,context)
1282#define ID3D11Device5_CreateDeferredContext2(This,flags,context) (This)->lpVtbl->CreateDeferredContext2(This,flags,context)
1283#define ID3D11Device5_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)
1284#define ID3D11Device5_CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count) (This)->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count)
1285/*** ID3D11Device3 methods ***/
1286#define ID3D11Device5_CreateTexture2D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture)
1287#define ID3D11Device5_CreateTexture3D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture)
1288#define ID3D11Device5_CreateRasterizerState2(This,desc,state) (This)->lpVtbl->CreateRasterizerState2(This,desc,state)
1289#define ID3D11Device5_CreateShaderResourceView1(This,resource,desc,view) (This)->lpVtbl->CreateShaderResourceView1(This,resource,desc,view)
1290#define ID3D11Device5_CreateUnorderedAccessView1(This,resource,desc,view) (This)->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view)
1291#define ID3D11Device5_CreateRenderTargetView1(This,resource,desc,view) (This)->lpVtbl->CreateRenderTargetView1(This,resource,desc,view)
1292#define ID3D11Device5_CreateQuery1(This,desc,query) (This)->lpVtbl->CreateQuery1(This,desc,query)
1293#define ID3D11Device5_GetImmediateContext3(This,context) (This)->lpVtbl->GetImmediateContext3(This,context)
1294#define ID3D11Device5_CreateDeferredContext3(This,flags,context) (This)->lpVtbl->CreateDeferredContext3(This,flags,context)
1295#define ID3D11Device5_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)
1296#define ID3D11Device5_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)
1297/*** ID3D11Device4 methods ***/
1298#define ID3D11Device5_RegisterDeviceRemovedEvent(This,event,cookie) (This)->lpVtbl->RegisterDeviceRemovedEvent(This,event,cookie)
1299#define ID3D11Device5_UnregisterDeviceRemoved(This,cookie) (This)->lpVtbl->UnregisterDeviceRemoved(This,cookie)
1300/*** ID3D11Device5 methods ***/
1301#define ID3D11Device5_OpenSharedFence(This,handle,iid,fence) (This)->lpVtbl->OpenSharedFence(This,handle,iid,fence)
1302#define ID3D11Device5_CreateFence(This,initial_value,flags,iid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,iid,fence)
1303#else
1304/*** IUnknown methods ***/
1305static FORCEINLINE HRESULT ID3D11Device5_QueryInterface(ID3D11Device5* This,REFIID riid,void **ppvObject) {
1306 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1307}
1308static FORCEINLINE ULONG ID3D11Device5_AddRef(ID3D11Device5* This) {
1309 return This->lpVtbl->AddRef(This);
1310}
1311static FORCEINLINE ULONG ID3D11Device5_Release(ID3D11Device5* This) {
1312 return This->lpVtbl->Release(This);
1313}
1314/*** ID3D11Device methods ***/
1315static FORCEINLINE HRESULT ID3D11Device5_CreateBuffer(ID3D11Device5* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) {
1316 return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer);
1317}
1318static FORCEINLINE HRESULT ID3D11Device5_CreateTexture1D(ID3D11Device5* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) {
1319 return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D);
1320}
1321static FORCEINLINE HRESULT ID3D11Device5_CreateTexture2D(ID3D11Device5* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) {
1322 return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D);
1323}
1324static FORCEINLINE HRESULT ID3D11Device5_CreateTexture3D(ID3D11Device5* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) {
1325 return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D);
1326}
1327static FORCEINLINE HRESULT ID3D11Device5_CreateShaderResourceView(ID3D11Device5* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) {
1328 return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView);
1329}
1330static FORCEINLINE HRESULT ID3D11Device5_CreateUnorderedAccessView(ID3D11Device5* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) {
1331 return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView);
1332}
1333static FORCEINLINE HRESULT ID3D11Device5_CreateRenderTargetView(ID3D11Device5* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) {
1334 return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView);
1335}
1336static FORCEINLINE HRESULT ID3D11Device5_CreateDepthStencilView(ID3D11Device5* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) {
1337 return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView);
1338}
1339static FORCEINLINE HRESULT ID3D11Device5_CreateInputLayout(ID3D11Device5* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) {
1340 return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout);
1341}
1342static FORCEINLINE HRESULT ID3D11Device5_CreateVertexShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) {
1343 return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader);
1344}
1345static FORCEINLINE HRESULT ID3D11Device5_CreateGeometryShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
1346 return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader);
1347}
1348static FORCEINLINE HRESULT ID3D11Device5_CreateGeometryShaderWithStreamOutput(ID3D11Device5* 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) {
1349 return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader);
1350}
1351static FORCEINLINE HRESULT ID3D11Device5_CreatePixelShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) {
1352 return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader);
1353}
1354static FORCEINLINE HRESULT ID3D11Device5_CreateHullShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) {
1355 return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader);
1356}
1357static FORCEINLINE HRESULT ID3D11Device5_CreateDomainShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) {
1358 return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader);
1359}
1360static FORCEINLINE HRESULT ID3D11Device5_CreateComputeShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) {
1361 return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader);
1362}
1363static FORCEINLINE HRESULT ID3D11Device5_CreateClassLinkage(ID3D11Device5* This,ID3D11ClassLinkage **ppLinkage) {
1364 return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
1365}
1366static FORCEINLINE HRESULT ID3D11Device5_CreateBlendState(ID3D11Device5* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
1367 return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
1368}
1369static FORCEINLINE HRESULT ID3D11Device5_CreateDepthStencilState(ID3D11Device5* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
1370 return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
1371}
1372static FORCEINLINE HRESULT ID3D11Device5_CreateRasterizerState(ID3D11Device5* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
1373 return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
1374}
1375static FORCEINLINE HRESULT ID3D11Device5_CreateSamplerState(ID3D11Device5* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
1376 return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
1377}
1378static FORCEINLINE HRESULT ID3D11Device5_CreateQuery(ID3D11Device5* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
1379 return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
1380}
1381static FORCEINLINE HRESULT ID3D11Device5_CreatePredicate(ID3D11Device5* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
1382 return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
1383}
1384static FORCEINLINE HRESULT ID3D11Device5_CreateCounter(ID3D11Device5* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
1385 return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
1386}
1387static FORCEINLINE HRESULT ID3D11Device5_CreateDeferredContext(ID3D11Device5* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
1388 return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
1389}
1390static FORCEINLINE HRESULT ID3D11Device5_OpenSharedResource(ID3D11Device5* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
1391 return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
1392}
1393static FORCEINLINE HRESULT ID3D11Device5_CheckFormatSupport(ID3D11Device5* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
1394 return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
1395}
1396static FORCEINLINE HRESULT ID3D11Device5_CheckMultisampleQualityLevels(ID3D11Device5* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
1397 return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
1398}
1399static FORCEINLINE void ID3D11Device5_CheckCounterInfo(ID3D11Device5* This,D3D11_COUNTER_INFO *pCounterInfo) {
1400 This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
1401}
1402static FORCEINLINE HRESULT ID3D11Device5_CheckCounter(ID3D11Device5* This,const D3D11_COUNTER_DESC *pDesc,D3D11_COUNTER_TYPE *pType,UINT *pActiveCounters,LPSTR szName,UINT *pNameLength,LPSTR szUnits,UINT *pUnitsLength,LPSTR szDescription,UINT *pDescriptionLength) {
1403 return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength);
1404}
1405static FORCEINLINE HRESULT ID3D11Device5_CheckFeatureSupport(ID3D11Device5* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
1406 return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
1407}
1408static FORCEINLINE HRESULT ID3D11Device5_GetPrivateData(ID3D11Device5* This,REFGUID guid,UINT *pDataSize,void *pData) {
1409 return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
1410}
1411static FORCEINLINE HRESULT ID3D11Device5_SetPrivateData(ID3D11Device5* This,REFGUID guid,UINT DataSize,const void *pData) {
1412 return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
1413}
1414static FORCEINLINE HRESULT ID3D11Device5_SetPrivateDataInterface(ID3D11Device5* This,REFGUID guid,const IUnknown *pData) {
1415 return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
1416}
1417static FORCEINLINE D3D_FEATURE_LEVEL ID3D11Device5_GetFeatureLevel(ID3D11Device5* This) {
1418 return This->lpVtbl->GetFeatureLevel(This);
1419}
1420static FORCEINLINE UINT ID3D11Device5_GetCreationFlags(ID3D11Device5* This) {
1421 return This->lpVtbl->GetCreationFlags(This);
1422}
1423static FORCEINLINE HRESULT ID3D11Device5_GetDeviceRemovedReason(ID3D11Device5* This) {
1424 return This->lpVtbl->GetDeviceRemovedReason(This);
1425}
1426static FORCEINLINE void ID3D11Device5_GetImmediateContext(ID3D11Device5* This,ID3D11DeviceContext **ppImmediateContext) {
1427 This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
1428}
1429static FORCEINLINE HRESULT ID3D11Device5_SetExceptionMode(ID3D11Device5* This,UINT RaiseFlags) {
1430 return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
1431}
1432static FORCEINLINE UINT ID3D11Device5_GetExceptionMode(ID3D11Device5* This) {
1433 return This->lpVtbl->GetExceptionMode(This);
1434}
1435/*** ID3D11Device1 methods ***/
1436static FORCEINLINE void ID3D11Device5_GetImmediateContext1(ID3D11Device5* This,ID3D11DeviceContext1 **ppImmediateContext) {
1437 This->lpVtbl->GetImmediateContext1(This,ppImmediateContext);
1438}
1439static FORCEINLINE HRESULT ID3D11Device5_CreateDeferredContext1(ID3D11Device5* This,UINT ContextFlags,ID3D11DeviceContext1 **ppDeferredContext) {
1440 return This->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext);
1441}
1442static FORCEINLINE HRESULT ID3D11Device5_CreateBlendState1(ID3D11Device5* This,const D3D11_BLEND_DESC1 *pBlendStateDesc,ID3D11BlendState1 **ppBlendState) {
1443 return This->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState);
1444}
1445static FORCEINLINE HRESULT ID3D11Device5_CreateRasterizerState1(ID3D11Device5* This,const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,ID3D11RasterizerState1 **ppRasterizerState) {
1446 return This->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState);
1447}
1448static FORCEINLINE HRESULT ID3D11Device5_CreateDeviceContextState(ID3D11Device5* This,UINT Flags,const D3D_FEATURE_LEVEL *pFeatureLevels,UINT FeatureLevels,UINT SDKVersion,REFIID EmulatedInterface,D3D_FEATURE_LEVEL *pChosenFeatureLevel,ID3DDeviceContextState **ppContextState) {
1449 return This->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState);
1450}
1451static FORCEINLINE HRESULT ID3D11Device5_OpenSharedResource1(ID3D11Device5* This,HANDLE hResource,REFIID returnedInterface,void **ppResource) {
1452 return This->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource);
1453}
1454static FORCEINLINE HRESULT ID3D11Device5_OpenSharedResourceByName(ID3D11Device5* This,LPCWSTR lpName,DWORD dwDesiredAccess,REFIID returnedInterface,void **ppResource) {
1455 return This->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource);
1456}
1457/*** ID3D11Device2 methods ***/
1458static FORCEINLINE void ID3D11Device5_GetImmediateContext2(ID3D11Device5* This,ID3D11DeviceContext2 **context) {
1459 This->lpVtbl->GetImmediateContext2(This,context);
1460}
1461static FORCEINLINE HRESULT ID3D11Device5_CreateDeferredContext2(ID3D11Device5* This,UINT flags,ID3D11DeviceContext2 **context) {
1462 return This->lpVtbl->CreateDeferredContext2(This,flags,context);
1463}
1464static FORCEINLINE void ID3D11Device5_GetResourceTiling(ID3D11Device5* 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) {
1465 This->lpVtbl->GetResourceTiling(This,resource,tile_count,mip_desc,tile_shape,subresource_tiling_count,first_subresource_tiling,subresource_tiling);
1466}
1467static FORCEINLINE HRESULT ID3D11Device5_CheckMultisampleQualityLevels1(ID3D11Device5* This,DXGI_FORMAT format,UINT sample_count,UINT flags,UINT *quality_level_count) {
1468 return This->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count);
1469}
1470/*** ID3D11Device3 methods ***/
1471static FORCEINLINE HRESULT ID3D11Device5_CreateTexture2D1(ID3D11Device5* This,const D3D11_TEXTURE2D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture2D1 **texture) {
1472 return This->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture);
1473}
1474static FORCEINLINE HRESULT ID3D11Device5_CreateTexture3D1(ID3D11Device5* This,const D3D11_TEXTURE3D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture3D1 **texture) {
1475 return This->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture);
1476}
1477static FORCEINLINE HRESULT ID3D11Device5_CreateRasterizerState2(ID3D11Device5* This,const D3D11_RASTERIZER_DESC2 *desc,ID3D11RasterizerState2 **state) {
1478 return This->lpVtbl->CreateRasterizerState2(This,desc,state);
1479}
1480static FORCEINLINE HRESULT ID3D11Device5_CreateShaderResourceView1(ID3D11Device5* This,ID3D11Resource *resource,const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,ID3D11ShaderResourceView1 **view) {
1481 return This->lpVtbl->CreateShaderResourceView1(This,resource,desc,view);
1482}
1483static FORCEINLINE HRESULT ID3D11Device5_CreateUnorderedAccessView1(ID3D11Device5* This,ID3D11Resource *resource,const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,ID3D11UnorderedAccessView1 **view) {
1484 return This->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view);
1485}
1486static FORCEINLINE HRESULT ID3D11Device5_CreateRenderTargetView1(ID3D11Device5* This,ID3D11Resource *resource,const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,ID3D11RenderTargetView1 **view) {
1487 return This->lpVtbl->CreateRenderTargetView1(This,resource,desc,view);
1488}
1489static FORCEINLINE HRESULT ID3D11Device5_CreateQuery1(ID3D11Device5* This,const D3D11_QUERY_DESC1 *desc,ID3D11Query1 **query) {
1490 return This->lpVtbl->CreateQuery1(This,desc,query);
1491}
1492static FORCEINLINE void ID3D11Device5_GetImmediateContext3(ID3D11Device5* This,ID3D11DeviceContext3 **context) {
1493 This->lpVtbl->GetImmediateContext3(This,context);
1494}
1495static FORCEINLINE HRESULT ID3D11Device5_CreateDeferredContext3(ID3D11Device5* This,UINT flags,ID3D11DeviceContext3 **context) {
1496 return This->lpVtbl->CreateDeferredContext3(This,flags,context);
1497}
1498static FORCEINLINE void ID3D11Device5_WriteToSubresource(ID3D11Device5* This,ID3D11Resource *dst_resource,UINT dst_subresource,const D3D11_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_depth_pitch) {
1499 This->lpVtbl->WriteToSubresource(This,dst_resource,dst_subresource,dst_box,src_data,src_row_pitch,src_depth_pitch);
1500}
1501static FORCEINLINE void ID3D11Device5_ReadFromSubresource(ID3D11Device5* This,void *dst_data,UINT dst_row_pitch,UINT dst_depth_pitch,ID3D11Resource *src_resource,UINT src_subresource,const D3D11_BOX *src_box) {
1502 This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_depth_pitch,src_resource,src_subresource,src_box);
1503}
1504/*** ID3D11Device4 methods ***/
1505static FORCEINLINE HRESULT ID3D11Device5_RegisterDeviceRemovedEvent(ID3D11Device5* This,HANDLE event,DWORD *cookie) {
1506 return This->lpVtbl->RegisterDeviceRemovedEvent(This,event,cookie);
1507}
1508static FORCEINLINE void ID3D11Device5_UnregisterDeviceRemoved(ID3D11Device5* This,DWORD cookie) {
1509 This->lpVtbl->UnregisterDeviceRemoved(This,cookie);
1510}
1511/*** ID3D11Device5 methods ***/
1512static FORCEINLINE HRESULT ID3D11Device5_OpenSharedFence(ID3D11Device5* This,HANDLE handle,REFIID iid,void **fence) {
1513 return This->lpVtbl->OpenSharedFence(This,handle,iid,fence);
1514}
1515static FORCEINLINE HRESULT ID3D11Device5_CreateFence(ID3D11Device5* This,UINT64 initial_value,D3D11_FENCE_FLAG flags,REFIID iid,void **fence) {
1516 return This->lpVtbl->CreateFence(This,initial_value,flags,iid,fence);
1517}
1518#endif
1519#endif
1520
1521#endif
1522
1523
1524#endif /* __ID3D11Device5_INTERFACE_DEFINED__ */
1525
1526/*****************************************************************************
1527 * ID3D11Multithread interface
1528 */
1529#ifndef __ID3D11Multithread_INTERFACE_DEFINED__
1530#define __ID3D11Multithread_INTERFACE_DEFINED__
1531
1532DEFINE_GUID(IID_ID3D11Multithread, 0x9b7e4e00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
1533#if defined(__cplusplus) && !defined(CINTERFACE)
1534MIDL_INTERFACE("9b7e4e00-342c-4106-a19f-4f2704f689f0")
1535ID3D11Multithread : public IUnknown
1536{
1537 virtual void STDMETHODCALLTYPE Enter(
1538 ) = 0;
1539
1540 virtual void STDMETHODCALLTYPE Leave(
1541 ) = 0;
1542
1543 virtual WINBOOL STDMETHODCALLTYPE SetMultithreadProtected(
1544 WINBOOL enable) = 0;
1545
1546 virtual WINBOOL STDMETHODCALLTYPE GetMultithreadProtected(
1547 ) = 0;
1548
1549};
1550#ifdef __CRT_UUID_DECL
1551__CRT_UUID_DECL(ID3D11Multithread, 0x9b7e4e00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0)
1552#endif
1553#else
1554typedef struct ID3D11MultithreadVtbl {
1555 BEGIN_INTERFACE
1556
1557 /*** IUnknown methods ***/
1558 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1559 ID3D11Multithread *This,
1560 REFIID riid,
1561 void **ppvObject);
1562
1563 ULONG (STDMETHODCALLTYPE *AddRef)(
1564 ID3D11Multithread *This);
1565
1566 ULONG (STDMETHODCALLTYPE *Release)(
1567 ID3D11Multithread *This);
1568
1569 /*** ID3D11Multithread methods ***/
1570 void (STDMETHODCALLTYPE *Enter)(
1571 ID3D11Multithread *This);
1572
1573 void (STDMETHODCALLTYPE *Leave)(
1574 ID3D11Multithread *This);
1575
1576 WINBOOL (STDMETHODCALLTYPE *SetMultithreadProtected)(
1577 ID3D11Multithread *This,
1578 WINBOOL enable);
1579
1580 WINBOOL (STDMETHODCALLTYPE *GetMultithreadProtected)(
1581 ID3D11Multithread *This);
1582
1583 END_INTERFACE
1584} ID3D11MultithreadVtbl;
1585
1586interface ID3D11Multithread {
1587 CONST_VTBL ID3D11MultithreadVtbl* lpVtbl;
1588};
1589
1590#ifdef COBJMACROS
1591#ifndef WIDL_C_INLINE_WRAPPERS
1592/*** IUnknown methods ***/
1593#define ID3D11Multithread_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1594#define ID3D11Multithread_AddRef(This) (This)->lpVtbl->AddRef(This)
1595#define ID3D11Multithread_Release(This) (This)->lpVtbl->Release(This)
1596/*** ID3D11Multithread methods ***/
1597#define ID3D11Multithread_Enter(This) (This)->lpVtbl->Enter(This)
1598#define ID3D11Multithread_Leave(This) (This)->lpVtbl->Leave(This)
1599#define ID3D11Multithread_SetMultithreadProtected(This,enable) (This)->lpVtbl->SetMultithreadProtected(This,enable)
1600#define ID3D11Multithread_GetMultithreadProtected(This) (This)->lpVtbl->GetMultithreadProtected(This)
1601#else
1602/*** IUnknown methods ***/
1603static FORCEINLINE HRESULT ID3D11Multithread_QueryInterface(ID3D11Multithread* This,REFIID riid,void **ppvObject) {
1604 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1605}
1606static FORCEINLINE ULONG ID3D11Multithread_AddRef(ID3D11Multithread* This) {
1607 return This->lpVtbl->AddRef(This);
1608}
1609static FORCEINLINE ULONG ID3D11Multithread_Release(ID3D11Multithread* This) {
1610 return This->lpVtbl->Release(This);
1611}
1612/*** ID3D11Multithread methods ***/
1613static FORCEINLINE void ID3D11Multithread_Enter(ID3D11Multithread* This) {
1614 This->lpVtbl->Enter(This);
1615}
1616static FORCEINLINE void ID3D11Multithread_Leave(ID3D11Multithread* This) {
1617 This->lpVtbl->Leave(This);
1618}
1619static FORCEINLINE WINBOOL ID3D11Multithread_SetMultithreadProtected(ID3D11Multithread* This,WINBOOL enable) {
1620 return This->lpVtbl->SetMultithreadProtected(This,enable);
1621}
1622static FORCEINLINE WINBOOL ID3D11Multithread_GetMultithreadProtected(ID3D11Multithread* This) {
1623 return This->lpVtbl->GetMultithreadProtected(This);
1624}
1625#endif
1626#endif
1627
1628#endif
1629
1630
1631#endif /* __ID3D11Multithread_INTERFACE_DEFINED__ */
1632
1633/*****************************************************************************
1634 * ID3D11VideoContext2 interface
1635 */
1636#ifndef __ID3D11VideoContext2_INTERFACE_DEFINED__
1637#define __ID3D11VideoContext2_INTERFACE_DEFINED__
1638
1639DEFINE_GUID(IID_ID3D11VideoContext2, 0xc4e7374c, 0x6243, 0x4d1b, 0xae,0x87, 0x52,0xb4,0xf7,0x40,0xe2,0x61);
1640#if defined(__cplusplus) && !defined(CINTERFACE)
1641MIDL_INTERFACE("c4e7374c-6243-4d1b-ae87-52b4f740e261")
1642ID3D11VideoContext2 : public ID3D11VideoContext1
1643{
1644 virtual void STDMETHODCALLTYPE VideoProcessorSetOutputHDRMetaData(
1645 ID3D11VideoProcessor *processor,
1646 DXGI_HDR_METADATA_TYPE type,
1647 UINT size,
1648 const void *meta_data) = 0;
1649
1650 virtual void STDMETHODCALLTYPE VideoProcessorGetOutputHDRMetaData(
1651 ID3D11VideoProcessor *processor,
1652 DXGI_HDR_METADATA_TYPE *type,
1653 UINT size,
1654 void *meta_data) = 0;
1655
1656 virtual void STDMETHODCALLTYPE VideoProcessorSetStreamHDRMetaData(
1657 ID3D11VideoProcessor *processor,
1658 UINT stream_index,
1659 DXGI_HDR_METADATA_TYPE type,
1660 UINT size,
1661 const void *meta_data) = 0;
1662
1663 virtual void STDMETHODCALLTYPE VideoProcessorGetStreamHDRMetaData(
1664 ID3D11VideoProcessor *processor,
1665 UINT stream_index,
1666 DXGI_HDR_METADATA_TYPE *type,
1667 UINT size,
1668 void *meta_data) = 0;
1669
1670};
1671#ifdef __CRT_UUID_DECL
1672__CRT_UUID_DECL(ID3D11VideoContext2, 0xc4e7374c, 0x6243, 0x4d1b, 0xae,0x87, 0x52,0xb4,0xf7,0x40,0xe2,0x61)
1673#endif
1674#else
1675typedef struct ID3D11VideoContext2Vtbl {
1676 BEGIN_INTERFACE
1677
1678 /*** IUnknown methods ***/
1679 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1680 ID3D11VideoContext2 *This,
1681 REFIID riid,
1682 void **ppvObject);
1683
1684 ULONG (STDMETHODCALLTYPE *AddRef)(
1685 ID3D11VideoContext2 *This);
1686
1687 ULONG (STDMETHODCALLTYPE *Release)(
1688 ID3D11VideoContext2 *This);
1689
1690 /*** ID3D11DeviceChild methods ***/
1691 void (STDMETHODCALLTYPE *GetDevice)(
1692 ID3D11VideoContext2 *This,
1693 ID3D11Device **ppDevice);
1694
1695 HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
1696 ID3D11VideoContext2 *This,
1697 REFGUID guid,
1698 UINT *pDataSize,
1699 void *pData);
1700
1701 HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
1702 ID3D11VideoContext2 *This,
1703 REFGUID guid,
1704 UINT DataSize,
1705 const void *pData);
1706
1707 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
1708 ID3D11VideoContext2 *This,
1709 REFGUID guid,
1710 const IUnknown *pData);
1711
1712 /*** ID3D11VideoContext methods ***/
1713 HRESULT (STDMETHODCALLTYPE *GetDecoderBuffer)(
1714 ID3D11VideoContext2 *This,
1715 ID3D11VideoDecoder *decoder,
1716 D3D11_VIDEO_DECODER_BUFFER_TYPE type,
1717 UINT *buffer_size,
1718 void **buffer);
1719
1720 HRESULT (STDMETHODCALLTYPE *ReleaseDecoderBuffer)(
1721 ID3D11VideoContext2 *This,
1722 ID3D11VideoDecoder *decoder,
1723 D3D11_VIDEO_DECODER_BUFFER_TYPE type);
1724
1725 HRESULT (STDMETHODCALLTYPE *DecoderBeginFrame)(
1726 ID3D11VideoContext2 *This,
1727 ID3D11VideoDecoder *decoder,
1728 ID3D11VideoDecoderOutputView *view,
1729 UINT key_size,
1730 const void *key);
1731
1732 HRESULT (STDMETHODCALLTYPE *DecoderEndFrame)(
1733 ID3D11VideoContext2 *This,
1734 ID3D11VideoDecoder *decoder);
1735
1736 HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers)(
1737 ID3D11VideoContext2 *This,
1738 ID3D11VideoDecoder *decoder,
1739 UINT buffers_count,
1740 const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc);
1741
1742 HRESULT (STDMETHODCALLTYPE *DecoderExtension)(
1743 ID3D11VideoContext2 *This,
1744 ID3D11VideoDecoder *decoder,
1745 const D3D11_VIDEO_DECODER_EXTENSION *extension);
1746
1747 void (STDMETHODCALLTYPE *VideoProcessorSetOutputTargetRect)(
1748 ID3D11VideoContext2 *This,
1749 ID3D11VideoProcessor *processor,
1750 WINBOOL enable,
1751 const RECT *rect);
1752
1753 void (STDMETHODCALLTYPE *VideoProcessorSetOutputBackgroundColor)(
1754 ID3D11VideoContext2 *This,
1755 ID3D11VideoProcessor *processor,
1756 WINBOOL y_cb_cr,
1757 const D3D11_VIDEO_COLOR *color);
1758
1759 void (STDMETHODCALLTYPE *VideoProcessorSetOutputColorSpace)(
1760 ID3D11VideoContext2 *This,
1761 ID3D11VideoProcessor *processor,
1762 const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
1763
1764 void (STDMETHODCALLTYPE *VideoProcessorSetOutputAlphaFillMode)(
1765 ID3D11VideoContext2 *This,
1766 ID3D11VideoProcessor *processor,
1767 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
1768 UINT stream_idx);
1769
1770 void (STDMETHODCALLTYPE *VideoProcessorSetOutputConstriction)(
1771 ID3D11VideoContext2 *This,
1772 ID3D11VideoProcessor *processor,
1773 WINBOOL enable,
1774 SIZE size);
1775
1776 void (STDMETHODCALLTYPE *VideoProcessorSetOutputStereoMode)(
1777 ID3D11VideoContext2 *This,
1778 ID3D11VideoProcessor *processor,
1779 WINBOOL enable);
1780
1781 HRESULT (STDMETHODCALLTYPE *VideoProcessorSetOutputExtension)(
1782 ID3D11VideoContext2 *This,
1783 ID3D11VideoProcessor *processor,
1784 const GUID *guid,
1785 UINT data_size,
1786 void *data);
1787
1788 void (STDMETHODCALLTYPE *VideoProcessorGetOutputTargetRect)(
1789 ID3D11VideoContext2 *This,
1790 ID3D11VideoProcessor *processor,
1791 WINBOOL *enabled,
1792 RECT *rect);
1793
1794 void (STDMETHODCALLTYPE *VideoProcessorGetOutputBackgroundColor)(
1795 ID3D11VideoContext2 *This,
1796 ID3D11VideoProcessor *processor,
1797 WINBOOL *y_cb_cr,
1798 D3D11_VIDEO_COLOR *color);
1799
1800 void (STDMETHODCALLTYPE *VideoProcessorGetOutputColorSpace)(
1801 ID3D11VideoContext2 *This,
1802 ID3D11VideoProcessor *processor,
1803 D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
1804
1805 void (STDMETHODCALLTYPE *VideoProcessorGetOutputAlphaFillMode)(
1806 ID3D11VideoContext2 *This,
1807 ID3D11VideoProcessor *processor,
1808 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
1809 UINT *stream_idx);
1810
1811 void (STDMETHODCALLTYPE *VideoProcessorGetOutputConstriction)(
1812 ID3D11VideoContext2 *This,
1813 ID3D11VideoProcessor *processor,
1814 WINBOOL *enabled,
1815 SIZE *size);
1816
1817 void (STDMETHODCALLTYPE *VideoProcessorGetOutputStereoMode)(
1818 ID3D11VideoContext2 *This,
1819 ID3D11VideoProcessor *processor,
1820 WINBOOL *enabled);
1821
1822 HRESULT (STDMETHODCALLTYPE *VideoProcessorGetOutputExtension)(
1823 ID3D11VideoContext2 *This,
1824 ID3D11VideoProcessor *processor,
1825 const GUID *guid,
1826 UINT data_size,
1827 void *data);
1828
1829 void (STDMETHODCALLTYPE *VideoProcessorSetStreamFrameFormat)(
1830 ID3D11VideoContext2 *This,
1831 ID3D11VideoProcessor *processor,
1832 UINT stream_idx,
1833 D3D11_VIDEO_FRAME_FORMAT format);
1834
1835 void (STDMETHODCALLTYPE *VideoProcessorSetStreamColorSpace)(
1836 ID3D11VideoContext2 *This,
1837 ID3D11VideoProcessor *processor,
1838 UINT stream_idx,
1839 const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
1840
1841 void (STDMETHODCALLTYPE *VideoProcessorSetStreamOutputRate)(
1842 ID3D11VideoContext2 *This,
1843 ID3D11VideoProcessor *processor,
1844 UINT stream_idx,
1845 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
1846 WINBOOL repeat,
1847 const DXGI_RATIONAL *custom_rate);
1848
1849 void (STDMETHODCALLTYPE *VideoProcessorSetStreamSourceRect)(
1850 ID3D11VideoContext2 *This,
1851 ID3D11VideoProcessor *processor,
1852 UINT stream_idx,
1853 WINBOOL enable,
1854 const RECT *rect);
1855
1856 void (STDMETHODCALLTYPE *VideoProcessorSetStreamDestRect)(
1857 ID3D11VideoContext2 *This,
1858 ID3D11VideoProcessor *processor,
1859 UINT stream_idx,
1860 WINBOOL enable,
1861 const RECT *rect);
1862
1863 void (STDMETHODCALLTYPE *VideoProcessorSetStreamAlpha)(
1864 ID3D11VideoContext2 *This,
1865 ID3D11VideoProcessor *processor,
1866 UINT stream_idx,
1867 WINBOOL enable,
1868 float alpha);
1869
1870 void (STDMETHODCALLTYPE *VideoProcessorSetStreamPalette)(
1871 ID3D11VideoContext2 *This,
1872 ID3D11VideoProcessor *processor,
1873 UINT stream_idx,
1874 UINT entry_count,
1875 const UINT *entries);
1876
1877 void (STDMETHODCALLTYPE *VideoProcessorSetStreamPixelAspectRatio)(
1878 ID3D11VideoContext2 *This,
1879 ID3D11VideoProcessor *processor,
1880 UINT stream_idx,
1881 WINBOOL enable,
1882 const DXGI_RATIONAL *src_aspect_ratio,
1883 const DXGI_RATIONAL *dst_aspect_ratio);
1884
1885 void (STDMETHODCALLTYPE *VideoProcessorSetStreamLumaKey)(
1886 ID3D11VideoContext2 *This,
1887 ID3D11VideoProcessor *processor,
1888 UINT stream_idx,
1889 WINBOOL enable,
1890 float lower,
1891 float upper);
1892
1893 void (STDMETHODCALLTYPE *VideoProcessorSetStreamStereoFormat)(
1894 ID3D11VideoContext2 *This,
1895 ID3D11VideoProcessor *processor,
1896 UINT stream_idx,
1897 WINBOOL enable,
1898 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
1899 WINBOOL left_view_frame0,
1900 WINBOOL base_view_frame0,
1901 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
1902 int mono_offset);
1903
1904 void (STDMETHODCALLTYPE *VideoProcessorSetStreamAutoProcessingMode)(
1905 ID3D11VideoContext2 *This,
1906 ID3D11VideoProcessor *processor,
1907 UINT stream_idx,
1908 WINBOOL enable);
1909
1910 void (STDMETHODCALLTYPE *VideoProcessorSetStreamFilter)(
1911 ID3D11VideoContext2 *This,
1912 ID3D11VideoProcessor *processor,
1913 UINT stream_idx,
1914 D3D11_VIDEO_PROCESSOR_FILTER filter,
1915 WINBOOL enable,
1916 int level);
1917
1918 HRESULT (STDMETHODCALLTYPE *VideoProcessorSetStreamExtension)(
1919 ID3D11VideoContext2 *This,
1920 ID3D11VideoProcessor *processor,
1921 UINT stream_idx,
1922 const GUID *guid,
1923 UINT data_size,
1924 void *data);
1925
1926 void (STDMETHODCALLTYPE *VideoProcessorGetStreamFrameFormat)(
1927 ID3D11VideoContext2 *This,
1928 ID3D11VideoProcessor *processor,
1929 UINT stream_idx,
1930 D3D11_VIDEO_FRAME_FORMAT *format);
1931
1932 void (STDMETHODCALLTYPE *VideoProcessorGetStreamColorSpace)(
1933 ID3D11VideoContext2 *This,
1934 ID3D11VideoProcessor *processor,
1935 UINT stream_idx,
1936 D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space);
1937
1938 void (STDMETHODCALLTYPE *VideoProcessorGetStreamOutputRate)(
1939 ID3D11VideoContext2 *This,
1940 ID3D11VideoProcessor *processor,
1941 UINT stream_idx,
1942 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
1943 WINBOOL *repeat,
1944 DXGI_RATIONAL *custom_rate);
1945
1946 void (STDMETHODCALLTYPE *VideoProcessorGetStreamSourceRect)(
1947 ID3D11VideoContext2 *This,
1948 ID3D11VideoProcessor *processor,
1949 UINT stream_idx,
1950 WINBOOL *enabled,
1951 RECT *rect);
1952
1953 void (STDMETHODCALLTYPE *VideoProcessorGetStreamDestRect)(
1954 ID3D11VideoContext2 *This,
1955 ID3D11VideoProcessor *processor,
1956 UINT stream_idx,
1957 WINBOOL *enabled,
1958 RECT *rect);
1959
1960 void (STDMETHODCALLTYPE *VideoProcessorGetStreamAlpha)(
1961 ID3D11VideoContext2 *This,
1962 ID3D11VideoProcessor *processor,
1963 UINT stream_idx,
1964 WINBOOL *enabled,
1965 float *alpha);
1966
1967 void (STDMETHODCALLTYPE *VideoProcessorGetStreamPalette)(
1968 ID3D11VideoContext2 *This,
1969 ID3D11VideoProcessor *processor,
1970 UINT stream_idx,
1971 UINT entry_count,
1972 UINT *entries);
1973
1974 void (STDMETHODCALLTYPE *VideoProcessorGetStreamPixelAspectRatio)(
1975 ID3D11VideoContext2 *This,
1976 ID3D11VideoProcessor *processor,
1977 UINT stream_idx,
1978 WINBOOL *enabled,
1979 DXGI_RATIONAL *src_aspect_ratio,
1980 DXGI_RATIONAL *dst_aspect_ratio);
1981
1982 void (STDMETHODCALLTYPE *VideoProcessorGetStreamLumaKey)(
1983 ID3D11VideoContext2 *This,
1984 ID3D11VideoProcessor *processor,
1985 UINT stream_idx,
1986 WINBOOL *enabled,
1987 float *lower,
1988 float *upper);
1989
1990 void (STDMETHODCALLTYPE *VideoProcessorGetStreamStereoFormat)(
1991 ID3D11VideoContext2 *This,
1992 ID3D11VideoProcessor *processor,
1993 UINT stream_idx,
1994 WINBOOL *enabled,
1995 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
1996 WINBOOL *left_view_frame0,
1997 WINBOOL *base_view_frame0,
1998 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
1999 int *mono_offset);
2000
2001 void (STDMETHODCALLTYPE *VideoProcessorGetStreamAutoProcessingMode)(
2002 ID3D11VideoContext2 *This,
2003 ID3D11VideoProcessor *processor,
2004 UINT stream_idx,
2005 WINBOOL *enabled);
2006
2007 void (STDMETHODCALLTYPE *VideoProcessorGetStreamFilter)(
2008 ID3D11VideoContext2 *This,
2009 ID3D11VideoProcessor *processor,
2010 UINT stream_idx,
2011 D3D11_VIDEO_PROCESSOR_FILTER filter,
2012 WINBOOL *enabled,
2013 int *level);
2014
2015 HRESULT (STDMETHODCALLTYPE *VideoProcessorGetStreamExtension)(
2016 ID3D11VideoContext2 *This,
2017 ID3D11VideoProcessor *processor,
2018 UINT stream_idx,
2019 const GUID *guid,
2020 UINT data_size,
2021 void *data);
2022
2023 HRESULT (STDMETHODCALLTYPE *VideoProcessorBlt)(
2024 ID3D11VideoContext2 *This,
2025 ID3D11VideoProcessor *processor,
2026 ID3D11VideoProcessorOutputView *view,
2027 UINT frame_idx,
2028 UINT stream_count,
2029 const D3D11_VIDEO_PROCESSOR_STREAM *streams);
2030
2031 HRESULT (STDMETHODCALLTYPE *NegotiateCryptoSessionKeyExchange)(
2032 ID3D11VideoContext2 *This,
2033 ID3D11CryptoSession *session,
2034 UINT data_size,
2035 void *data);
2036
2037 void (STDMETHODCALLTYPE *EncryptionBlt)(
2038 ID3D11VideoContext2 *This,
2039 ID3D11CryptoSession *session,
2040 ID3D11Texture2D *src_surface,
2041 ID3D11Texture2D *dst_surface,
2042 UINT iv_size,
2043 void *iv);
2044
2045 void (STDMETHODCALLTYPE *DecryptionBlt)(
2046 ID3D11VideoContext2 *This,
2047 ID3D11CryptoSession *session,
2048 ID3D11Texture2D *src_surface,
2049 ID3D11Texture2D *dst_surface,
2050 D3D11_ENCRYPTED_BLOCK_INFO *block_info,
2051 UINT key_size,
2052 const void *key,
2053 UINT iv_size,
2054 void *iv);
2055
2056 void (STDMETHODCALLTYPE *StartSessionKeyRefresh)(
2057 ID3D11VideoContext2 *This,
2058 ID3D11CryptoSession *session,
2059 UINT random_number_size,
2060 void *random_number);
2061
2062 void (STDMETHODCALLTYPE *FinishSessionKeyRefresh)(
2063 ID3D11VideoContext2 *This,
2064 ID3D11CryptoSession *session);
2065
2066 HRESULT (STDMETHODCALLTYPE *GetEncryptionBltKey)(
2067 ID3D11VideoContext2 *This,
2068 ID3D11CryptoSession *session,
2069 UINT key_size,
2070 void *key);
2071
2072 HRESULT (STDMETHODCALLTYPE *NegotiateAuthenticatedChannelKeyExchange)(
2073 ID3D11VideoContext2 *This,
2074 ID3D11AuthenticatedChannel *channel,
2075 UINT data_size,
2076 void *data);
2077
2078 HRESULT (STDMETHODCALLTYPE *QueryAuthenticatedChannel)(
2079 ID3D11VideoContext2 *This,
2080 ID3D11AuthenticatedChannel *channel,
2081 UINT input_size,
2082 const void *input,
2083 UINT output_size,
2084 void *output);
2085
2086 HRESULT (STDMETHODCALLTYPE *ConfigureAuthenticatedChannel)(
2087 ID3D11VideoContext2 *This,
2088 ID3D11AuthenticatedChannel *channel,
2089 UINT input_size,
2090 const void *input,
2091 D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output);
2092
2093 void (STDMETHODCALLTYPE *VideoProcessorSetStreamRotation)(
2094 ID3D11VideoContext2 *This,
2095 ID3D11VideoProcessor *processor,
2096 UINT stream_idx,
2097 WINBOOL enable,
2098 D3D11_VIDEO_PROCESSOR_ROTATION rotation);
2099
2100 void (STDMETHODCALLTYPE *VideoProcessorGetStreamRotation)(
2101 ID3D11VideoContext2 *This,
2102 ID3D11VideoProcessor *processor,
2103 UINT stream_idx,
2104 WINBOOL *enable,
2105 D3D11_VIDEO_PROCESSOR_ROTATION *rotation);
2106
2107 /*** ID3D11VideoContext1 methods ***/
2108 HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers1)(
2109 ID3D11VideoContext2 *This,
2110 ID3D11VideoDecoder *decoder,
2111 UINT buffer_count,
2112 const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc);
2113
2114 HRESULT (STDMETHODCALLTYPE *GetDataForNewHardwareKey)(
2115 ID3D11VideoContext2 *This,
2116 ID3D11CryptoSession *session,
2117 UINT input_size,
2118 const void *input_data,
2119 UINT64 *output_data);
2120
2121 HRESULT (STDMETHODCALLTYPE *CheckCryptoSessionStatus)(
2122 ID3D11VideoContext2 *This,
2123 ID3D11CryptoSession *session,
2124 D3D11_CRYPTO_SESSION_STATUS *status);
2125
2126 HRESULT (STDMETHODCALLTYPE *DecoderEnableDownsampling)(
2127 ID3D11VideoContext2 *This,
2128 ID3D11VideoDecoder *decoder,
2129 DXGI_COLOR_SPACE_TYPE colour_space,
2130 const D3D11_VIDEO_SAMPLE_DESC *output_desc,
2131 UINT reference_frame_count);
2132
2133 HRESULT (STDMETHODCALLTYPE *DecoderUpdateDownsampling)(
2134 ID3D11VideoContext2 *This,
2135 ID3D11VideoDecoder *decoder,
2136 const D3D11_VIDEO_SAMPLE_DESC *output_desc);
2137
2138 void (STDMETHODCALLTYPE *VideoProcessorSetOutputColorSpace1)(
2139 ID3D11VideoContext2 *This,
2140 ID3D11VideoProcessor *processor,
2141 DXGI_COLOR_SPACE_TYPE colour_space);
2142
2143 void (STDMETHODCALLTYPE *VideoProcessorSetOutputShaderUsage)(
2144 ID3D11VideoContext2 *This,
2145 ID3D11VideoProcessor *processor,
2146 WINBOOL shader_usage);
2147
2148 void (STDMETHODCALLTYPE *VideoProcessorGetOutputColorSpace1)(
2149 ID3D11VideoContext2 *This,
2150 ID3D11VideoProcessor *processor,
2151 DXGI_COLOR_SPACE_TYPE *colour_space);
2152
2153 void (STDMETHODCALLTYPE *VideoProcessorGetOutputShaderUsage)(
2154 ID3D11VideoContext2 *This,
2155 ID3D11VideoProcessor *processor,
2156 WINBOOL *shader_usage);
2157
2158 void (STDMETHODCALLTYPE *VideoProcessorSetStreamColorSpace1)(
2159 ID3D11VideoContext2 *This,
2160 ID3D11VideoProcessor *processor,
2161 UINT stream_index,
2162 DXGI_COLOR_SPACE_TYPE colour_space);
2163
2164 void (STDMETHODCALLTYPE *VideoProcessorSetStreamMirror)(
2165 ID3D11VideoContext2 *This,
2166 ID3D11VideoProcessor *processor,
2167 UINT stream_index,
2168 WINBOOL enable,
2169 WINBOOL flip_horizontal,
2170 WINBOOL flip_vertical);
2171
2172 void (STDMETHODCALLTYPE *VideoProcessorGetStreamColorSpace1)(
2173 ID3D11VideoContext2 *This,
2174 ID3D11VideoProcessor *processor,
2175 UINT stream_index,
2176 DXGI_COLOR_SPACE_TYPE *colour_space);
2177
2178 void (STDMETHODCALLTYPE *VideoProcessorGetStreamMirror)(
2179 ID3D11VideoContext2 *This,
2180 ID3D11VideoProcessor *processor,
2181 UINT stream_index,
2182 WINBOOL *enable,
2183 WINBOOL *flip_horizontal,
2184 WINBOOL *flip_vertical);
2185
2186 HRESULT (STDMETHODCALLTYPE *VideoProcessorGetBehaviorHints)(
2187 ID3D11VideoContext2 *This,
2188 ID3D11VideoProcessor *processor,
2189 UINT output_width,
2190 UINT output_height,
2191 DXGI_FORMAT output_format,
2192 UINT stream_count,
2193 const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT *streams,
2194 UINT *behaviour_hints);
2195
2196 /*** ID3D11VideoContext2 methods ***/
2197 void (STDMETHODCALLTYPE *VideoProcessorSetOutputHDRMetaData)(
2198 ID3D11VideoContext2 *This,
2199 ID3D11VideoProcessor *processor,
2200 DXGI_HDR_METADATA_TYPE type,
2201 UINT size,
2202 const void *meta_data);
2203
2204 void (STDMETHODCALLTYPE *VideoProcessorGetOutputHDRMetaData)(
2205 ID3D11VideoContext2 *This,
2206 ID3D11VideoProcessor *processor,
2207 DXGI_HDR_METADATA_TYPE *type,
2208 UINT size,
2209 void *meta_data);
2210
2211 void (STDMETHODCALLTYPE *VideoProcessorSetStreamHDRMetaData)(
2212 ID3D11VideoContext2 *This,
2213 ID3D11VideoProcessor *processor,
2214 UINT stream_index,
2215 DXGI_HDR_METADATA_TYPE type,
2216 UINT size,
2217 const void *meta_data);
2218
2219 void (STDMETHODCALLTYPE *VideoProcessorGetStreamHDRMetaData)(
2220 ID3D11VideoContext2 *This,
2221 ID3D11VideoProcessor *processor,
2222 UINT stream_index,
2223 DXGI_HDR_METADATA_TYPE *type,
2224 UINT size,
2225 void *meta_data);
2226
2227 END_INTERFACE
2228} ID3D11VideoContext2Vtbl;
2229
2230interface ID3D11VideoContext2 {
2231 CONST_VTBL ID3D11VideoContext2Vtbl* lpVtbl;
2232};
2233
2234#ifdef COBJMACROS
2235#ifndef WIDL_C_INLINE_WRAPPERS
2236/*** IUnknown methods ***/
2237#define ID3D11VideoContext2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2238#define ID3D11VideoContext2_AddRef(This) (This)->lpVtbl->AddRef(This)
2239#define ID3D11VideoContext2_Release(This) (This)->lpVtbl->Release(This)
2240/*** ID3D11DeviceChild methods ***/
2241#define ID3D11VideoContext2_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
2242#define ID3D11VideoContext2_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
2243#define ID3D11VideoContext2_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
2244#define ID3D11VideoContext2_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
2245/*** ID3D11VideoContext methods ***/
2246#define ID3D11VideoContext2_GetDecoderBuffer(This,decoder,type,buffer_size,buffer) (This)->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer)
2247#define ID3D11VideoContext2_ReleaseDecoderBuffer(This,decoder,type) (This)->lpVtbl->ReleaseDecoderBuffer(This,decoder,type)
2248#define ID3D11VideoContext2_DecoderBeginFrame(This,decoder,view,key_size,key) (This)->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key)
2249#define ID3D11VideoContext2_DecoderEndFrame(This,decoder) (This)->lpVtbl->DecoderEndFrame(This,decoder)
2250#define ID3D11VideoContext2_SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc) (This)->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc)
2251#define ID3D11VideoContext2_DecoderExtension(This,decoder,extension) (This)->lpVtbl->DecoderExtension(This,decoder,extension)
2252#define ID3D11VideoContext2_VideoProcessorSetOutputTargetRect(This,processor,enable,rect) (This)->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect)
2253#define ID3D11VideoContext2_VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color)
2254#define ID3D11VideoContext2_VideoProcessorSetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space)
2255#define ID3D11VideoContext2_VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx)
2256#define ID3D11VideoContext2_VideoProcessorSetOutputConstriction(This,processor,enable,size) (This)->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size)
2257#define ID3D11VideoContext2_VideoProcessorSetOutputStereoMode(This,processor,enable) (This)->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable)
2258#define ID3D11VideoContext2_VideoProcessorSetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data)
2259#define ID3D11VideoContext2_VideoProcessorGetOutputTargetRect(This,processor,enabled,rect) (This)->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect)
2260#define ID3D11VideoContext2_VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color)
2261#define ID3D11VideoContext2_VideoProcessorGetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space)
2262#define ID3D11VideoContext2_VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx)
2263#define ID3D11VideoContext2_VideoProcessorGetOutputConstriction(This,processor,enabled,size) (This)->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size)
2264#define ID3D11VideoContext2_VideoProcessorGetOutputStereoMode(This,processor,enabled) (This)->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled)
2265#define ID3D11VideoContext2_VideoProcessorGetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data)
2266#define ID3D11VideoContext2_VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format)
2267#define ID3D11VideoContext2_VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space)
2268#define ID3D11VideoContext2_VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate)
2269#define ID3D11VideoContext2_VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect)
2270#define ID3D11VideoContext2_VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect)
2271#define ID3D11VideoContext2_VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha) (This)->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha)
2272#define ID3D11VideoContext2_VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries)
2273#define ID3D11VideoContext2_VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio) (This)->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio)
2274#define ID3D11VideoContext2_VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper) (This)->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper)
2275#define ID3D11VideoContext2_VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset) (This)->lpVtbl->VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset)
2276#define ID3D11VideoContext2_VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable) (This)->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable)
2277#define ID3D11VideoContext2_VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level) (This)->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level)
2278#define ID3D11VideoContext2_VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data)
2279#define ID3D11VideoContext2_VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format)
2280#define ID3D11VideoContext2_VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space)
2281#define ID3D11VideoContext2_VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate)
2282#define ID3D11VideoContext2_VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect)
2283#define ID3D11VideoContext2_VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect)
2284#define ID3D11VideoContext2_VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha) (This)->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha)
2285#define ID3D11VideoContext2_VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries)
2286#define ID3D11VideoContext2_VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio) (This)->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio)
2287#define ID3D11VideoContext2_VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper) (This)->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper)
2288#define ID3D11VideoContext2_VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset) (This)->lpVtbl->VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset)
2289#define ID3D11VideoContext2_VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled) (This)->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled)
2290#define ID3D11VideoContext2_VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level) (This)->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level)
2291#define ID3D11VideoContext2_VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data)
2292#define ID3D11VideoContext2_VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams) (This)->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams)
2293#define ID3D11VideoContext2_NegotiateCryptoSessionKeyExchange(This,session,data_size,data) (This)->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data)
2294#define ID3D11VideoContext2_EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv) (This)->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv)
2295#define ID3D11VideoContext2_DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv) (This)->lpVtbl->DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv)
2296#define ID3D11VideoContext2_StartSessionKeyRefresh(This,session,random_number_size,random_number) (This)->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number)
2297#define ID3D11VideoContext2_FinishSessionKeyRefresh(This,session) (This)->lpVtbl->FinishSessionKeyRefresh(This,session)
2298#define ID3D11VideoContext2_GetEncryptionBltKey(This,session,key_size,key) (This)->lpVtbl->GetEncryptionBltKey(This,session,key_size,key)
2299#define ID3D11VideoContext2_NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data) (This)->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data)
2300#define ID3D11VideoContext2_QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output) (This)->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output)
2301#define ID3D11VideoContext2_ConfigureAuthenticatedChannel(This,channel,input_size,input,output) (This)->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output)
2302#define ID3D11VideoContext2_VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation)
2303#define ID3D11VideoContext2_VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation)
2304/*** ID3D11VideoContext1 methods ***/
2305#define ID3D11VideoContext2_SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc) (This)->lpVtbl->SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc)
2306#define ID3D11VideoContext2_GetDataForNewHardwareKey(This,session,input_size,input_data,output_data) (This)->lpVtbl->GetDataForNewHardwareKey(This,session,input_size,input_data,output_data)
2307#define ID3D11VideoContext2_CheckCryptoSessionStatus(This,session,status) (This)->lpVtbl->CheckCryptoSessionStatus(This,session,status)
2308#define ID3D11VideoContext2_DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count) (This)->lpVtbl->DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count)
2309#define ID3D11VideoContext2_DecoderUpdateDownsampling(This,decoder,output_desc) (This)->lpVtbl->DecoderUpdateDownsampling(This,decoder,output_desc)
2310#define ID3D11VideoContext2_VideoProcessorSetOutputColorSpace1(This,processor,colour_space) (This)->lpVtbl->VideoProcessorSetOutputColorSpace1(This,processor,colour_space)
2311#define ID3D11VideoContext2_VideoProcessorSetOutputShaderUsage(This,processor,shader_usage) (This)->lpVtbl->VideoProcessorSetOutputShaderUsage(This,processor,shader_usage)
2312#define ID3D11VideoContext2_VideoProcessorGetOutputColorSpace1(This,processor,colour_space) (This)->lpVtbl->VideoProcessorGetOutputColorSpace1(This,processor,colour_space)
2313#define ID3D11VideoContext2_VideoProcessorGetOutputShaderUsage(This,processor,shader_usage) (This)->lpVtbl->VideoProcessorGetOutputShaderUsage(This,processor,shader_usage)
2314#define ID3D11VideoContext2_VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space) (This)->lpVtbl->VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space)
2315#define ID3D11VideoContext2_VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical) (This)->lpVtbl->VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical)
2316#define ID3D11VideoContext2_VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space) (This)->lpVtbl->VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space)
2317#define ID3D11VideoContext2_VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical) (This)->lpVtbl->VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical)
2318#define ID3D11VideoContext2_VideoProcessorGetBehaviorHints(This,processor,output_width,output_height,output_format,stream_count,streams,behaviour_hints) (This)->lpVtbl->VideoProcessorGetBehaviorHints(This,processor,output_width,output_height,output_format,stream_count,streams,behaviour_hints)
2319/*** ID3D11VideoContext2 methods ***/
2320#define ID3D11VideoContext2_VideoProcessorSetOutputHDRMetaData(This,processor,type,size,meta_data) (This)->lpVtbl->VideoProcessorSetOutputHDRMetaData(This,processor,type,size,meta_data)
2321#define ID3D11VideoContext2_VideoProcessorGetOutputHDRMetaData(This,processor,type,size,meta_data) (This)->lpVtbl->VideoProcessorGetOutputHDRMetaData(This,processor,type,size,meta_data)
2322#define ID3D11VideoContext2_VideoProcessorSetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data) (This)->lpVtbl->VideoProcessorSetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data)
2323#define ID3D11VideoContext2_VideoProcessorGetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data) (This)->lpVtbl->VideoProcessorGetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data)
2324#else
2325/*** IUnknown methods ***/
2326static FORCEINLINE HRESULT ID3D11VideoContext2_QueryInterface(ID3D11VideoContext2* This,REFIID riid,void **ppvObject) {
2327 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2328}
2329static FORCEINLINE ULONG ID3D11VideoContext2_AddRef(ID3D11VideoContext2* This) {
2330 return This->lpVtbl->AddRef(This);
2331}
2332static FORCEINLINE ULONG ID3D11VideoContext2_Release(ID3D11VideoContext2* This) {
2333 return This->lpVtbl->Release(This);
2334}
2335/*** ID3D11DeviceChild methods ***/
2336static FORCEINLINE void ID3D11VideoContext2_GetDevice(ID3D11VideoContext2* This,ID3D11Device **ppDevice) {
2337 This->lpVtbl->GetDevice(This,ppDevice);
2338}
2339static FORCEINLINE HRESULT ID3D11VideoContext2_GetPrivateData(ID3D11VideoContext2* This,REFGUID guid,UINT *pDataSize,void *pData) {
2340 return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
2341}
2342static FORCEINLINE HRESULT ID3D11VideoContext2_SetPrivateData(ID3D11VideoContext2* This,REFGUID guid,UINT DataSize,const void *pData) {
2343 return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
2344}
2345static FORCEINLINE HRESULT ID3D11VideoContext2_SetPrivateDataInterface(ID3D11VideoContext2* This,REFGUID guid,const IUnknown *pData) {
2346 return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
2347}
2348/*** ID3D11VideoContext methods ***/
2349static FORCEINLINE HRESULT ID3D11VideoContext2_GetDecoderBuffer(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type,UINT *buffer_size,void **buffer) {
2350 return This->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer);
2351}
2352static FORCEINLINE HRESULT ID3D11VideoContext2_ReleaseDecoderBuffer(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type) {
2353 return This->lpVtbl->ReleaseDecoderBuffer(This,decoder,type);
2354}
2355static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderBeginFrame(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,ID3D11VideoDecoderOutputView *view,UINT key_size,const void *key) {
2356 return This->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key);
2357}
2358static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderEndFrame(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder) {
2359 return This->lpVtbl->DecoderEndFrame(This,decoder);
2360}
2361static FORCEINLINE HRESULT ID3D11VideoContext2_SubmitDecoderBuffers(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,UINT buffers_count,const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc) {
2362 return This->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc);
2363}
2364static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderExtension(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,const D3D11_VIDEO_DECODER_EXTENSION *extension) {
2365 return This->lpVtbl->DecoderExtension(This,decoder,extension);
2366}
2367static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputTargetRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL enable,const RECT *rect) {
2368 This->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect);
2369}
2370static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputBackgroundColor(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL y_cb_cr,const D3D11_VIDEO_COLOR *color) {
2371 This->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color);
2372}
2373static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputColorSpace(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
2374 This->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space);
2375}
2376static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputAlphaFillMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,UINT stream_idx) {
2377 This->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx);
2378}
2379static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputConstriction(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL enable,SIZE size) {
2380 This->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size);
2381}
2382static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputStereoMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL enable) {
2383 This->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable);
2384}
2385static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorSetOutputExtension(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) {
2386 return This->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data);
2387}
2388static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputTargetRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,RECT *rect) {
2389 This->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect);
2390}
2391static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputBackgroundColor(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *y_cb_cr,D3D11_VIDEO_COLOR *color) {
2392 This->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color);
2393}
2394static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputColorSpace(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
2395 This->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space);
2396}
2397static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputAlphaFillMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,UINT *stream_idx) {
2398 This->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx);
2399}
2400static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputConstriction(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,SIZE *size) {
2401 This->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size);
2402}
2403static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputStereoMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *enabled) {
2404 This->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled);
2405}
2406static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorGetOutputExtension(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) {
2407 return This->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data);
2408}
2409static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamFrameFormat(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT format) {
2410 This->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format);
2411}
2412static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamColorSpace(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
2413 This->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space);
2414}
2415static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamOutputRate(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,WINBOOL repeat,const DXGI_RATIONAL *custom_rate) {
2416 This->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate);
2417}
2418static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamSourceRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) {
2419 This->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect);
2420}
2421static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamDestRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) {
2422 This->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect);
2423}
2424static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamAlpha(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float alpha) {
2425 This->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha);
2426}
2427static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamPalette(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,const UINT *entries) {
2428 This->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries);
2429}
2430static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamPixelAspectRatio(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const DXGI_RATIONAL *src_aspect_ratio,const DXGI_RATIONAL *dst_aspect_ratio) {
2431 This->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio);
2432}
2433static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamLumaKey(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float lower,float upper) {
2434 This->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper);
2435}
2436static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamStereoFormat(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,WINBOOL left_view_frame0,WINBOOL base_view_frame0,D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,int mono_offset) {
2437 This->lpVtbl->VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset);
2438}
2439static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamAutoProcessingMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable) {
2440 This->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable);
2441}
2442static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamFilter(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL enable,int level) {
2443 This->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level);
2444}
2445static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorSetStreamExtension(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) {
2446 return This->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data);
2447}
2448static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamFrameFormat(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT *format) {
2449 This->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format);
2450}
2451static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamColorSpace(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) {
2452 This->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space);
2453}
2454static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamOutputRate(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,WINBOOL *repeat,DXGI_RATIONAL *custom_rate) {
2455 This->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate);
2456}
2457static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamSourceRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) {
2458 This->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect);
2459}
2460static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamDestRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) {
2461 This->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect);
2462}
2463static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamAlpha(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *alpha) {
2464 This->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha);
2465}
2466static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamPalette(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,UINT *entries) {
2467 This->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries);
2468}
2469static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamPixelAspectRatio(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,DXGI_RATIONAL *src_aspect_ratio,DXGI_RATIONAL *dst_aspect_ratio) {
2470 This->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio);
2471}
2472static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamLumaKey(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *lower,float *upper) {
2473 This->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper);
2474}
2475static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamStereoFormat(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,WINBOOL *left_view_frame0,WINBOOL *base_view_frame0,D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,int *mono_offset) {
2476 This->lpVtbl->VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset);
2477}
2478static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamAutoProcessingMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled) {
2479 This->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled);
2480}
2481static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamFilter(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL *enabled,int *level) {
2482 This->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level);
2483}
2484static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorGetStreamExtension(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) {
2485 return This->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data);
2486}
2487static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorBlt(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,ID3D11VideoProcessorOutputView *view,UINT frame_idx,UINT stream_count,const D3D11_VIDEO_PROCESSOR_STREAM *streams) {
2488 return This->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams);
2489}
2490static FORCEINLINE HRESULT ID3D11VideoContext2_NegotiateCryptoSessionKeyExchange(ID3D11VideoContext2* This,ID3D11CryptoSession *session,UINT data_size,void *data) {
2491 return This->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data);
2492}
2493static FORCEINLINE void ID3D11VideoContext2_EncryptionBlt(ID3D11VideoContext2* This,ID3D11CryptoSession *session,ID3D11Texture2D *src_surface,ID3D11Texture2D *dst_surface,UINT iv_size,void *iv) {
2494 This->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv);
2495}
2496static FORCEINLINE void ID3D11VideoContext2_DecryptionBlt(ID3D11VideoContext2* This,ID3D11CryptoSession *session,ID3D11Texture2D *src_surface,ID3D11Texture2D *dst_surface,D3D11_ENCRYPTED_BLOCK_INFO *block_info,UINT key_size,const void *key,UINT iv_size,void *iv) {
2497 This->lpVtbl->DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv);
2498}
2499static FORCEINLINE void ID3D11VideoContext2_StartSessionKeyRefresh(ID3D11VideoContext2* This,ID3D11CryptoSession *session,UINT random_number_size,void *random_number) {
2500 This->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number);
2501}
2502static FORCEINLINE void ID3D11VideoContext2_FinishSessionKeyRefresh(ID3D11VideoContext2* This,ID3D11CryptoSession *session) {
2503 This->lpVtbl->FinishSessionKeyRefresh(This,session);
2504}
2505static FORCEINLINE HRESULT ID3D11VideoContext2_GetEncryptionBltKey(ID3D11VideoContext2* This,ID3D11CryptoSession *session,UINT key_size,void *key) {
2506 return This->lpVtbl->GetEncryptionBltKey(This,session,key_size,key);
2507}
2508static FORCEINLINE HRESULT ID3D11VideoContext2_NegotiateAuthenticatedChannelKeyExchange(ID3D11VideoContext2* This,ID3D11AuthenticatedChannel *channel,UINT data_size,void *data) {
2509 return This->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data);
2510}
2511static FORCEINLINE HRESULT ID3D11VideoContext2_QueryAuthenticatedChannel(ID3D11VideoContext2* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,UINT output_size,void *output) {
2512 return This->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output);
2513}
2514static FORCEINLINE HRESULT ID3D11VideoContext2_ConfigureAuthenticatedChannel(ID3D11VideoContext2* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output) {
2515 return This->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output);
2516}
2517static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamRotation(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,D3D11_VIDEO_PROCESSOR_ROTATION rotation) {
2518 This->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation);
2519}
2520static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamRotation(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enable,D3D11_VIDEO_PROCESSOR_ROTATION *rotation) {
2521 This->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation);
2522}
2523/*** ID3D11VideoContext1 methods ***/
2524static FORCEINLINE HRESULT ID3D11VideoContext2_SubmitDecoderBuffers1(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,UINT buffer_count,const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc) {
2525 return This->lpVtbl->SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc);
2526}
2527static FORCEINLINE HRESULT ID3D11VideoContext2_GetDataForNewHardwareKey(ID3D11VideoContext2* This,ID3D11CryptoSession *session,UINT input_size,const void *input_data,UINT64 *output_data) {
2528 return This->lpVtbl->GetDataForNewHardwareKey(This,session,input_size,input_data,output_data);
2529}
2530static FORCEINLINE HRESULT ID3D11VideoContext2_CheckCryptoSessionStatus(ID3D11VideoContext2* This,ID3D11CryptoSession *session,D3D11_CRYPTO_SESSION_STATUS *status) {
2531 return This->lpVtbl->CheckCryptoSessionStatus(This,session,status);
2532}
2533static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderEnableDownsampling(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,DXGI_COLOR_SPACE_TYPE colour_space,const D3D11_VIDEO_SAMPLE_DESC *output_desc,UINT reference_frame_count) {
2534 return This->lpVtbl->DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count);
2535}
2536static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderUpdateDownsampling(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,const D3D11_VIDEO_SAMPLE_DESC *output_desc) {
2537 return This->lpVtbl->DecoderUpdateDownsampling(This,decoder,output_desc);
2538}
2539static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputColorSpace1(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,DXGI_COLOR_SPACE_TYPE colour_space) {
2540 This->lpVtbl->VideoProcessorSetOutputColorSpace1(This,processor,colour_space);
2541}
2542static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputShaderUsage(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL shader_usage) {
2543 This->lpVtbl->VideoProcessorSetOutputShaderUsage(This,processor,shader_usage);
2544}
2545static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputColorSpace1(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,DXGI_COLOR_SPACE_TYPE *colour_space) {
2546 This->lpVtbl->VideoProcessorGetOutputColorSpace1(This,processor,colour_space);
2547}
2548static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputShaderUsage(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *shader_usage) {
2549 This->lpVtbl->VideoProcessorGetOutputShaderUsage(This,processor,shader_usage);
2550}
2551static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamColorSpace1(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_COLOR_SPACE_TYPE colour_space) {
2552 This->lpVtbl->VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space);
2553}
2554static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamMirror(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,WINBOOL enable,WINBOOL flip_horizontal,WINBOOL flip_vertical) {
2555 This->lpVtbl->VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical);
2556}
2557static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamColorSpace1(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_COLOR_SPACE_TYPE *colour_space) {
2558 This->lpVtbl->VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space);
2559}
2560static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamMirror(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,WINBOOL *enable,WINBOOL *flip_horizontal,WINBOOL *flip_vertical) {
2561 This->lpVtbl->VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical);
2562}
2563static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorGetBehaviorHints(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT output_width,UINT output_height,DXGI_FORMAT output_format,UINT stream_count,const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT *streams,UINT *behaviour_hints) {
2564 return This->lpVtbl->VideoProcessorGetBehaviorHints(This,processor,output_width,output_height,output_format,stream_count,streams,behaviour_hints);
2565}
2566/*** ID3D11VideoContext2 methods ***/
2567static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputHDRMetaData(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,DXGI_HDR_METADATA_TYPE type,UINT size,const void *meta_data) {
2568 This->lpVtbl->VideoProcessorSetOutputHDRMetaData(This,processor,type,size,meta_data);
2569}
2570static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputHDRMetaData(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,DXGI_HDR_METADATA_TYPE *type,UINT size,void *meta_data) {
2571 This->lpVtbl->VideoProcessorGetOutputHDRMetaData(This,processor,type,size,meta_data);
2572}
2573static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamHDRMetaData(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_HDR_METADATA_TYPE type,UINT size,const void *meta_data) {
2574 This->lpVtbl->VideoProcessorSetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data);
2575}
2576static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamHDRMetaData(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_HDR_METADATA_TYPE *type,UINT size,void *meta_data) {
2577 This->lpVtbl->VideoProcessorGetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data);
2578}
2579#endif
2580#endif
2581
2582#endif
2583
2584
2585#endif /* __ID3D11VideoContext2_INTERFACE_DEFINED__ */
2586
2587/* Begin additional prototypes for all interfaces */
2588
2589
2590/* End additional prototypes */
2591
2592#ifdef __cplusplus
2593}
2594#endif
2595
2596#endif /* __d3d11_4_h__ */
Note: See TracBrowser for help on using the repository browser.