mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-14 18:23:52 +01:00
38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "d3d9_include.h"
|
||
|
#include "../vulkan/vulkan_loader.h"
|
||
|
|
||
|
/**
|
||
|
* \brief D3D9 interface for Vulkan interop
|
||
|
*
|
||
|
* Provides access to the instance and physical device
|
||
|
* handles for the given D3D9 interface and adapter ordinals.
|
||
|
*/
|
||
|
MIDL_INTERFACE("3461a81b-ce41-485b-b6b5-fcf08ba6a6bd")
|
||
|
ID3D9VkInteropInterface : public IUnknown {
|
||
|
/**
|
||
|
* \brief Queries Vulkan handles used by DXVK
|
||
|
*
|
||
|
* \param [out] pInstance The Vulkan instance
|
||
|
*/
|
||
|
virtual void STDMETHODCALLTYPE GetInstanceHandle(
|
||
|
VkInstance* pInstance) = 0;
|
||
|
|
||
|
/**
|
||
|
* \brief Queries Vulkan handles used by DXVK
|
||
|
*
|
||
|
* \param [in] Adapter Adapter ordinal
|
||
|
* \param [out] pInstance The Vulkan instance
|
||
|
*/
|
||
|
virtual void STDMETHODCALLTYPE GetPhysicalDeviceHandle(
|
||
|
UINT Adapter,
|
||
|
VkPhysicalDevice* pPhysicalDevice) = 0;
|
||
|
};
|
||
|
|
||
|
#ifdef _MSC_VER
|
||
|
struct __declspec(uuid("3461a81b-ce41-485b-b6b5-fcf08ba6a6bd")) ID3D9VkInteropInterface;
|
||
|
#else
|
||
|
__CRT_UUID_DECL(ID3D9VkInteropInterface, 0x3461a81b,0xce41,0x485b,0xb6,0xb5,0xfc,0xf0,0x8b,0xa6,0xa6,0xbd);
|
||
|
#endif
|