diff --git a/src/d3d10/d3d10_util.cpp b/src/d3d10/d3d10_util.cpp index 35f7de57b..32ea6bfaf 100644 --- a/src/d3d10/d3d10_util.cpp +++ b/src/d3d10/d3d10_util.cpp @@ -37,6 +37,15 @@ namespace dxvk { } + void GetD3D11Resource( + ID3D10Resource* pSrcResource, + ID3D11Resource** ppDstResource) { + pSrcResource->QueryInterface( + __uuidof(ID3D11Resource), + reinterpret_cast(ppDstResource)); + } + + void GetD3D10Device( ID3D11DeviceChild* pObject, ID3D10Device** ppDevice) { diff --git a/src/d3d10/d3d10_util.h b/src/d3d10/d3d10_util.h index ddd5ed5a0..0ea35d29f 100644 --- a/src/d3d10/d3d10_util.h +++ b/src/d3d10/d3d10_util.h @@ -15,6 +15,16 @@ namespace dxvk { UINT ConvertD3D10ResourceFlags(UINT MiscFlags); UINT ConvertD3D11ResourceFlags(UINT MiscFlags); + /** + * \brief Retrieves D3D11 resource from D3D10 resource + * + * \param [in] pSrcResource The D3D10 resource + * \param [out] ppDstResource The D3D11 resource + */ + void GetD3D11Resource( + ID3D10Resource* pSrcResource, + ID3D11Resource** ppDstResource); + /** * \brief Retrieves D3D10 device from D3D11 object *