1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-14 00:48:44 +01:00
dxvk/src/dxgi/dxgi_interfaces.h

46 lines
1.0 KiB
C
Raw Normal View History

2017-10-11 15:31:36 +02:00
#pragma once
#include "dxgi_include.h"
namespace dxvk {
class DxgiAdapter;
class DxvkAdapter;
class DxvkDevice;
}
/**
* \brief DXVK adapter
*
* The implementation of \c IDXGIAdapter holds a
* \ref DxvkAdapter which can be retrieved using
* this interface.
*/
MIDL_INTERFACE("907bf281-ea3c-43b4-a8e4-9f231107b4ff")
IDXVKAdapter : public IDXGIAdapter {
static const GUID guid;
virtual dxvk::Rc<dxvk::DxvkAdapter> GetDXVKAdapter() = 0;
};
/**
* \brief DXVK device
*
* The implementation of \c IDXGIDevice stores a
* \ref DxvkDevice which can be retrieved using
* this interface.
*/
MIDL_INTERFACE("7a622cf6-627a-46b2-b52f-360ef3da831c")
IDXVKDevice : public IDXGIDevice {
static const GUID guid;
virtual void SetDeviceLayer(
IUnknown* layer) = 0;
virtual dxvk::Rc<dxvk::DxvkDevice> GetDXVKDevice() = 0;
};
template<> inline GUID const& __mingw_uuidof<IDXVKAdapter>() { return IDXVKAdapter::guid; }
template<> inline GUID const& __mingw_uuidof<IDXVKDevice> () { return IDXVKDevice ::guid; }