mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-21 02:52:10 +01:00
54 lines
1.4 KiB
C
54 lines
1.4 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "../dxgi/dxgi_interfaces.h"
|
||
|
|
||
|
#include "d3d11_include.h"
|
||
|
|
||
|
namespace dxvk {
|
||
|
|
||
|
class D3D11VkInterop : public ComObject<IDXGIVkInteropDevice> {
|
||
|
|
||
|
public:
|
||
|
|
||
|
D3D11VkInterop(
|
||
|
IDXGIObject* pContainer,
|
||
|
ID3D11Device* pDevice);
|
||
|
~D3D11VkInterop();
|
||
|
|
||
|
ULONG STDMETHODCALLTYPE AddRef();
|
||
|
|
||
|
ULONG STDMETHODCALLTYPE Release();
|
||
|
|
||
|
HRESULT STDMETHODCALLTYPE QueryInterface(
|
||
|
REFIID riid,
|
||
|
void** ppvObject);
|
||
|
|
||
|
void STDMETHODCALLTYPE GetVulkanHandles(
|
||
|
VkInstance* pInstance,
|
||
|
VkPhysicalDevice* pPhysDev,
|
||
|
VkDevice* pDevice);
|
||
|
|
||
|
void STDMETHODCALLTYPE GetSubmissionQueue(
|
||
|
VkQueue* pQueue,
|
||
|
uint32_t* pQueueFamilyIndex);
|
||
|
|
||
|
void STDMETHODCALLTYPE TransitionSurfaceLayout(
|
||
|
IDXGIVkInteropSurface* pSurface,
|
||
|
const VkImageSubresourceRange* pSubresources,
|
||
|
VkImageLayout OldLayout,
|
||
|
VkImageLayout NewLayout);
|
||
|
|
||
|
void STDMETHODCALLTYPE FlushRenderingCommands();
|
||
|
|
||
|
void STDMETHODCALLTYPE LockSubmissionQueue();
|
||
|
|
||
|
void STDMETHODCALLTYPE ReleaseSubmissionQueue();
|
||
|
|
||
|
private:
|
||
|
|
||
|
IDXGIObject* m_container;
|
||
|
ID3D11Device* m_device;
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|