mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-06 13:46:19 +01:00
57 lines
1.4 KiB
C++
57 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "../dxgi/dxgi_interfaces.h"
|
|
|
|
#include "d3d11_include.h"
|
|
|
|
namespace dxvk {
|
|
|
|
class D3D11Device;
|
|
|
|
class D3D11VkInterop : public ComObject<IDXGIVkInteropDevice> {
|
|
|
|
public:
|
|
|
|
D3D11VkInterop(
|
|
IDXGIObject* pContainer,
|
|
D3D11Device* 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;
|
|
D3D11Device* m_device;
|
|
|
|
};
|
|
|
|
} |