mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-02 01:24:11 +01:00
[dxgi] Define IDXGIVkInteropAdapter interface
Can be used to pull the Vulkan instance and physical device from a DXGI adapter.
This commit is contained in:
parent
9e02b6b433
commit
9af8387e4e
@ -276,6 +276,28 @@ IDXGIVkInteropDevice : public IUnknown {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* \brief DXGI adapter interface for Vulkan interop
|
||||
*
|
||||
* Provides access to the physical device and
|
||||
* instance handles for the given DXGI adapter.
|
||||
*/
|
||||
MIDL_INTERFACE("3a6d8f2c-b0e8-4ab4-b4dc-4fd24891bfa5")
|
||||
IDXGIVkInteropAdapter : public IUnknown {
|
||||
static const GUID guid;
|
||||
|
||||
/**
|
||||
* \brief Queries Vulkan handles used by DXVK
|
||||
*
|
||||
* \param [out] pInstance The Vulkan instance
|
||||
* \param [out] pPhysDev The physical device
|
||||
*/
|
||||
virtual void STDMETHODCALLTYPE GetVulkanHandles(
|
||||
VkInstance* pInstance,
|
||||
VkPhysicalDevice* pPhysDev) = 0;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* \brief IWineDXGISwapChainFactory device interface
|
||||
*
|
||||
@ -299,6 +321,7 @@ IWineDXGISwapChainFactory : public IUnknown {
|
||||
#ifdef _MSC_VER
|
||||
struct __declspec(uuid("907bf281-ea3c-43b4-a8e4-9f231107b4ff")) IDXGIDXVKAdapter;
|
||||
struct __declspec(uuid("c06a236f-5be3-448a-8943-89c611c0c2c1")) IDXGIVkMonitorInfo;
|
||||
struct __declspec(uuid("3a6d8f2c-b0e8-4ab4-b4dc-4fd24891bfa5")) IDXGIVkInteropAdapter;
|
||||
struct __declspec(uuid("e2ef5fa5-dc21-4af7-90c4-f67ef6a09323")) IDXGIVkInteropDevice;
|
||||
struct __declspec(uuid("5546cf8c-77e7-4341-b05d-8d4d5000e77d")) IDXGIVkInteropSurface;
|
||||
struct __declspec(uuid("104001a6-7f36-4957-b932-86ade9567d91")) IDXGIVkSwapChain;
|
||||
@ -306,6 +329,7 @@ struct __declspec(uuid("53cb4ff0-c25a-4164-a891-0e83db0a7aac")) IWineDXGISwapCha
|
||||
#else
|
||||
DXVK_DEFINE_GUID(IDXGIDXVKAdapter);
|
||||
DXVK_DEFINE_GUID(IDXGIVkMonitorInfo);
|
||||
DXVK_DEFINE_GUID(IDXGIVkInteropAdapter);
|
||||
DXVK_DEFINE_GUID(IDXGIVkInteropDevice);
|
||||
DXVK_DEFINE_GUID(IDXGIVkInteropSurface);
|
||||
DXVK_DEFINE_GUID(IDXGIVkSwapChain);
|
||||
|
@ -8,6 +8,7 @@ const GUID ID3D11VkExtDevice::guid = {0x8a6e3c42,0xf74c,0x45b7,{0x82,0x65,0
|
||||
const GUID ID3D11VkExtContext::guid = {0xfd0bca13,0x5cb6,0x4c3a,{0x98,0x7e,0x47,0x50,0xde,0x2c,0xa7,0x91}};
|
||||
const GUID IDXGIDXVKAdapter::guid = {0x907bf281,0xea3c,0x43b4,{0xa8,0xe4,0x9f,0x23,0x11,0x07,0xb4,0xff}};
|
||||
const GUID IDXGIVkMonitorInfo::guid = {0xc06a236f,0x5be3,0x448a,{0x89,0x43,0x89,0xc6,0x11,0xc0,0xc2,0xc1}};
|
||||
const GUID IDXGIVkInteropAdapter::guid = {0x3a6d8f2c,0xb0e8,0x4ab4,{0xb4,0xdc,0x4f,0xd2,0x48,0x91,0xbf,0xa5}};
|
||||
const GUID IDXGIVkInteropDevice::guid = {0xe2ef5fa5,0xdc21,0x4af7,{0x90,0xc4,0xf6,0x7e,0xf6,0xa0,0x93,0x23}};
|
||||
const GUID IDXGIVkInteropSurface::guid = {0x5546cf8c,0x77e7,0x4341,{0xb0,0x5d,0x8d,0x4d,0x50,0x00,0xe7,0x7d}};
|
||||
const GUID IDXGIVkSwapChain::guid = {0x104001a6,0x7f36,0x4957,{0xb9,0x32,0x86,0xad,0xe9,0x56,0x7d,0x91}};
|
||||
|
Loading…
Reference in New Issue
Block a user