/*** Autogenerated by WIDL 7.7 from include/d3d11_4.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __d3d11_4_h__ #define __d3d11_4_h__ /* Forward declarations */ #ifndef __ID3D11Device4_FWD_DEFINED__ #define __ID3D11Device4_FWD_DEFINED__ typedef interface ID3D11Device4 ID3D11Device4; #ifdef __cplusplus interface ID3D11Device4; #endif /* __cplusplus */ #endif #ifndef __ID3D11Device5_FWD_DEFINED__ #define __ID3D11Device5_FWD_DEFINED__ typedef interface ID3D11Device5 ID3D11Device5; #ifdef __cplusplus interface ID3D11Device5; #endif /* __cplusplus */ #endif #ifndef __ID3D11Multithread_FWD_DEFINED__ #define __ID3D11Multithread_FWD_DEFINED__ typedef interface ID3D11Multithread ID3D11Multithread; #ifdef __cplusplus interface ID3D11Multithread; #endif /* __cplusplus */ #endif #ifndef __ID3D11VideoContext2_FWD_DEFINED__ #define __ID3D11VideoContext2_FWD_DEFINED__ typedef interface ID3D11VideoContext2 ID3D11VideoContext2; #ifdef __cplusplus interface ID3D11VideoContext2; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS4 { WINBOOL ExtendedNV12SharedTextureSupported; } D3D11_FEATURE_DATA_D3D11_OPTIONS4; /***************************************************************************** * ID3D11Device4 interface */ #ifndef __ID3D11Device4_INTERFACE_DEFINED__ #define __ID3D11Device4_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID3D11Device4, 0x8992ab71, 0x02e6, 0x4b8d, 0xba,0x48, 0xb0,0x56,0xdc,0xda,0x42,0xc4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8992ab71-02e6-4b8d-ba48-b056dcda42c4") ID3D11Device4 : public ID3D11Device3 { virtual HRESULT STDMETHODCALLTYPE RegisterDeviceRemovedEvent( HANDLE event, DWORD *cookie) = 0; virtual void STDMETHODCALLTYPE UnregisterDeviceRemoved( DWORD cookie) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID3D11Device4, 0x8992ab71, 0x02e6, 0x4b8d, 0xba,0x48, 0xb0,0x56,0xdc,0xda,0x42,0xc4) #endif #else typedef struct ID3D11Device4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID3D11Device4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID3D11Device4 *This); ULONG (STDMETHODCALLTYPE *Release)( ID3D11Device4 *This); /*** ID3D11Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBuffer)( ID3D11Device4 *This, const D3D11_BUFFER_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Buffer **ppBuffer); HRESULT (STDMETHODCALLTYPE *CreateTexture1D)( ID3D11Device4 *This, const D3D11_TEXTURE1D_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Texture1D **ppTexture1D); HRESULT (STDMETHODCALLTYPE *CreateTexture2D)( ID3D11Device4 *This, const D3D11_TEXTURE2D_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Texture2D **ppTexture2D); HRESULT (STDMETHODCALLTYPE *CreateTexture3D)( ID3D11Device4 *This, const D3D11_TEXTURE3D_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Texture3D **ppTexture3D); HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)( ID3D11Device4 *This, ID3D11Resource *pResource, const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc, ID3D11ShaderResourceView **ppSRView); HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)( ID3D11Device4 *This, ID3D11Resource *pResource, const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc, ID3D11UnorderedAccessView **ppUAView); HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)( ID3D11Device4 *This, ID3D11Resource *pResource, const D3D11_RENDER_TARGET_VIEW_DESC *pDesc, ID3D11RenderTargetView **ppRTView); HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)( ID3D11Device4 *This, ID3D11Resource *pResource, const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc, ID3D11DepthStencilView **ppDepthStencilView); HRESULT (STDMETHODCALLTYPE *CreateInputLayout)( ID3D11Device4 *This, const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs, UINT NumElements, const void *pShaderBytecodeWithInputSignature, SIZE_T BytecodeLength, ID3D11InputLayout **ppInputLayout); HRESULT (STDMETHODCALLTYPE *CreateVertexShader)( ID3D11Device4 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11VertexShader **ppVertexShader); HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)( ID3D11Device4 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11GeometryShader **ppGeometryShader); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreatePixelShader)( ID3D11Device4 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11PixelShader **ppPixelShader); HRESULT (STDMETHODCALLTYPE *CreateHullShader)( ID3D11Device4 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11HullShader **ppHullShader); HRESULT (STDMETHODCALLTYPE *CreateDomainShader)( ID3D11Device4 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11DomainShader **ppDomainShader); HRESULT (STDMETHODCALLTYPE *CreateComputeShader)( ID3D11Device4 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11ComputeShader **ppComputeShader); HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)( ID3D11Device4 *This, ID3D11ClassLinkage **ppLinkage); HRESULT (STDMETHODCALLTYPE *CreateBlendState)( ID3D11Device4 *This, const D3D11_BLEND_DESC *pBlendStateDesc, ID3D11BlendState **ppBlendState); HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)( ID3D11Device4 *This, const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc, ID3D11DepthStencilState **ppDepthStencilState); HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)( ID3D11Device4 *This, const D3D11_RASTERIZER_DESC *pRasterizerDesc, ID3D11RasterizerState **ppRasterizerState); HRESULT (STDMETHODCALLTYPE *CreateSamplerState)( ID3D11Device4 *This, const D3D11_SAMPLER_DESC *pSamplerDesc, ID3D11SamplerState **ppSamplerState); HRESULT (STDMETHODCALLTYPE *CreateQuery)( ID3D11Device4 *This, const D3D11_QUERY_DESC *pQueryDesc, ID3D11Query **ppQuery); HRESULT (STDMETHODCALLTYPE *CreatePredicate)( ID3D11Device4 *This, const D3D11_QUERY_DESC *pPredicateDesc, ID3D11Predicate **ppPredicate); HRESULT (STDMETHODCALLTYPE *CreateCounter)( ID3D11Device4 *This, const D3D11_COUNTER_DESC *pCounterDesc, ID3D11Counter **ppCounter); HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)( ID3D11Device4 *This, UINT ContextFlags, ID3D11DeviceContext **ppDeferredContext); HRESULT (STDMETHODCALLTYPE *OpenSharedResource)( ID3D11Device4 *This, HANDLE hResource, REFIID ReturnedInterface, void **ppResource); HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)( ID3D11Device4 *This, DXGI_FORMAT Format, UINT *pFormatSupport); HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)( ID3D11Device4 *This, DXGI_FORMAT Format, UINT SampleCount, UINT *pNumQualityLevels); void (STDMETHODCALLTYPE *CheckCounterInfo)( ID3D11Device4 *This, D3D11_COUNTER_INFO *pCounterInfo); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( ID3D11Device4 *This, D3D11_FEATURE Feature, void *pFeatureSupportData, UINT FeatureSupportDataSize); HRESULT (STDMETHODCALLTYPE *GetPrivateData)( ID3D11Device4 *This, REFGUID guid, UINT *pDataSize, void *pData); HRESULT (STDMETHODCALLTYPE *SetPrivateData)( ID3D11Device4 *This, REFGUID guid, UINT DataSize, const void *pData); HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( ID3D11Device4 *This, REFGUID guid, const IUnknown *pData); D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)( ID3D11Device4 *This); UINT (STDMETHODCALLTYPE *GetCreationFlags)( ID3D11Device4 *This); HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( ID3D11Device4 *This); void (STDMETHODCALLTYPE *GetImmediateContext)( ID3D11Device4 *This, ID3D11DeviceContext **ppImmediateContext); HRESULT (STDMETHODCALLTYPE *SetExceptionMode)( ID3D11Device4 *This, UINT RaiseFlags); UINT (STDMETHODCALLTYPE *GetExceptionMode)( ID3D11Device4 *This); /*** ID3D11Device1 methods ***/ void (STDMETHODCALLTYPE *GetImmediateContext1)( ID3D11Device4 *This, ID3D11DeviceContext1 **ppImmediateContext); HRESULT (STDMETHODCALLTYPE *CreateDeferredContext1)( ID3D11Device4 *This, UINT ContextFlags, ID3D11DeviceContext1 **ppDeferredContext); HRESULT (STDMETHODCALLTYPE *CreateBlendState1)( ID3D11Device4 *This, const D3D11_BLEND_DESC1 *pBlendStateDesc, ID3D11BlendState1 **ppBlendState); HRESULT (STDMETHODCALLTYPE *CreateRasterizerState1)( ID3D11Device4 *This, const D3D11_RASTERIZER_DESC1 *pRasterizerDesc, ID3D11RasterizerState1 **ppRasterizerState); HRESULT (STDMETHODCALLTYPE *CreateDeviceContextState)( ID3D11Device4 *This, UINT Flags, const D3D_FEATURE_LEVEL *pFeatureLevels, UINT FeatureLevels, UINT SDKVersion, REFIID EmulatedInterface, D3D_FEATURE_LEVEL *pChosenFeatureLevel, ID3DDeviceContextState **ppContextState); HRESULT (STDMETHODCALLTYPE *OpenSharedResource1)( ID3D11Device4 *This, HANDLE hResource, REFIID returnedInterface, void **ppResource); HRESULT (STDMETHODCALLTYPE *OpenSharedResourceByName)( ID3D11Device4 *This, LPCWSTR lpName, DWORD dwDesiredAccess, REFIID returnedInterface, void **ppResource); /*** ID3D11Device2 methods ***/ void (STDMETHODCALLTYPE *GetImmediateContext2)( ID3D11Device4 *This, ID3D11DeviceContext2 **context); HRESULT (STDMETHODCALLTYPE *CreateDeferredContext2)( ID3D11Device4 *This, UINT flags, ID3D11DeviceContext2 **context); void (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels1)( ID3D11Device4 *This, DXGI_FORMAT format, UINT sample_count, UINT flags, UINT *quality_level_count); /*** ID3D11Device3 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateTexture2D1)( ID3D11Device4 *This, const D3D11_TEXTURE2D_DESC1 *desc, const D3D11_SUBRESOURCE_DATA *initial_data, ID3D11Texture2D1 **texture); HRESULT (STDMETHODCALLTYPE *CreateTexture3D1)( ID3D11Device4 *This, const D3D11_TEXTURE3D_DESC1 *desc, const D3D11_SUBRESOURCE_DATA *initial_data, ID3D11Texture3D1 **texture); HRESULT (STDMETHODCALLTYPE *CreateRasterizerState2)( ID3D11Device4 *This, const D3D11_RASTERIZER_DESC2 *desc, ID3D11RasterizerState2 **state); HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView1)( ID3D11Device4 *This, ID3D11Resource *resource, const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc, ID3D11ShaderResourceView1 **view); HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView1)( ID3D11Device4 *This, ID3D11Resource *resource, const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc, ID3D11UnorderedAccessView1 **view); HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView1)( ID3D11Device4 *This, ID3D11Resource *resource, const D3D11_RENDER_TARGET_VIEW_DESC1 *desc, ID3D11RenderTargetView1 **view); HRESULT (STDMETHODCALLTYPE *CreateQuery1)( ID3D11Device4 *This, const D3D11_QUERY_DESC1 *desc, ID3D11Query1 **query); void (STDMETHODCALLTYPE *GetImmediateContext3)( ID3D11Device4 *This, ID3D11DeviceContext3 **context); HRESULT (STDMETHODCALLTYPE *CreateDeferredContext3)( ID3D11Device4 *This, UINT flags, ID3D11DeviceContext3 **context); void (STDMETHODCALLTYPE *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); void (STDMETHODCALLTYPE *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); /*** ID3D11Device4 methods ***/ HRESULT (STDMETHODCALLTYPE *RegisterDeviceRemovedEvent)( ID3D11Device4 *This, HANDLE event, DWORD *cookie); void (STDMETHODCALLTYPE *UnregisterDeviceRemoved)( ID3D11Device4 *This, DWORD cookie); END_INTERFACE } ID3D11Device4Vtbl; interface ID3D11Device4 { CONST_VTBL ID3D11Device4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID3D11Device4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID3D11Device4_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID3D11Device4_Release(This) (This)->lpVtbl->Release(This) /*** ID3D11Device methods ***/ #define ID3D11Device4_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer) #define ID3D11Device4_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) #define ID3D11Device4_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) #define ID3D11Device4_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) #define ID3D11Device4_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView) #define ID3D11Device4_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) #define ID3D11Device4_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView) #define ID3D11Device4_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) #define ID3D11Device4_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) #define ID3D11Device4_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) #define ID3D11Device4_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) #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) #define ID3D11Device4_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) #define ID3D11Device4_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) #define ID3D11Device4_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) #define ID3D11Device4_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) #define ID3D11Device4_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage) #define ID3D11Device4_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState) #define ID3D11Device4_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) #define ID3D11Device4_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) #define ID3D11Device4_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState) #define ID3D11Device4_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery) #define ID3D11Device4_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate) #define ID3D11Device4_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter) #define ID3D11Device4_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext) #define ID3D11Device4_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource) #define ID3D11Device4_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport) #define ID3D11Device4_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) #define ID3D11Device4_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo) #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) #define ID3D11Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) #define ID3D11Device4_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData) #define ID3D11Device4_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData) #define ID3D11Device4_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData) #define ID3D11Device4_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This) #define ID3D11Device4_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This) #define ID3D11Device4_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) #define ID3D11Device4_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext) #define ID3D11Device4_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags) #define ID3D11Device4_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This) /*** ID3D11Device1 methods ***/ #define ID3D11Device4_GetImmediateContext1(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext1(This,ppImmediateContext) #define ID3D11Device4_CreateDeferredContext1(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext) #define ID3D11Device4_CreateBlendState1(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState) #define ID3D11Device4_CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) #define ID3D11Device4_CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) (This)->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) #define ID3D11Device4_OpenSharedResource1(This,hResource,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource) #define ID3D11Device4_OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) /*** ID3D11Device2 methods ***/ #define ID3D11Device4_GetImmediateContext2(This,context) (This)->lpVtbl->GetImmediateContext2(This,context) #define ID3D11Device4_CreateDeferredContext2(This,flags,context) (This)->lpVtbl->CreateDeferredContext2(This,flags,context) #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) #define ID3D11Device4_CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count) (This)->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count) /*** ID3D11Device3 methods ***/ #define ID3D11Device4_CreateTexture2D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture) #define ID3D11Device4_CreateTexture3D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture) #define ID3D11Device4_CreateRasterizerState2(This,desc,state) (This)->lpVtbl->CreateRasterizerState2(This,desc,state) #define ID3D11Device4_CreateShaderResourceView1(This,resource,desc,view) (This)->lpVtbl->CreateShaderResourceView1(This,resource,desc,view) #define ID3D11Device4_CreateUnorderedAccessView1(This,resource,desc,view) (This)->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view) #define ID3D11Device4_CreateRenderTargetView1(This,resource,desc,view) (This)->lpVtbl->CreateRenderTargetView1(This,resource,desc,view) #define ID3D11Device4_CreateQuery1(This,desc,query) (This)->lpVtbl->CreateQuery1(This,desc,query) #define ID3D11Device4_GetImmediateContext3(This,context) (This)->lpVtbl->GetImmediateContext3(This,context) #define ID3D11Device4_CreateDeferredContext3(This,flags,context) (This)->lpVtbl->CreateDeferredContext3(This,flags,context) #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) #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) /*** ID3D11Device4 methods ***/ #define ID3D11Device4_RegisterDeviceRemovedEvent(This,event,cookie) (This)->lpVtbl->RegisterDeviceRemovedEvent(This,event,cookie) #define ID3D11Device4_UnregisterDeviceRemoved(This,cookie) (This)->lpVtbl->UnregisterDeviceRemoved(This,cookie) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ID3D11Device4_QueryInterface(ID3D11Device4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ID3D11Device4_AddRef(ID3D11Device4* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ID3D11Device4_Release(ID3D11Device4* This) { return This->lpVtbl->Release(This); } /*** ID3D11Device methods ***/ static FORCEINLINE HRESULT ID3D11Device4_CreateBuffer(ID3D11Device4* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) { return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer); } static FORCEINLINE HRESULT ID3D11Device4_CreateTexture1D(ID3D11Device4* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) { return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D); } static FORCEINLINE HRESULT ID3D11Device4_CreateTexture2D(ID3D11Device4* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) { return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D); } static FORCEINLINE HRESULT ID3D11Device4_CreateTexture3D(ID3D11Device4* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) { return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D); } static FORCEINLINE HRESULT ID3D11Device4_CreateShaderResourceView(ID3D11Device4* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) { return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView); } static FORCEINLINE HRESULT ID3D11Device4_CreateUnorderedAccessView(ID3D11Device4* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) { return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView); } static FORCEINLINE HRESULT ID3D11Device4_CreateRenderTargetView(ID3D11Device4* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) { return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView); } static FORCEINLINE HRESULT ID3D11Device4_CreateDepthStencilView(ID3D11Device4* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) { return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView); } static FORCEINLINE HRESULT ID3D11Device4_CreateInputLayout(ID3D11Device4* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) { return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout); } static FORCEINLINE HRESULT ID3D11Device4_CreateVertexShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) { return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader); } static FORCEINLINE HRESULT ID3D11Device4_CreateGeometryShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) { return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader); } static 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) { return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader); } static FORCEINLINE HRESULT ID3D11Device4_CreatePixelShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) { return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader); } static FORCEINLINE HRESULT ID3D11Device4_CreateHullShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) { return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader); } static FORCEINLINE HRESULT ID3D11Device4_CreateDomainShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) { return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader); } static FORCEINLINE HRESULT ID3D11Device4_CreateComputeShader(ID3D11Device4* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) { return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader); } static FORCEINLINE HRESULT ID3D11Device4_CreateClassLinkage(ID3D11Device4* This,ID3D11ClassLinkage **ppLinkage) { return This->lpVtbl->CreateClassLinkage(This,ppLinkage); } static FORCEINLINE HRESULT ID3D11Device4_CreateBlendState(ID3D11Device4* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) { return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState); } static FORCEINLINE HRESULT ID3D11Device4_CreateDepthStencilState(ID3D11Device4* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) { return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState); } static FORCEINLINE HRESULT ID3D11Device4_CreateRasterizerState(ID3D11Device4* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) { return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState); } static FORCEINLINE HRESULT ID3D11Device4_CreateSamplerState(ID3D11Device4* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) { return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState); } static FORCEINLINE HRESULT ID3D11Device4_CreateQuery(ID3D11Device4* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) { return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery); } static FORCEINLINE HRESULT ID3D11Device4_CreatePredicate(ID3D11Device4* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) { return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate); } static FORCEINLINE HRESULT ID3D11Device4_CreateCounter(ID3D11Device4* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) { return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter); } static FORCEINLINE HRESULT ID3D11Device4_CreateDeferredContext(ID3D11Device4* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) { return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext); } static FORCEINLINE HRESULT ID3D11Device4_OpenSharedResource(ID3D11Device4* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) { return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource); } static FORCEINLINE HRESULT ID3D11Device4_CheckFormatSupport(ID3D11Device4* This,DXGI_FORMAT Format,UINT *pFormatSupport) { return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport); } static FORCEINLINE HRESULT ID3D11Device4_CheckMultisampleQualityLevels(ID3D11Device4* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) { return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels); } static FORCEINLINE void ID3D11Device4_CheckCounterInfo(ID3D11Device4* This,D3D11_COUNTER_INFO *pCounterInfo) { This->lpVtbl->CheckCounterInfo(This,pCounterInfo); } static 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) { return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength); } static FORCEINLINE HRESULT ID3D11Device4_CheckFeatureSupport(ID3D11Device4* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) { return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize); } static FORCEINLINE HRESULT ID3D11Device4_GetPrivateData(ID3D11Device4* This,REFGUID guid,UINT *pDataSize,void *pData) { return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData); } static FORCEINLINE HRESULT ID3D11Device4_SetPrivateData(ID3D11Device4* This,REFGUID guid,UINT DataSize,const void *pData) { return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData); } static FORCEINLINE HRESULT ID3D11Device4_SetPrivateDataInterface(ID3D11Device4* This,REFGUID guid,const IUnknown *pData) { return This->lpVtbl->SetPrivateDataInterface(This,guid,pData); } static FORCEINLINE D3D_FEATURE_LEVEL ID3D11Device4_GetFeatureLevel(ID3D11Device4* This) { return This->lpVtbl->GetFeatureLevel(This); } static FORCEINLINE UINT ID3D11Device4_GetCreationFlags(ID3D11Device4* This) { return This->lpVtbl->GetCreationFlags(This); } static FORCEINLINE HRESULT ID3D11Device4_GetDeviceRemovedReason(ID3D11Device4* This) { return This->lpVtbl->GetDeviceRemovedReason(This); } static FORCEINLINE void ID3D11Device4_GetImmediateContext(ID3D11Device4* This,ID3D11DeviceContext **ppImmediateContext) { This->lpVtbl->GetImmediateContext(This,ppImmediateContext); } static FORCEINLINE HRESULT ID3D11Device4_SetExceptionMode(ID3D11Device4* This,UINT RaiseFlags) { return This->lpVtbl->SetExceptionMode(This,RaiseFlags); } static FORCEINLINE UINT ID3D11Device4_GetExceptionMode(ID3D11Device4* This) { return This->lpVtbl->GetExceptionMode(This); } /*** ID3D11Device1 methods ***/ static FORCEINLINE void ID3D11Device4_GetImmediateContext1(ID3D11Device4* This,ID3D11DeviceContext1 **ppImmediateContext) { This->lpVtbl->GetImmediateContext1(This,ppImmediateContext); } static FORCEINLINE HRESULT ID3D11Device4_CreateDeferredContext1(ID3D11Device4* This,UINT ContextFlags,ID3D11DeviceContext1 **ppDeferredContext) { return This->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext); } static FORCEINLINE HRESULT ID3D11Device4_CreateBlendState1(ID3D11Device4* This,const D3D11_BLEND_DESC1 *pBlendStateDesc,ID3D11BlendState1 **ppBlendState) { return This->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState); } static FORCEINLINE HRESULT ID3D11Device4_CreateRasterizerState1(ID3D11Device4* This,const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,ID3D11RasterizerState1 **ppRasterizerState) { return This->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState); } static 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) { return This->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState); } static FORCEINLINE HRESULT ID3D11Device4_OpenSharedResource1(ID3D11Device4* This,HANDLE hResource,REFIID returnedInterface,void **ppResource) { return This->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource); } static FORCEINLINE HRESULT ID3D11Device4_OpenSharedResourceByName(ID3D11Device4* This,LPCWSTR lpName,DWORD dwDesiredAccess,REFIID returnedInterface,void **ppResource) { return This->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource); } /*** ID3D11Device2 methods ***/ static FORCEINLINE void ID3D11Device4_GetImmediateContext2(ID3D11Device4* This,ID3D11DeviceContext2 **context) { This->lpVtbl->GetImmediateContext2(This,context); } static FORCEINLINE HRESULT ID3D11Device4_CreateDeferredContext2(ID3D11Device4* This,UINT flags,ID3D11DeviceContext2 **context) { return This->lpVtbl->CreateDeferredContext2(This,flags,context); } static 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) { This->lpVtbl->GetResourceTiling(This,resource,tile_count,mip_desc,tile_shape,subresource_tiling_count,first_subresource_tiling,subresource_tiling); } static FORCEINLINE HRESULT ID3D11Device4_CheckMultisampleQualityLevels1(ID3D11Device4* This,DXGI_FORMAT format,UINT sample_count,UINT flags,UINT *quality_level_count) { return This->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count); } /*** ID3D11Device3 methods ***/ static FORCEINLINE HRESULT ID3D11Device4_CreateTexture2D1(ID3D11Device4* This,const D3D11_TEXTURE2D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture2D1 **texture) { return This->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture); } static FORCEINLINE HRESULT ID3D11Device4_CreateTexture3D1(ID3D11Device4* This,const D3D11_TEXTURE3D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture3D1 **texture) { return This->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture); } static FORCEINLINE HRESULT ID3D11Device4_CreateRasterizerState2(ID3D11Device4* This,const D3D11_RASTERIZER_DESC2 *desc,ID3D11RasterizerState2 **state) { return This->lpVtbl->CreateRasterizerState2(This,desc,state); } static FORCEINLINE HRESULT ID3D11Device4_CreateShaderResourceView1(ID3D11Device4* This,ID3D11Resource *resource,const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,ID3D11ShaderResourceView1 **view) { return This->lpVtbl->CreateShaderResourceView1(This,resource,desc,view); } static FORCEINLINE HRESULT ID3D11Device4_CreateUnorderedAccessView1(ID3D11Device4* This,ID3D11Resource *resource,const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,ID3D11UnorderedAccessView1 **view) { return This->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view); } static FORCEINLINE HRESULT ID3D11Device4_CreateRenderTargetView1(ID3D11Device4* This,ID3D11Resource *resource,const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,ID3D11RenderTargetView1 **view) { return This->lpVtbl->CreateRenderTargetView1(This,resource,desc,view); } static FORCEINLINE HRESULT ID3D11Device4_CreateQuery1(ID3D11Device4* This,const D3D11_QUERY_DESC1 *desc,ID3D11Query1 **query) { return This->lpVtbl->CreateQuery1(This,desc,query); } static FORCEINLINE void ID3D11Device4_GetImmediateContext3(ID3D11Device4* This,ID3D11DeviceContext3 **context) { This->lpVtbl->GetImmediateContext3(This,context); } static FORCEINLINE HRESULT ID3D11Device4_CreateDeferredContext3(ID3D11Device4* This,UINT flags,ID3D11DeviceContext3 **context) { return This->lpVtbl->CreateDeferredContext3(This,flags,context); } static 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) { This->lpVtbl->WriteToSubresource(This,dst_resource,dst_subresource,dst_box,src_data,src_row_pitch,src_depth_pitch); } static 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) { This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_depth_pitch,src_resource,src_subresource,src_box); } /*** ID3D11Device4 methods ***/ static FORCEINLINE HRESULT ID3D11Device4_RegisterDeviceRemovedEvent(ID3D11Device4* This,HANDLE event,DWORD *cookie) { return This->lpVtbl->RegisterDeviceRemovedEvent(This,event,cookie); } static FORCEINLINE void ID3D11Device4_UnregisterDeviceRemoved(ID3D11Device4* This,DWORD cookie) { This->lpVtbl->UnregisterDeviceRemoved(This,cookie); } #endif #endif #endif #endif /* __ID3D11Device4_INTERFACE_DEFINED__ */ /***************************************************************************** * ID3D11Device5 interface */ #ifndef __ID3D11Device5_INTERFACE_DEFINED__ #define __ID3D11Device5_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID3D11Device5, 0x8ffde202, 0xa0e7, 0x45df, 0x9e,0x01, 0xe8,0x37,0x80,0x1b,0x5e,0xa0); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8ffde202-a0e7-45df-9e01-e837801b5ea0") ID3D11Device5 : public ID3D11Device4 { virtual HRESULT STDMETHODCALLTYPE OpenSharedFence( HANDLE handle, REFIID iid, void **fence) = 0; virtual HRESULT STDMETHODCALLTYPE CreateFence( UINT64 initial_value, D3D11_FENCE_FLAG flags, REFIID iid, void **fence) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID3D11Device5, 0x8ffde202, 0xa0e7, 0x45df, 0x9e,0x01, 0xe8,0x37,0x80,0x1b,0x5e,0xa0) #endif #else typedef struct ID3D11Device5Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID3D11Device5 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID3D11Device5 *This); ULONG (STDMETHODCALLTYPE *Release)( ID3D11Device5 *This); /*** ID3D11Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateBuffer)( ID3D11Device5 *This, const D3D11_BUFFER_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Buffer **ppBuffer); HRESULT (STDMETHODCALLTYPE *CreateTexture1D)( ID3D11Device5 *This, const D3D11_TEXTURE1D_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Texture1D **ppTexture1D); HRESULT (STDMETHODCALLTYPE *CreateTexture2D)( ID3D11Device5 *This, const D3D11_TEXTURE2D_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Texture2D **ppTexture2D); HRESULT (STDMETHODCALLTYPE *CreateTexture3D)( ID3D11Device5 *This, const D3D11_TEXTURE3D_DESC *pDesc, const D3D11_SUBRESOURCE_DATA *pInitialData, ID3D11Texture3D **ppTexture3D); HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)( ID3D11Device5 *This, ID3D11Resource *pResource, const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc, ID3D11ShaderResourceView **ppSRView); HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)( ID3D11Device5 *This, ID3D11Resource *pResource, const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc, ID3D11UnorderedAccessView **ppUAView); HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)( ID3D11Device5 *This, ID3D11Resource *pResource, const D3D11_RENDER_TARGET_VIEW_DESC *pDesc, ID3D11RenderTargetView **ppRTView); HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)( ID3D11Device5 *This, ID3D11Resource *pResource, const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc, ID3D11DepthStencilView **ppDepthStencilView); HRESULT (STDMETHODCALLTYPE *CreateInputLayout)( ID3D11Device5 *This, const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs, UINT NumElements, const void *pShaderBytecodeWithInputSignature, SIZE_T BytecodeLength, ID3D11InputLayout **ppInputLayout); HRESULT (STDMETHODCALLTYPE *CreateVertexShader)( ID3D11Device5 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11VertexShader **ppVertexShader); HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)( ID3D11Device5 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11GeometryShader **ppGeometryShader); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CreatePixelShader)( ID3D11Device5 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11PixelShader **ppPixelShader); HRESULT (STDMETHODCALLTYPE *CreateHullShader)( ID3D11Device5 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11HullShader **ppHullShader); HRESULT (STDMETHODCALLTYPE *CreateDomainShader)( ID3D11Device5 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11DomainShader **ppDomainShader); HRESULT (STDMETHODCALLTYPE *CreateComputeShader)( ID3D11Device5 *This, const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage *pClassLinkage, ID3D11ComputeShader **ppComputeShader); HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)( ID3D11Device5 *This, ID3D11ClassLinkage **ppLinkage); HRESULT (STDMETHODCALLTYPE *CreateBlendState)( ID3D11Device5 *This, const D3D11_BLEND_DESC *pBlendStateDesc, ID3D11BlendState **ppBlendState); HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)( ID3D11Device5 *This, const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc, ID3D11DepthStencilState **ppDepthStencilState); HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)( ID3D11Device5 *This, const D3D11_RASTERIZER_DESC *pRasterizerDesc, ID3D11RasterizerState **ppRasterizerState); HRESULT (STDMETHODCALLTYPE *CreateSamplerState)( ID3D11Device5 *This, const D3D11_SAMPLER_DESC *pSamplerDesc, ID3D11SamplerState **ppSamplerState); HRESULT (STDMETHODCALLTYPE *CreateQuery)( ID3D11Device5 *This, const D3D11_QUERY_DESC *pQueryDesc, ID3D11Query **ppQuery); HRESULT (STDMETHODCALLTYPE *CreatePredicate)( ID3D11Device5 *This, const D3D11_QUERY_DESC *pPredicateDesc, ID3D11Predicate **ppPredicate); HRESULT (STDMETHODCALLTYPE *CreateCounter)( ID3D11Device5 *This, const D3D11_COUNTER_DESC *pCounterDesc, ID3D11Counter **ppCounter); HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)( ID3D11Device5 *This, UINT ContextFlags, ID3D11DeviceContext **ppDeferredContext); HRESULT (STDMETHODCALLTYPE *OpenSharedResource)( ID3D11Device5 *This, HANDLE hResource, REFIID ReturnedInterface, void **ppResource); HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)( ID3D11Device5 *This, DXGI_FORMAT Format, UINT *pFormatSupport); HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)( ID3D11Device5 *This, DXGI_FORMAT Format, UINT SampleCount, UINT *pNumQualityLevels); void (STDMETHODCALLTYPE *CheckCounterInfo)( ID3D11Device5 *This, D3D11_COUNTER_INFO *pCounterInfo); HRESULT (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( ID3D11Device5 *This, D3D11_FEATURE Feature, void *pFeatureSupportData, UINT FeatureSupportDataSize); HRESULT (STDMETHODCALLTYPE *GetPrivateData)( ID3D11Device5 *This, REFGUID guid, UINT *pDataSize, void *pData); HRESULT (STDMETHODCALLTYPE *SetPrivateData)( ID3D11Device5 *This, REFGUID guid, UINT DataSize, const void *pData); HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( ID3D11Device5 *This, REFGUID guid, const IUnknown *pData); D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)( ID3D11Device5 *This); UINT (STDMETHODCALLTYPE *GetCreationFlags)( ID3D11Device5 *This); HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( ID3D11Device5 *This); void (STDMETHODCALLTYPE *GetImmediateContext)( ID3D11Device5 *This, ID3D11DeviceContext **ppImmediateContext); HRESULT (STDMETHODCALLTYPE *SetExceptionMode)( ID3D11Device5 *This, UINT RaiseFlags); UINT (STDMETHODCALLTYPE *GetExceptionMode)( ID3D11Device5 *This); /*** ID3D11Device1 methods ***/ void (STDMETHODCALLTYPE *GetImmediateContext1)( ID3D11Device5 *This, ID3D11DeviceContext1 **ppImmediateContext); HRESULT (STDMETHODCALLTYPE *CreateDeferredContext1)( ID3D11Device5 *This, UINT ContextFlags, ID3D11DeviceContext1 **ppDeferredContext); HRESULT (STDMETHODCALLTYPE *CreateBlendState1)( ID3D11Device5 *This, const D3D11_BLEND_DESC1 *pBlendStateDesc, ID3D11BlendState1 **ppBlendState); HRESULT (STDMETHODCALLTYPE *CreateRasterizerState1)( ID3D11Device5 *This, const D3D11_RASTERIZER_DESC1 *pRasterizerDesc, ID3D11RasterizerState1 **ppRasterizerState); HRESULT (STDMETHODCALLTYPE *CreateDeviceContextState)( ID3D11Device5 *This, UINT Flags, const D3D_FEATURE_LEVEL *pFeatureLevels, UINT FeatureLevels, UINT SDKVersion, REFIID EmulatedInterface, D3D_FEATURE_LEVEL *pChosenFeatureLevel, ID3DDeviceContextState **ppContextState); HRESULT (STDMETHODCALLTYPE *OpenSharedResource1)( ID3D11Device5 *This, HANDLE hResource, REFIID returnedInterface, void **ppResource); HRESULT (STDMETHODCALLTYPE *OpenSharedResourceByName)( ID3D11Device5 *This, LPCWSTR lpName, DWORD dwDesiredAccess, REFIID returnedInterface, void **ppResource); /*** ID3D11Device2 methods ***/ void (STDMETHODCALLTYPE *GetImmediateContext2)( ID3D11Device5 *This, ID3D11DeviceContext2 **context); HRESULT (STDMETHODCALLTYPE *CreateDeferredContext2)( ID3D11Device5 *This, UINT flags, ID3D11DeviceContext2 **context); void (STDMETHODCALLTYPE *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); HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels1)( ID3D11Device5 *This, DXGI_FORMAT format, UINT sample_count, UINT flags, UINT *quality_level_count); /*** ID3D11Device3 methods ***/ HRESULT (STDMETHODCALLTYPE *CreateTexture2D1)( ID3D11Device5 *This, const D3D11_TEXTURE2D_DESC1 *desc, const D3D11_SUBRESOURCE_DATA *initial_data, ID3D11Texture2D1 **texture); HRESULT (STDMETHODCALLTYPE *CreateTexture3D1)( ID3D11Device5 *This, const D3D11_TEXTURE3D_DESC1 *desc, const D3D11_SUBRESOURCE_DATA *initial_data, ID3D11Texture3D1 **texture); HRESULT (STDMETHODCALLTYPE *CreateRasterizerState2)( ID3D11Device5 *This, const D3D11_RASTERIZER_DESC2 *desc, ID3D11RasterizerState2 **state); HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView1)( ID3D11Device5 *This, ID3D11Resource *resource, const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc, ID3D11ShaderResourceView1 **view); HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView1)( ID3D11Device5 *This, ID3D11Resource *resource, const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc, ID3D11UnorderedAccessView1 **view); HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView1)( ID3D11Device5 *This, ID3D11Resource *resource, const D3D11_RENDER_TARGET_VIEW_DESC1 *desc, ID3D11RenderTargetView1 **view); HRESULT (STDMETHODCALLTYPE *CreateQuery1)( ID3D11Device5 *This, const D3D11_QUERY_DESC1 *desc, ID3D11Query1 **query); void (STDMETHODCALLTYPE *GetImmediateContext3)( ID3D11Device5 *This, ID3D11DeviceContext3 **context); HRESULT (STDMETHODCALLTYPE *CreateDeferredContext3)( ID3D11Device5 *This, UINT flags, ID3D11DeviceContext3 **context); void (STDMETHODCALLTYPE *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); void (STDMETHODCALLTYPE *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); /*** ID3D11Device4 methods ***/ HRESULT (STDMETHODCALLTYPE *RegisterDeviceRemovedEvent)( ID3D11Device5 *This, HANDLE event, DWORD *cookie); void (STDMETHODCALLTYPE *UnregisterDeviceRemoved)( ID3D11Device5 *This, DWORD cookie); /*** ID3D11Device5 methods ***/ HRESULT (STDMETHODCALLTYPE *OpenSharedFence)( ID3D11Device5 *This, HANDLE handle, REFIID iid, void **fence); HRESULT (STDMETHODCALLTYPE *CreateFence)( ID3D11Device5 *This, UINT64 initial_value, D3D11_FENCE_FLAG flags, REFIID iid, void **fence); END_INTERFACE } ID3D11Device5Vtbl; interface ID3D11Device5 { CONST_VTBL ID3D11Device5Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID3D11Device5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID3D11Device5_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID3D11Device5_Release(This) (This)->lpVtbl->Release(This) /*** ID3D11Device methods ***/ #define ID3D11Device5_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer) #define ID3D11Device5_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) #define ID3D11Device5_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) #define ID3D11Device5_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) #define ID3D11Device5_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView) #define ID3D11Device5_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) #define ID3D11Device5_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView) #define ID3D11Device5_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) #define ID3D11Device5_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) #define ID3D11Device5_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) #define ID3D11Device5_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) #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) #define ID3D11Device5_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) #define ID3D11Device5_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) #define ID3D11Device5_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) #define ID3D11Device5_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) #define ID3D11Device5_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage) #define ID3D11Device5_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState) #define ID3D11Device5_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) #define ID3D11Device5_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) #define ID3D11Device5_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState) #define ID3D11Device5_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery) #define ID3D11Device5_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate) #define ID3D11Device5_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter) #define ID3D11Device5_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext) #define ID3D11Device5_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource) #define ID3D11Device5_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport) #define ID3D11Device5_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) #define ID3D11Device5_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo) #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) #define ID3D11Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) #define ID3D11Device5_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData) #define ID3D11Device5_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData) #define ID3D11Device5_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData) #define ID3D11Device5_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This) #define ID3D11Device5_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This) #define ID3D11Device5_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) #define ID3D11Device5_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext) #define ID3D11Device5_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags) #define ID3D11Device5_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This) /*** ID3D11Device1 methods ***/ #define ID3D11Device5_GetImmediateContext1(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext1(This,ppImmediateContext) #define ID3D11Device5_CreateDeferredContext1(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext) #define ID3D11Device5_CreateBlendState1(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState) #define ID3D11Device5_CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState) #define ID3D11Device5_CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) (This)->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState) #define ID3D11Device5_OpenSharedResource1(This,hResource,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource) #define ID3D11Device5_OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) (This)->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource) /*** ID3D11Device2 methods ***/ #define ID3D11Device5_GetImmediateContext2(This,context) (This)->lpVtbl->GetImmediateContext2(This,context) #define ID3D11Device5_CreateDeferredContext2(This,flags,context) (This)->lpVtbl->CreateDeferredContext2(This,flags,context) #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) #define ID3D11Device5_CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count) (This)->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count) /*** ID3D11Device3 methods ***/ #define ID3D11Device5_CreateTexture2D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture) #define ID3D11Device5_CreateTexture3D1(This,desc,initial_data,texture) (This)->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture) #define ID3D11Device5_CreateRasterizerState2(This,desc,state) (This)->lpVtbl->CreateRasterizerState2(This,desc,state) #define ID3D11Device5_CreateShaderResourceView1(This,resource,desc,view) (This)->lpVtbl->CreateShaderResourceView1(This,resource,desc,view) #define ID3D11Device5_CreateUnorderedAccessView1(This,resource,desc,view) (This)->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view) #define ID3D11Device5_CreateRenderTargetView1(This,resource,desc,view) (This)->lpVtbl->CreateRenderTargetView1(This,resource,desc,view) #define ID3D11Device5_CreateQuery1(This,desc,query) (This)->lpVtbl->CreateQuery1(This,desc,query) #define ID3D11Device5_GetImmediateContext3(This,context) (This)->lpVtbl->GetImmediateContext3(This,context) #define ID3D11Device5_CreateDeferredContext3(This,flags,context) (This)->lpVtbl->CreateDeferredContext3(This,flags,context) #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) #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) /*** ID3D11Device4 methods ***/ #define ID3D11Device5_RegisterDeviceRemovedEvent(This,event,cookie) (This)->lpVtbl->RegisterDeviceRemovedEvent(This,event,cookie) #define ID3D11Device5_UnregisterDeviceRemoved(This,cookie) (This)->lpVtbl->UnregisterDeviceRemoved(This,cookie) /*** ID3D11Device5 methods ***/ #define ID3D11Device5_OpenSharedFence(This,handle,iid,fence) (This)->lpVtbl->OpenSharedFence(This,handle,iid,fence) #define ID3D11Device5_CreateFence(This,initial_value,flags,iid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,iid,fence) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ID3D11Device5_QueryInterface(ID3D11Device5* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ID3D11Device5_AddRef(ID3D11Device5* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ID3D11Device5_Release(ID3D11Device5* This) { return This->lpVtbl->Release(This); } /*** ID3D11Device methods ***/ static FORCEINLINE HRESULT ID3D11Device5_CreateBuffer(ID3D11Device5* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) { return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer); } static FORCEINLINE HRESULT ID3D11Device5_CreateTexture1D(ID3D11Device5* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) { return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D); } static FORCEINLINE HRESULT ID3D11Device5_CreateTexture2D(ID3D11Device5* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) { return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D); } static FORCEINLINE HRESULT ID3D11Device5_CreateTexture3D(ID3D11Device5* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) { return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D); } static FORCEINLINE HRESULT ID3D11Device5_CreateShaderResourceView(ID3D11Device5* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) { return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView); } static FORCEINLINE HRESULT ID3D11Device5_CreateUnorderedAccessView(ID3D11Device5* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) { return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView); } static FORCEINLINE HRESULT ID3D11Device5_CreateRenderTargetView(ID3D11Device5* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) { return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView); } static FORCEINLINE HRESULT ID3D11Device5_CreateDepthStencilView(ID3D11Device5* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) { return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView); } static FORCEINLINE HRESULT ID3D11Device5_CreateInputLayout(ID3D11Device5* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) { return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout); } static FORCEINLINE HRESULT ID3D11Device5_CreateVertexShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) { return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader); } static FORCEINLINE HRESULT ID3D11Device5_CreateGeometryShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) { return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader); } static 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) { return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader); } static FORCEINLINE HRESULT ID3D11Device5_CreatePixelShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) { return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader); } static FORCEINLINE HRESULT ID3D11Device5_CreateHullShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) { return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader); } static FORCEINLINE HRESULT ID3D11Device5_CreateDomainShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) { return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader); } static FORCEINLINE HRESULT ID3D11Device5_CreateComputeShader(ID3D11Device5* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) { return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader); } static FORCEINLINE HRESULT ID3D11Device5_CreateClassLinkage(ID3D11Device5* This,ID3D11ClassLinkage **ppLinkage) { return This->lpVtbl->CreateClassLinkage(This,ppLinkage); } static FORCEINLINE HRESULT ID3D11Device5_CreateBlendState(ID3D11Device5* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) { return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState); } static FORCEINLINE HRESULT ID3D11Device5_CreateDepthStencilState(ID3D11Device5* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) { return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState); } static FORCEINLINE HRESULT ID3D11Device5_CreateRasterizerState(ID3D11Device5* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) { return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState); } static FORCEINLINE HRESULT ID3D11Device5_CreateSamplerState(ID3D11Device5* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) { return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState); } static FORCEINLINE HRESULT ID3D11Device5_CreateQuery(ID3D11Device5* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) { return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery); } static FORCEINLINE HRESULT ID3D11Device5_CreatePredicate(ID3D11Device5* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) { return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate); } static FORCEINLINE HRESULT ID3D11Device5_CreateCounter(ID3D11Device5* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) { return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter); } static FORCEINLINE HRESULT ID3D11Device5_CreateDeferredContext(ID3D11Device5* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) { return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext); } static FORCEINLINE HRESULT ID3D11Device5_OpenSharedResource(ID3D11Device5* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) { return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource); } static FORCEINLINE HRESULT ID3D11Device5_CheckFormatSupport(ID3D11Device5* This,DXGI_FORMAT Format,UINT *pFormatSupport) { return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport); } static FORCEINLINE HRESULT ID3D11Device5_CheckMultisampleQualityLevels(ID3D11Device5* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) { return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels); } static FORCEINLINE void ID3D11Device5_CheckCounterInfo(ID3D11Device5* This,D3D11_COUNTER_INFO *pCounterInfo) { This->lpVtbl->CheckCounterInfo(This,pCounterInfo); } static 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) { return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength); } static FORCEINLINE HRESULT ID3D11Device5_CheckFeatureSupport(ID3D11Device5* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) { return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize); } static FORCEINLINE HRESULT ID3D11Device5_GetPrivateData(ID3D11Device5* This,REFGUID guid,UINT *pDataSize,void *pData) { return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData); } static FORCEINLINE HRESULT ID3D11Device5_SetPrivateData(ID3D11Device5* This,REFGUID guid,UINT DataSize,const void *pData) { return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData); } static FORCEINLINE HRESULT ID3D11Device5_SetPrivateDataInterface(ID3D11Device5* This,REFGUID guid,const IUnknown *pData) { return This->lpVtbl->SetPrivateDataInterface(This,guid,pData); } static FORCEINLINE D3D_FEATURE_LEVEL ID3D11Device5_GetFeatureLevel(ID3D11Device5* This) { return This->lpVtbl->GetFeatureLevel(This); } static FORCEINLINE UINT ID3D11Device5_GetCreationFlags(ID3D11Device5* This) { return This->lpVtbl->GetCreationFlags(This); } static FORCEINLINE HRESULT ID3D11Device5_GetDeviceRemovedReason(ID3D11Device5* This) { return This->lpVtbl->GetDeviceRemovedReason(This); } static FORCEINLINE void ID3D11Device5_GetImmediateContext(ID3D11Device5* This,ID3D11DeviceContext **ppImmediateContext) { This->lpVtbl->GetImmediateContext(This,ppImmediateContext); } static FORCEINLINE HRESULT ID3D11Device5_SetExceptionMode(ID3D11Device5* This,UINT RaiseFlags) { return This->lpVtbl->SetExceptionMode(This,RaiseFlags); } static FORCEINLINE UINT ID3D11Device5_GetExceptionMode(ID3D11Device5* This) { return This->lpVtbl->GetExceptionMode(This); } /*** ID3D11Device1 methods ***/ static FORCEINLINE void ID3D11Device5_GetImmediateContext1(ID3D11Device5* This,ID3D11DeviceContext1 **ppImmediateContext) { This->lpVtbl->GetImmediateContext1(This,ppImmediateContext); } static FORCEINLINE HRESULT ID3D11Device5_CreateDeferredContext1(ID3D11Device5* This,UINT ContextFlags,ID3D11DeviceContext1 **ppDeferredContext) { return This->lpVtbl->CreateDeferredContext1(This,ContextFlags,ppDeferredContext); } static FORCEINLINE HRESULT ID3D11Device5_CreateBlendState1(ID3D11Device5* This,const D3D11_BLEND_DESC1 *pBlendStateDesc,ID3D11BlendState1 **ppBlendState) { return This->lpVtbl->CreateBlendState1(This,pBlendStateDesc,ppBlendState); } static FORCEINLINE HRESULT ID3D11Device5_CreateRasterizerState1(ID3D11Device5* This,const D3D11_RASTERIZER_DESC1 *pRasterizerDesc,ID3D11RasterizerState1 **ppRasterizerState) { return This->lpVtbl->CreateRasterizerState1(This,pRasterizerDesc,ppRasterizerState); } static 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) { return This->lpVtbl->CreateDeviceContextState(This,Flags,pFeatureLevels,FeatureLevels,SDKVersion,EmulatedInterface,pChosenFeatureLevel,ppContextState); } static FORCEINLINE HRESULT ID3D11Device5_OpenSharedResource1(ID3D11Device5* This,HANDLE hResource,REFIID returnedInterface,void **ppResource) { return This->lpVtbl->OpenSharedResource1(This,hResource,returnedInterface,ppResource); } static FORCEINLINE HRESULT ID3D11Device5_OpenSharedResourceByName(ID3D11Device5* This,LPCWSTR lpName,DWORD dwDesiredAccess,REFIID returnedInterface,void **ppResource) { return This->lpVtbl->OpenSharedResourceByName(This,lpName,dwDesiredAccess,returnedInterface,ppResource); } /*** ID3D11Device2 methods ***/ static FORCEINLINE void ID3D11Device5_GetImmediateContext2(ID3D11Device5* This,ID3D11DeviceContext2 **context) { This->lpVtbl->GetImmediateContext2(This,context); } static FORCEINLINE HRESULT ID3D11Device5_CreateDeferredContext2(ID3D11Device5* This,UINT flags,ID3D11DeviceContext2 **context) { return This->lpVtbl->CreateDeferredContext2(This,flags,context); } static 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) { This->lpVtbl->GetResourceTiling(This,resource,tile_count,mip_desc,tile_shape,subresource_tiling_count,first_subresource_tiling,subresource_tiling); } static FORCEINLINE HRESULT ID3D11Device5_CheckMultisampleQualityLevels1(ID3D11Device5* This,DXGI_FORMAT format,UINT sample_count,UINT flags,UINT *quality_level_count) { return This->lpVtbl->CheckMultisampleQualityLevels1(This,format,sample_count,flags,quality_level_count); } /*** ID3D11Device3 methods ***/ static FORCEINLINE HRESULT ID3D11Device5_CreateTexture2D1(ID3D11Device5* This,const D3D11_TEXTURE2D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture2D1 **texture) { return This->lpVtbl->CreateTexture2D1(This,desc,initial_data,texture); } static FORCEINLINE HRESULT ID3D11Device5_CreateTexture3D1(ID3D11Device5* This,const D3D11_TEXTURE3D_DESC1 *desc,const D3D11_SUBRESOURCE_DATA *initial_data,ID3D11Texture3D1 **texture) { return This->lpVtbl->CreateTexture3D1(This,desc,initial_data,texture); } static FORCEINLINE HRESULT ID3D11Device5_CreateRasterizerState2(ID3D11Device5* This,const D3D11_RASTERIZER_DESC2 *desc,ID3D11RasterizerState2 **state) { return This->lpVtbl->CreateRasterizerState2(This,desc,state); } static FORCEINLINE HRESULT ID3D11Device5_CreateShaderResourceView1(ID3D11Device5* This,ID3D11Resource *resource,const D3D11_SHADER_RESOURCE_VIEW_DESC1 *desc,ID3D11ShaderResourceView1 **view) { return This->lpVtbl->CreateShaderResourceView1(This,resource,desc,view); } static FORCEINLINE HRESULT ID3D11Device5_CreateUnorderedAccessView1(ID3D11Device5* This,ID3D11Resource *resource,const D3D11_UNORDERED_ACCESS_VIEW_DESC1 *desc,ID3D11UnorderedAccessView1 **view) { return This->lpVtbl->CreateUnorderedAccessView1(This,resource,desc,view); } static FORCEINLINE HRESULT ID3D11Device5_CreateRenderTargetView1(ID3D11Device5* This,ID3D11Resource *resource,const D3D11_RENDER_TARGET_VIEW_DESC1 *desc,ID3D11RenderTargetView1 **view) { return This->lpVtbl->CreateRenderTargetView1(This,resource,desc,view); } static FORCEINLINE HRESULT ID3D11Device5_CreateQuery1(ID3D11Device5* This,const D3D11_QUERY_DESC1 *desc,ID3D11Query1 **query) { return This->lpVtbl->CreateQuery1(This,desc,query); } static FORCEINLINE void ID3D11Device5_GetImmediateContext3(ID3D11Device5* This,ID3D11DeviceContext3 **context) { This->lpVtbl->GetImmediateContext3(This,context); } static FORCEINLINE HRESULT ID3D11Device5_CreateDeferredContext3(ID3D11Device5* This,UINT flags,ID3D11DeviceContext3 **context) { return This->lpVtbl->CreateDeferredContext3(This,flags,context); } static 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) { This->lpVtbl->WriteToSubresource(This,dst_resource,dst_subresource,dst_box,src_data,src_row_pitch,src_depth_pitch); } static 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) { This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_depth_pitch,src_resource,src_subresource,src_box); } /*** ID3D11Device4 methods ***/ static FORCEINLINE HRESULT ID3D11Device5_RegisterDeviceRemovedEvent(ID3D11Device5* This,HANDLE event,DWORD *cookie) { return This->lpVtbl->RegisterDeviceRemovedEvent(This,event,cookie); } static FORCEINLINE void ID3D11Device5_UnregisterDeviceRemoved(ID3D11Device5* This,DWORD cookie) { This->lpVtbl->UnregisterDeviceRemoved(This,cookie); } /*** ID3D11Device5 methods ***/ static FORCEINLINE HRESULT ID3D11Device5_OpenSharedFence(ID3D11Device5* This,HANDLE handle,REFIID iid,void **fence) { return This->lpVtbl->OpenSharedFence(This,handle,iid,fence); } static FORCEINLINE HRESULT ID3D11Device5_CreateFence(ID3D11Device5* This,UINT64 initial_value,D3D11_FENCE_FLAG flags,REFIID iid,void **fence) { return This->lpVtbl->CreateFence(This,initial_value,flags,iid,fence); } #endif #endif #endif #endif /* __ID3D11Device5_INTERFACE_DEFINED__ */ /***************************************************************************** * ID3D11Multithread interface */ #ifndef __ID3D11Multithread_INTERFACE_DEFINED__ #define __ID3D11Multithread_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID3D11Multithread, 0x9b7e4e00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("9b7e4e00-342c-4106-a19f-4f2704f689f0") ID3D11Multithread : public IUnknown { virtual void STDMETHODCALLTYPE Enter( ) = 0; virtual void STDMETHODCALLTYPE Leave( ) = 0; virtual WINBOOL STDMETHODCALLTYPE SetMultithreadProtected( WINBOOL enable) = 0; virtual WINBOOL STDMETHODCALLTYPE GetMultithreadProtected( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID3D11Multithread, 0x9b7e4e00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0) #endif #else typedef struct ID3D11MultithreadVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID3D11Multithread *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID3D11Multithread *This); ULONG (STDMETHODCALLTYPE *Release)( ID3D11Multithread *This); /*** ID3D11Multithread methods ***/ void (STDMETHODCALLTYPE *Enter)( ID3D11Multithread *This); void (STDMETHODCALLTYPE *Leave)( ID3D11Multithread *This); WINBOOL (STDMETHODCALLTYPE *SetMultithreadProtected)( ID3D11Multithread *This, WINBOOL enable); WINBOOL (STDMETHODCALLTYPE *GetMultithreadProtected)( ID3D11Multithread *This); END_INTERFACE } ID3D11MultithreadVtbl; interface ID3D11Multithread { CONST_VTBL ID3D11MultithreadVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID3D11Multithread_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID3D11Multithread_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID3D11Multithread_Release(This) (This)->lpVtbl->Release(This) /*** ID3D11Multithread methods ***/ #define ID3D11Multithread_Enter(This) (This)->lpVtbl->Enter(This) #define ID3D11Multithread_Leave(This) (This)->lpVtbl->Leave(This) #define ID3D11Multithread_SetMultithreadProtected(This,enable) (This)->lpVtbl->SetMultithreadProtected(This,enable) #define ID3D11Multithread_GetMultithreadProtected(This) (This)->lpVtbl->GetMultithreadProtected(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ID3D11Multithread_QueryInterface(ID3D11Multithread* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ID3D11Multithread_AddRef(ID3D11Multithread* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ID3D11Multithread_Release(ID3D11Multithread* This) { return This->lpVtbl->Release(This); } /*** ID3D11Multithread methods ***/ static FORCEINLINE void ID3D11Multithread_Enter(ID3D11Multithread* This) { This->lpVtbl->Enter(This); } static FORCEINLINE void ID3D11Multithread_Leave(ID3D11Multithread* This) { This->lpVtbl->Leave(This); } static FORCEINLINE WINBOOL ID3D11Multithread_SetMultithreadProtected(ID3D11Multithread* This,WINBOOL enable) { return This->lpVtbl->SetMultithreadProtected(This,enable); } static FORCEINLINE WINBOOL ID3D11Multithread_GetMultithreadProtected(ID3D11Multithread* This) { return This->lpVtbl->GetMultithreadProtected(This); } #endif #endif #endif #endif /* __ID3D11Multithread_INTERFACE_DEFINED__ */ /***************************************************************************** * ID3D11VideoContext2 interface */ #ifndef __ID3D11VideoContext2_INTERFACE_DEFINED__ #define __ID3D11VideoContext2_INTERFACE_DEFINED__ DEFINE_GUID(IID_ID3D11VideoContext2, 0xc4e7374c, 0x6243, 0x4d1b, 0xae,0x87, 0x52,0xb4,0xf7,0x40,0xe2,0x61); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c4e7374c-6243-4d1b-ae87-52b4f740e261") ID3D11VideoContext2 : public ID3D11VideoContext1 { virtual void STDMETHODCALLTYPE VideoProcessorSetOutputHDRMetaData( ID3D11VideoProcessor *processor, DXGI_HDR_METADATA_TYPE type, UINT size, const void *meta_data) = 0; virtual void STDMETHODCALLTYPE VideoProcessorGetOutputHDRMetaData( ID3D11VideoProcessor *processor, DXGI_HDR_METADATA_TYPE *type, UINT size, void *meta_data) = 0; virtual void STDMETHODCALLTYPE VideoProcessorSetStreamHDRMetaData( ID3D11VideoProcessor *processor, UINT stream_index, DXGI_HDR_METADATA_TYPE type, UINT size, const void *meta_data) = 0; virtual void STDMETHODCALLTYPE VideoProcessorGetStreamHDRMetaData( ID3D11VideoProcessor *processor, UINT stream_index, DXGI_HDR_METADATA_TYPE *type, UINT size, void *meta_data) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(ID3D11VideoContext2, 0xc4e7374c, 0x6243, 0x4d1b, 0xae,0x87, 0x52,0xb4,0xf7,0x40,0xe2,0x61) #endif #else typedef struct ID3D11VideoContext2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ID3D11VideoContext2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ID3D11VideoContext2 *This); ULONG (STDMETHODCALLTYPE *Release)( ID3D11VideoContext2 *This); /*** ID3D11DeviceChild methods ***/ void (STDMETHODCALLTYPE *GetDevice)( ID3D11VideoContext2 *This, ID3D11Device **ppDevice); HRESULT (STDMETHODCALLTYPE *GetPrivateData)( ID3D11VideoContext2 *This, REFGUID guid, UINT *pDataSize, void *pData); HRESULT (STDMETHODCALLTYPE *SetPrivateData)( ID3D11VideoContext2 *This, REFGUID guid, UINT DataSize, const void *pData); HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( ID3D11VideoContext2 *This, REFGUID guid, const IUnknown *pData); /*** ID3D11VideoContext methods ***/ HRESULT (STDMETHODCALLTYPE *GetDecoderBuffer)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder, D3D11_VIDEO_DECODER_BUFFER_TYPE type, UINT *buffer_size, void **buffer); HRESULT (STDMETHODCALLTYPE *ReleaseDecoderBuffer)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder, D3D11_VIDEO_DECODER_BUFFER_TYPE type); HRESULT (STDMETHODCALLTYPE *DecoderBeginFrame)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder, ID3D11VideoDecoderOutputView *view, UINT key_size, const void *key); HRESULT (STDMETHODCALLTYPE *DecoderEndFrame)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder); HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder, UINT buffers_count, const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc); HRESULT (STDMETHODCALLTYPE *DecoderExtension)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder, const D3D11_VIDEO_DECODER_EXTENSION *extension); void (STDMETHODCALLTYPE *VideoProcessorSetOutputTargetRect)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL enable, const RECT *rect); void (STDMETHODCALLTYPE *VideoProcessorSetOutputBackgroundColor)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL y_cb_cr, const D3D11_VIDEO_COLOR *color); void (STDMETHODCALLTYPE *VideoProcessorSetOutputColorSpace)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space); void (STDMETHODCALLTYPE *VideoProcessorSetOutputAlphaFillMode)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode, UINT stream_idx); void (STDMETHODCALLTYPE *VideoProcessorSetOutputConstriction)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL enable, SIZE size); void (STDMETHODCALLTYPE *VideoProcessorSetOutputStereoMode)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL enable); HRESULT (STDMETHODCALLTYPE *VideoProcessorSetOutputExtension)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, const GUID *guid, UINT data_size, void *data); void (STDMETHODCALLTYPE *VideoProcessorGetOutputTargetRect)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL *enabled, RECT *rect); void (STDMETHODCALLTYPE *VideoProcessorGetOutputBackgroundColor)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL *y_cb_cr, D3D11_VIDEO_COLOR *color); void (STDMETHODCALLTYPE *VideoProcessorGetOutputColorSpace)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space); void (STDMETHODCALLTYPE *VideoProcessorGetOutputAlphaFillMode)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode, UINT *stream_idx); void (STDMETHODCALLTYPE *VideoProcessorGetOutputConstriction)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL *enabled, SIZE *size); void (STDMETHODCALLTYPE *VideoProcessorGetOutputStereoMode)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL *enabled); HRESULT (STDMETHODCALLTYPE *VideoProcessorGetOutputExtension)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, const GUID *guid, UINT data_size, void *data); void (STDMETHODCALLTYPE *VideoProcessorSetStreamFrameFormat)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, D3D11_VIDEO_FRAME_FORMAT format); void (STDMETHODCALLTYPE *VideoProcessorSetStreamColorSpace)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space); void (STDMETHODCALLTYPE *VideoProcessorSetStreamOutputRate)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate, WINBOOL repeat, const DXGI_RATIONAL *custom_rate); void (STDMETHODCALLTYPE *VideoProcessorSetStreamSourceRect)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL enable, const RECT *rect); void (STDMETHODCALLTYPE *VideoProcessorSetStreamDestRect)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL enable, const RECT *rect); void (STDMETHODCALLTYPE *VideoProcessorSetStreamAlpha)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL enable, float alpha); void (STDMETHODCALLTYPE *VideoProcessorSetStreamPalette)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, UINT entry_count, const UINT *entries); void (STDMETHODCALLTYPE *VideoProcessorSetStreamPixelAspectRatio)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL enable, const DXGI_RATIONAL *src_aspect_ratio, const DXGI_RATIONAL *dst_aspect_ratio); void (STDMETHODCALLTYPE *VideoProcessorSetStreamLumaKey)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL enable, float lower, float upper); void (STDMETHODCALLTYPE *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); void (STDMETHODCALLTYPE *VideoProcessorSetStreamAutoProcessingMode)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL enable); void (STDMETHODCALLTYPE *VideoProcessorSetStreamFilter)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, D3D11_VIDEO_PROCESSOR_FILTER filter, WINBOOL enable, int level); HRESULT (STDMETHODCALLTYPE *VideoProcessorSetStreamExtension)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, const GUID *guid, UINT data_size, void *data); void (STDMETHODCALLTYPE *VideoProcessorGetStreamFrameFormat)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, D3D11_VIDEO_FRAME_FORMAT *format); void (STDMETHODCALLTYPE *VideoProcessorGetStreamColorSpace)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space); void (STDMETHODCALLTYPE *VideoProcessorGetStreamOutputRate)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate, WINBOOL *repeat, DXGI_RATIONAL *custom_rate); void (STDMETHODCALLTYPE *VideoProcessorGetStreamSourceRect)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL *enabled, RECT *rect); void (STDMETHODCALLTYPE *VideoProcessorGetStreamDestRect)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL *enabled, RECT *rect); void (STDMETHODCALLTYPE *VideoProcessorGetStreamAlpha)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL *enabled, float *alpha); void (STDMETHODCALLTYPE *VideoProcessorGetStreamPalette)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, UINT entry_count, UINT *entries); void (STDMETHODCALLTYPE *VideoProcessorGetStreamPixelAspectRatio)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL *enabled, DXGI_RATIONAL *src_aspect_ratio, DXGI_RATIONAL *dst_aspect_ratio); void (STDMETHODCALLTYPE *VideoProcessorGetStreamLumaKey)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL *enabled, float *lower, float *upper); void (STDMETHODCALLTYPE *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); void (STDMETHODCALLTYPE *VideoProcessorGetStreamAutoProcessingMode)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL *enabled); void (STDMETHODCALLTYPE *VideoProcessorGetStreamFilter)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, D3D11_VIDEO_PROCESSOR_FILTER filter, WINBOOL *enabled, int *level); HRESULT (STDMETHODCALLTYPE *VideoProcessorGetStreamExtension)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, const GUID *guid, UINT data_size, void *data); HRESULT (STDMETHODCALLTYPE *VideoProcessorBlt)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, ID3D11VideoProcessorOutputView *view, UINT frame_idx, UINT stream_count, const D3D11_VIDEO_PROCESSOR_STREAM *streams); HRESULT (STDMETHODCALLTYPE *NegotiateCryptoSessionKeyExchange)( ID3D11VideoContext2 *This, ID3D11CryptoSession *session, UINT data_size, void *data); void (STDMETHODCALLTYPE *EncryptionBlt)( ID3D11VideoContext2 *This, ID3D11CryptoSession *session, ID3D11Texture2D *src_surface, ID3D11Texture2D *dst_surface, UINT iv_size, void *iv); void (STDMETHODCALLTYPE *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); void (STDMETHODCALLTYPE *StartSessionKeyRefresh)( ID3D11VideoContext2 *This, ID3D11CryptoSession *session, UINT random_number_size, void *random_number); void (STDMETHODCALLTYPE *FinishSessionKeyRefresh)( ID3D11VideoContext2 *This, ID3D11CryptoSession *session); HRESULT (STDMETHODCALLTYPE *GetEncryptionBltKey)( ID3D11VideoContext2 *This, ID3D11CryptoSession *session, UINT key_size, void *key); HRESULT (STDMETHODCALLTYPE *NegotiateAuthenticatedChannelKeyExchange)( ID3D11VideoContext2 *This, ID3D11AuthenticatedChannel *channel, UINT data_size, void *data); HRESULT (STDMETHODCALLTYPE *QueryAuthenticatedChannel)( ID3D11VideoContext2 *This, ID3D11AuthenticatedChannel *channel, UINT input_size, const void *input, UINT output_size, void *output); HRESULT (STDMETHODCALLTYPE *ConfigureAuthenticatedChannel)( ID3D11VideoContext2 *This, ID3D11AuthenticatedChannel *channel, UINT input_size, const void *input, D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output); void (STDMETHODCALLTYPE *VideoProcessorSetStreamRotation)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL enable, D3D11_VIDEO_PROCESSOR_ROTATION rotation); void (STDMETHODCALLTYPE *VideoProcessorGetStreamRotation)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_idx, WINBOOL *enable, D3D11_VIDEO_PROCESSOR_ROTATION *rotation); /*** ID3D11VideoContext1 methods ***/ HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers1)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder, UINT buffer_count, const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc); HRESULT (STDMETHODCALLTYPE *GetDataForNewHardwareKey)( ID3D11VideoContext2 *This, ID3D11CryptoSession *session, UINT input_size, const void *input_data, UINT64 *output_data); HRESULT (STDMETHODCALLTYPE *CheckCryptoSessionStatus)( ID3D11VideoContext2 *This, ID3D11CryptoSession *session, D3D11_CRYPTO_SESSION_STATUS *status); HRESULT (STDMETHODCALLTYPE *DecoderEnableDownsampling)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder, DXGI_COLOR_SPACE_TYPE colour_space, const D3D11_VIDEO_SAMPLE_DESC *output_desc, UINT reference_frame_count); HRESULT (STDMETHODCALLTYPE *DecoderUpdateDownsampling)( ID3D11VideoContext2 *This, ID3D11VideoDecoder *decoder, const D3D11_VIDEO_SAMPLE_DESC *output_desc); void (STDMETHODCALLTYPE *VideoProcessorSetOutputColorSpace1)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, DXGI_COLOR_SPACE_TYPE colour_space); void (STDMETHODCALLTYPE *VideoProcessorSetOutputShaderUsage)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL shader_usage); void (STDMETHODCALLTYPE *VideoProcessorGetOutputColorSpace1)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, DXGI_COLOR_SPACE_TYPE *colour_space); void (STDMETHODCALLTYPE *VideoProcessorGetOutputShaderUsage)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, WINBOOL *shader_usage); void (STDMETHODCALLTYPE *VideoProcessorSetStreamColorSpace1)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_index, DXGI_COLOR_SPACE_TYPE colour_space); void (STDMETHODCALLTYPE *VideoProcessorSetStreamMirror)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_index, WINBOOL enable, WINBOOL flip_horizontal, WINBOOL flip_vertical); void (STDMETHODCALLTYPE *VideoProcessorGetStreamColorSpace1)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_index, DXGI_COLOR_SPACE_TYPE *colour_space); void (STDMETHODCALLTYPE *VideoProcessorGetStreamMirror)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_index, WINBOOL *enable, WINBOOL *flip_horizontal, WINBOOL *flip_vertical); HRESULT (STDMETHODCALLTYPE *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); /*** ID3D11VideoContext2 methods ***/ void (STDMETHODCALLTYPE *VideoProcessorSetOutputHDRMetaData)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, DXGI_HDR_METADATA_TYPE type, UINT size, const void *meta_data); void (STDMETHODCALLTYPE *VideoProcessorGetOutputHDRMetaData)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, DXGI_HDR_METADATA_TYPE *type, UINT size, void *meta_data); void (STDMETHODCALLTYPE *VideoProcessorSetStreamHDRMetaData)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_index, DXGI_HDR_METADATA_TYPE type, UINT size, const void *meta_data); void (STDMETHODCALLTYPE *VideoProcessorGetStreamHDRMetaData)( ID3D11VideoContext2 *This, ID3D11VideoProcessor *processor, UINT stream_index, DXGI_HDR_METADATA_TYPE *type, UINT size, void *meta_data); END_INTERFACE } ID3D11VideoContext2Vtbl; interface ID3D11VideoContext2 { CONST_VTBL ID3D11VideoContext2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define ID3D11VideoContext2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define ID3D11VideoContext2_AddRef(This) (This)->lpVtbl->AddRef(This) #define ID3D11VideoContext2_Release(This) (This)->lpVtbl->Release(This) /*** ID3D11DeviceChild methods ***/ #define ID3D11VideoContext2_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice) #define ID3D11VideoContext2_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData) #define ID3D11VideoContext2_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData) #define ID3D11VideoContext2_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData) /*** ID3D11VideoContext methods ***/ #define ID3D11VideoContext2_GetDecoderBuffer(This,decoder,type,buffer_size,buffer) (This)->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer) #define ID3D11VideoContext2_ReleaseDecoderBuffer(This,decoder,type) (This)->lpVtbl->ReleaseDecoderBuffer(This,decoder,type) #define ID3D11VideoContext2_DecoderBeginFrame(This,decoder,view,key_size,key) (This)->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key) #define ID3D11VideoContext2_DecoderEndFrame(This,decoder) (This)->lpVtbl->DecoderEndFrame(This,decoder) #define ID3D11VideoContext2_SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc) (This)->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc) #define ID3D11VideoContext2_DecoderExtension(This,decoder,extension) (This)->lpVtbl->DecoderExtension(This,decoder,extension) #define ID3D11VideoContext2_VideoProcessorSetOutputTargetRect(This,processor,enable,rect) (This)->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect) #define ID3D11VideoContext2_VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color) #define ID3D11VideoContext2_VideoProcessorSetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space) #define ID3D11VideoContext2_VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) #define ID3D11VideoContext2_VideoProcessorSetOutputConstriction(This,processor,enable,size) (This)->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size) #define ID3D11VideoContext2_VideoProcessorSetOutputStereoMode(This,processor,enable) (This)->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable) #define ID3D11VideoContext2_VideoProcessorSetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data) #define ID3D11VideoContext2_VideoProcessorGetOutputTargetRect(This,processor,enabled,rect) (This)->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect) #define ID3D11VideoContext2_VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color) (This)->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color) #define ID3D11VideoContext2_VideoProcessorGetOutputColorSpace(This,processor,color_space) (This)->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space) #define ID3D11VideoContext2_VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) (This)->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx) #define ID3D11VideoContext2_VideoProcessorGetOutputConstriction(This,processor,enabled,size) (This)->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size) #define ID3D11VideoContext2_VideoProcessorGetOutputStereoMode(This,processor,enabled) (This)->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled) #define ID3D11VideoContext2_VideoProcessorGetOutputExtension(This,processor,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data) #define ID3D11VideoContext2_VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format) #define ID3D11VideoContext2_VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space) #define ID3D11VideoContext2_VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) #define ID3D11VideoContext2_VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect) #define ID3D11VideoContext2_VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect) (This)->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect) #define ID3D11VideoContext2_VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha) (This)->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha) #define ID3D11VideoContext2_VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries) #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) #define ID3D11VideoContext2_VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper) (This)->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper) #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) #define ID3D11VideoContext2_VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable) (This)->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable) #define ID3D11VideoContext2_VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level) (This)->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level) #define ID3D11VideoContext2_VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data) #define ID3D11VideoContext2_VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format) (This)->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format) #define ID3D11VideoContext2_VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space) (This)->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space) #define ID3D11VideoContext2_VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) (This)->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate) #define ID3D11VideoContext2_VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect) #define ID3D11VideoContext2_VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect) (This)->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect) #define ID3D11VideoContext2_VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha) (This)->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha) #define ID3D11VideoContext2_VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries) (This)->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries) #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) #define ID3D11VideoContext2_VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper) (This)->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper) #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) #define ID3D11VideoContext2_VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled) (This)->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled) #define ID3D11VideoContext2_VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level) (This)->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level) #define ID3D11VideoContext2_VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data) (This)->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data) #define ID3D11VideoContext2_VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams) (This)->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams) #define ID3D11VideoContext2_NegotiateCryptoSessionKeyExchange(This,session,data_size,data) (This)->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data) #define ID3D11VideoContext2_EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv) (This)->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv) #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) #define ID3D11VideoContext2_StartSessionKeyRefresh(This,session,random_number_size,random_number) (This)->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number) #define ID3D11VideoContext2_FinishSessionKeyRefresh(This,session) (This)->lpVtbl->FinishSessionKeyRefresh(This,session) #define ID3D11VideoContext2_GetEncryptionBltKey(This,session,key_size,key) (This)->lpVtbl->GetEncryptionBltKey(This,session,key_size,key) #define ID3D11VideoContext2_NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data) (This)->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data) #define ID3D11VideoContext2_QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output) (This)->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output) #define ID3D11VideoContext2_ConfigureAuthenticatedChannel(This,channel,input_size,input,output) (This)->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output) #define ID3D11VideoContext2_VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation) #define ID3D11VideoContext2_VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation) (This)->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation) /*** ID3D11VideoContext1 methods ***/ #define ID3D11VideoContext2_SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc) (This)->lpVtbl->SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc) #define ID3D11VideoContext2_GetDataForNewHardwareKey(This,session,input_size,input_data,output_data) (This)->lpVtbl->GetDataForNewHardwareKey(This,session,input_size,input_data,output_data) #define ID3D11VideoContext2_CheckCryptoSessionStatus(This,session,status) (This)->lpVtbl->CheckCryptoSessionStatus(This,session,status) #define ID3D11VideoContext2_DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count) (This)->lpVtbl->DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count) #define ID3D11VideoContext2_DecoderUpdateDownsampling(This,decoder,output_desc) (This)->lpVtbl->DecoderUpdateDownsampling(This,decoder,output_desc) #define ID3D11VideoContext2_VideoProcessorSetOutputColorSpace1(This,processor,colour_space) (This)->lpVtbl->VideoProcessorSetOutputColorSpace1(This,processor,colour_space) #define ID3D11VideoContext2_VideoProcessorSetOutputShaderUsage(This,processor,shader_usage) (This)->lpVtbl->VideoProcessorSetOutputShaderUsage(This,processor,shader_usage) #define ID3D11VideoContext2_VideoProcessorGetOutputColorSpace1(This,processor,colour_space) (This)->lpVtbl->VideoProcessorGetOutputColorSpace1(This,processor,colour_space) #define ID3D11VideoContext2_VideoProcessorGetOutputShaderUsage(This,processor,shader_usage) (This)->lpVtbl->VideoProcessorGetOutputShaderUsage(This,processor,shader_usage) #define ID3D11VideoContext2_VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space) (This)->lpVtbl->VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space) #define ID3D11VideoContext2_VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical) (This)->lpVtbl->VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical) #define ID3D11VideoContext2_VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space) (This)->lpVtbl->VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space) #define ID3D11VideoContext2_VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical) (This)->lpVtbl->VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical) #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) /*** ID3D11VideoContext2 methods ***/ #define ID3D11VideoContext2_VideoProcessorSetOutputHDRMetaData(This,processor,type,size,meta_data) (This)->lpVtbl->VideoProcessorSetOutputHDRMetaData(This,processor,type,size,meta_data) #define ID3D11VideoContext2_VideoProcessorGetOutputHDRMetaData(This,processor,type,size,meta_data) (This)->lpVtbl->VideoProcessorGetOutputHDRMetaData(This,processor,type,size,meta_data) #define ID3D11VideoContext2_VideoProcessorSetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data) (This)->lpVtbl->VideoProcessorSetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data) #define ID3D11VideoContext2_VideoProcessorGetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data) (This)->lpVtbl->VideoProcessorGetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT ID3D11VideoContext2_QueryInterface(ID3D11VideoContext2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG ID3D11VideoContext2_AddRef(ID3D11VideoContext2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG ID3D11VideoContext2_Release(ID3D11VideoContext2* This) { return This->lpVtbl->Release(This); } /*** ID3D11DeviceChild methods ***/ static FORCEINLINE void ID3D11VideoContext2_GetDevice(ID3D11VideoContext2* This,ID3D11Device **ppDevice) { This->lpVtbl->GetDevice(This,ppDevice); } static FORCEINLINE HRESULT ID3D11VideoContext2_GetPrivateData(ID3D11VideoContext2* This,REFGUID guid,UINT *pDataSize,void *pData) { return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData); } static FORCEINLINE HRESULT ID3D11VideoContext2_SetPrivateData(ID3D11VideoContext2* This,REFGUID guid,UINT DataSize,const void *pData) { return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData); } static FORCEINLINE HRESULT ID3D11VideoContext2_SetPrivateDataInterface(ID3D11VideoContext2* This,REFGUID guid,const IUnknown *pData) { return This->lpVtbl->SetPrivateDataInterface(This,guid,pData); } /*** ID3D11VideoContext methods ***/ static FORCEINLINE HRESULT ID3D11VideoContext2_GetDecoderBuffer(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type,UINT *buffer_size,void **buffer) { return This->lpVtbl->GetDecoderBuffer(This,decoder,type,buffer_size,buffer); } static FORCEINLINE HRESULT ID3D11VideoContext2_ReleaseDecoderBuffer(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,D3D11_VIDEO_DECODER_BUFFER_TYPE type) { return This->lpVtbl->ReleaseDecoderBuffer(This,decoder,type); } static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderBeginFrame(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,ID3D11VideoDecoderOutputView *view,UINT key_size,const void *key) { return This->lpVtbl->DecoderBeginFrame(This,decoder,view,key_size,key); } static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderEndFrame(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder) { return This->lpVtbl->DecoderEndFrame(This,decoder); } static FORCEINLINE HRESULT ID3D11VideoContext2_SubmitDecoderBuffers(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,UINT buffers_count,const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc) { return This->lpVtbl->SubmitDecoderBuffers(This,decoder,buffers_count,buffer_desc); } static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderExtension(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,const D3D11_VIDEO_DECODER_EXTENSION *extension) { return This->lpVtbl->DecoderExtension(This,decoder,extension); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputTargetRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL enable,const RECT *rect) { This->lpVtbl->VideoProcessorSetOutputTargetRect(This,processor,enable,rect); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputBackgroundColor(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL y_cb_cr,const D3D11_VIDEO_COLOR *color) { This->lpVtbl->VideoProcessorSetOutputBackgroundColor(This,processor,y_cb_cr,color); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputColorSpace(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) { This->lpVtbl->VideoProcessorSetOutputColorSpace(This,processor,color_space); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputAlphaFillMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,UINT stream_idx) { This->lpVtbl->VideoProcessorSetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputConstriction(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL enable,SIZE size) { This->lpVtbl->VideoProcessorSetOutputConstriction(This,processor,enable,size); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputStereoMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL enable) { This->lpVtbl->VideoProcessorSetOutputStereoMode(This,processor,enable); } static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorSetOutputExtension(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) { return This->lpVtbl->VideoProcessorSetOutputExtension(This,processor,guid,data_size,data); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputTargetRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,RECT *rect) { This->lpVtbl->VideoProcessorGetOutputTargetRect(This,processor,enabled,rect); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputBackgroundColor(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *y_cb_cr,D3D11_VIDEO_COLOR *color) { This->lpVtbl->VideoProcessorGetOutputBackgroundColor(This,processor,y_cb_cr,color); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputColorSpace(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) { This->lpVtbl->VideoProcessorGetOutputColorSpace(This,processor,color_space); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputAlphaFillMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,UINT *stream_idx) { This->lpVtbl->VideoProcessorGetOutputAlphaFillMode(This,processor,alpha_fill_mode,stream_idx); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputConstriction(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *enabled,SIZE *size) { This->lpVtbl->VideoProcessorGetOutputConstriction(This,processor,enabled,size); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputStereoMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *enabled) { This->lpVtbl->VideoProcessorGetOutputStereoMode(This,processor,enabled); } static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorGetOutputExtension(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,const GUID *guid,UINT data_size,void *data) { return This->lpVtbl->VideoProcessorGetOutputExtension(This,processor,guid,data_size,data); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamFrameFormat(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT format) { This->lpVtbl->VideoProcessorSetStreamFrameFormat(This,processor,stream_idx,format); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamColorSpace(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) { This->lpVtbl->VideoProcessorSetStreamColorSpace(This,processor,stream_idx,color_space); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamOutputRate(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,WINBOOL repeat,const DXGI_RATIONAL *custom_rate) { This->lpVtbl->VideoProcessorSetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamSourceRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) { This->lpVtbl->VideoProcessorSetStreamSourceRect(This,processor,stream_idx,enable,rect); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamDestRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,const RECT *rect) { This->lpVtbl->VideoProcessorSetStreamDestRect(This,processor,stream_idx,enable,rect); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamAlpha(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float alpha) { This->lpVtbl->VideoProcessorSetStreamAlpha(This,processor,stream_idx,enable,alpha); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamPalette(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,const UINT *entries) { This->lpVtbl->VideoProcessorSetStreamPalette(This,processor,stream_idx,entry_count,entries); } static 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) { This->lpVtbl->VideoProcessorSetStreamPixelAspectRatio(This,processor,stream_idx,enable,src_aspect_ratio,dst_aspect_ratio); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamLumaKey(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,float lower,float upper) { This->lpVtbl->VideoProcessorSetStreamLumaKey(This,processor,stream_idx,enable,lower,upper); } static 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) { This->lpVtbl->VideoProcessorSetStreamStereoFormat(This,processor,stream_idx,enable,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamAutoProcessingMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable) { This->lpVtbl->VideoProcessorSetStreamAutoProcessingMode(This,processor,stream_idx,enable); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamFilter(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL enable,int level) { This->lpVtbl->VideoProcessorSetStreamFilter(This,processor,stream_idx,filter,enable,level); } static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorSetStreamExtension(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) { return This->lpVtbl->VideoProcessorSetStreamExtension(This,processor,stream_idx,guid,data_size,data); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamFrameFormat(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_FRAME_FORMAT *format) { This->lpVtbl->VideoProcessorGetStreamFrameFormat(This,processor,stream_idx,format); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamColorSpace(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space) { This->lpVtbl->VideoProcessorGetStreamColorSpace(This,processor,stream_idx,color_space); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamOutputRate(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,WINBOOL *repeat,DXGI_RATIONAL *custom_rate) { This->lpVtbl->VideoProcessorGetStreamOutputRate(This,processor,stream_idx,rate,repeat,custom_rate); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamSourceRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) { This->lpVtbl->VideoProcessorGetStreamSourceRect(This,processor,stream_idx,enabled,rect); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamDestRect(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,RECT *rect) { This->lpVtbl->VideoProcessorGetStreamDestRect(This,processor,stream_idx,enabled,rect); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamAlpha(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *alpha) { This->lpVtbl->VideoProcessorGetStreamAlpha(This,processor,stream_idx,enabled,alpha); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamPalette(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,UINT entry_count,UINT *entries) { This->lpVtbl->VideoProcessorGetStreamPalette(This,processor,stream_idx,entry_count,entries); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamPixelAspectRatio(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,DXGI_RATIONAL *src_aspect_ratio,DXGI_RATIONAL *dst_aspect_ratio) { This->lpVtbl->VideoProcessorGetStreamPixelAspectRatio(This,processor,stream_idx,enabled,src_aspect_ratio,dst_aspect_ratio); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamLumaKey(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled,float *lower,float *upper) { This->lpVtbl->VideoProcessorGetStreamLumaKey(This,processor,stream_idx,enabled,lower,upper); } static 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) { This->lpVtbl->VideoProcessorGetStreamStereoFormat(This,processor,stream_idx,enabled,format,left_view_frame0,base_view_frame0,flip_mode,mono_offset); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamAutoProcessingMode(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enabled) { This->lpVtbl->VideoProcessorGetStreamAutoProcessingMode(This,processor,stream_idx,enabled); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamFilter(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,D3D11_VIDEO_PROCESSOR_FILTER filter,WINBOOL *enabled,int *level) { This->lpVtbl->VideoProcessorGetStreamFilter(This,processor,stream_idx,filter,enabled,level); } static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorGetStreamExtension(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,const GUID *guid,UINT data_size,void *data) { return This->lpVtbl->VideoProcessorGetStreamExtension(This,processor,stream_idx,guid,data_size,data); } static FORCEINLINE HRESULT ID3D11VideoContext2_VideoProcessorBlt(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,ID3D11VideoProcessorOutputView *view,UINT frame_idx,UINT stream_count,const D3D11_VIDEO_PROCESSOR_STREAM *streams) { return This->lpVtbl->VideoProcessorBlt(This,processor,view,frame_idx,stream_count,streams); } static FORCEINLINE HRESULT ID3D11VideoContext2_NegotiateCryptoSessionKeyExchange(ID3D11VideoContext2* This,ID3D11CryptoSession *session,UINT data_size,void *data) { return This->lpVtbl->NegotiateCryptoSessionKeyExchange(This,session,data_size,data); } static FORCEINLINE void ID3D11VideoContext2_EncryptionBlt(ID3D11VideoContext2* This,ID3D11CryptoSession *session,ID3D11Texture2D *src_surface,ID3D11Texture2D *dst_surface,UINT iv_size,void *iv) { This->lpVtbl->EncryptionBlt(This,session,src_surface,dst_surface,iv_size,iv); } static 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) { This->lpVtbl->DecryptionBlt(This,session,src_surface,dst_surface,block_info,key_size,key,iv_size,iv); } static FORCEINLINE void ID3D11VideoContext2_StartSessionKeyRefresh(ID3D11VideoContext2* This,ID3D11CryptoSession *session,UINT random_number_size,void *random_number) { This->lpVtbl->StartSessionKeyRefresh(This,session,random_number_size,random_number); } static FORCEINLINE void ID3D11VideoContext2_FinishSessionKeyRefresh(ID3D11VideoContext2* This,ID3D11CryptoSession *session) { This->lpVtbl->FinishSessionKeyRefresh(This,session); } static FORCEINLINE HRESULT ID3D11VideoContext2_GetEncryptionBltKey(ID3D11VideoContext2* This,ID3D11CryptoSession *session,UINT key_size,void *key) { return This->lpVtbl->GetEncryptionBltKey(This,session,key_size,key); } static FORCEINLINE HRESULT ID3D11VideoContext2_NegotiateAuthenticatedChannelKeyExchange(ID3D11VideoContext2* This,ID3D11AuthenticatedChannel *channel,UINT data_size,void *data) { return This->lpVtbl->NegotiateAuthenticatedChannelKeyExchange(This,channel,data_size,data); } static FORCEINLINE HRESULT ID3D11VideoContext2_QueryAuthenticatedChannel(ID3D11VideoContext2* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,UINT output_size,void *output) { return This->lpVtbl->QueryAuthenticatedChannel(This,channel,input_size,input,output_size,output); } static FORCEINLINE HRESULT ID3D11VideoContext2_ConfigureAuthenticatedChannel(ID3D11VideoContext2* This,ID3D11AuthenticatedChannel *channel,UINT input_size,const void *input,D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output) { return This->lpVtbl->ConfigureAuthenticatedChannel(This,channel,input_size,input,output); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamRotation(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL enable,D3D11_VIDEO_PROCESSOR_ROTATION rotation) { This->lpVtbl->VideoProcessorSetStreamRotation(This,processor,stream_idx,enable,rotation); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamRotation(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_idx,WINBOOL *enable,D3D11_VIDEO_PROCESSOR_ROTATION *rotation) { This->lpVtbl->VideoProcessorGetStreamRotation(This,processor,stream_idx,enable,rotation); } /*** ID3D11VideoContext1 methods ***/ static FORCEINLINE HRESULT ID3D11VideoContext2_SubmitDecoderBuffers1(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,UINT buffer_count,const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc) { return This->lpVtbl->SubmitDecoderBuffers1(This,decoder,buffer_count,buffer_desc); } static FORCEINLINE HRESULT ID3D11VideoContext2_GetDataForNewHardwareKey(ID3D11VideoContext2* This,ID3D11CryptoSession *session,UINT input_size,const void *input_data,UINT64 *output_data) { return This->lpVtbl->GetDataForNewHardwareKey(This,session,input_size,input_data,output_data); } static FORCEINLINE HRESULT ID3D11VideoContext2_CheckCryptoSessionStatus(ID3D11VideoContext2* This,ID3D11CryptoSession *session,D3D11_CRYPTO_SESSION_STATUS *status) { return This->lpVtbl->CheckCryptoSessionStatus(This,session,status); } static 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) { return This->lpVtbl->DecoderEnableDownsampling(This,decoder,colour_space,output_desc,reference_frame_count); } static FORCEINLINE HRESULT ID3D11VideoContext2_DecoderUpdateDownsampling(ID3D11VideoContext2* This,ID3D11VideoDecoder *decoder,const D3D11_VIDEO_SAMPLE_DESC *output_desc) { return This->lpVtbl->DecoderUpdateDownsampling(This,decoder,output_desc); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputColorSpace1(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,DXGI_COLOR_SPACE_TYPE colour_space) { This->lpVtbl->VideoProcessorSetOutputColorSpace1(This,processor,colour_space); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputShaderUsage(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL shader_usage) { This->lpVtbl->VideoProcessorSetOutputShaderUsage(This,processor,shader_usage); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputColorSpace1(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,DXGI_COLOR_SPACE_TYPE *colour_space) { This->lpVtbl->VideoProcessorGetOutputColorSpace1(This,processor,colour_space); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputShaderUsage(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,WINBOOL *shader_usage) { This->lpVtbl->VideoProcessorGetOutputShaderUsage(This,processor,shader_usage); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamColorSpace1(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_COLOR_SPACE_TYPE colour_space) { This->lpVtbl->VideoProcessorSetStreamColorSpace1(This,processor,stream_index,colour_space); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamMirror(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,WINBOOL enable,WINBOOL flip_horizontal,WINBOOL flip_vertical) { This->lpVtbl->VideoProcessorSetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamColorSpace1(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_COLOR_SPACE_TYPE *colour_space) { This->lpVtbl->VideoProcessorGetStreamColorSpace1(This,processor,stream_index,colour_space); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamMirror(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,WINBOOL *enable,WINBOOL *flip_horizontal,WINBOOL *flip_vertical) { This->lpVtbl->VideoProcessorGetStreamMirror(This,processor,stream_index,enable,flip_horizontal,flip_vertical); } static 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) { return This->lpVtbl->VideoProcessorGetBehaviorHints(This,processor,output_width,output_height,output_format,stream_count,streams,behaviour_hints); } /*** ID3D11VideoContext2 methods ***/ static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetOutputHDRMetaData(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,DXGI_HDR_METADATA_TYPE type,UINT size,const void *meta_data) { This->lpVtbl->VideoProcessorSetOutputHDRMetaData(This,processor,type,size,meta_data); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetOutputHDRMetaData(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,DXGI_HDR_METADATA_TYPE *type,UINT size,void *meta_data) { This->lpVtbl->VideoProcessorGetOutputHDRMetaData(This,processor,type,size,meta_data); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorSetStreamHDRMetaData(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_HDR_METADATA_TYPE type,UINT size,const void *meta_data) { This->lpVtbl->VideoProcessorSetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data); } static FORCEINLINE void ID3D11VideoContext2_VideoProcessorGetStreamHDRMetaData(ID3D11VideoContext2* This,ID3D11VideoProcessor *processor,UINT stream_index,DXGI_HDR_METADATA_TYPE *type,UINT size,void *meta_data) { This->lpVtbl->VideoProcessorGetStreamHDRMetaData(This,processor,stream_index,type,size,meta_data); } #endif #endif #endif #endif /* __ID3D11VideoContext2_INTERFACE_DEFINED__ */ /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __d3d11_4_h__ */