diff --git a/src/d3d9/d3d9_interfaces.h b/src/d3d9/d3d9_interfaces.h index f25ac26d494..0d1b363250a 100644 --- a/src/d3d9/d3d9_interfaces.h +++ b/src/d3d9/d3d9_interfaces.h @@ -33,8 +33,8 @@ ID3D9VkInteropInterface : public IUnknown { /** * \brief D3D9 texture interface for Vulkan interop * - * Provides access to the backing resource of a - * D3D9 texture or surface. + * Provides access to the backing image of a + * D3D9 texture, surface, or volume. */ MIDL_INTERFACE("d56344f5-8d35-46fd-806d-94c351b472c1") ID3D9VkInteropTexture : public IUnknown { diff --git a/src/d3d9/d3d9_volume.cpp b/src/d3d9/d3d9_volume.cpp index a70c8b24b8d..61e38c87a93 100644 --- a/src/d3d9/d3d9_volume.cpp +++ b/src/d3d9/d3d9_volume.cpp @@ -65,6 +65,11 @@ namespace dxvk { return S_OK; } + if (riid == __uuidof(ID3D9VkInteropTexture)) { + *ppvObject = ref(m_texture->GetVkInterop()); + return S_OK; + } + if (logQueryInterfaceError(__uuidof(IDirect3DVolume9), riid)) { Logger::warn("D3D9Volume::QueryInterface: Unknown interface query"); Logger::warn(str::format(riid));