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

46 lines
1.1 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")
2017-11-27 15:51:53 +01:00
IDXGIAdapterPrivate : public IDXGIAdapter1 {
2017-10-11 15:31:36 +02:00
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")
2017-11-27 15:51:53 +01:00
IDXGIDevicePrivate : public IDXGIDevice {
2017-10-11 15:31:36 +02:00
static const GUID guid;
virtual void SetDeviceLayer(
IUnknown* layer) = 0;
virtual dxvk::Rc<dxvk::DxvkDevice> GetDXVKDevice() = 0;
};
2017-11-27 15:51:53 +01:00
template<> inline GUID const& __mingw_uuidof<IDXGIAdapterPrivate>() { return IDXGIAdapterPrivate::guid; }
template<> inline GUID const& __mingw_uuidof<IDXGIDevicePrivate> () { return IDXGIDevicePrivate ::guid; }