2017-10-11 15:31:36 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "dxgi_include.h"
|
|
|
|
|
|
|
|
namespace dxvk {
|
|
|
|
class DxgiAdapter;
|
|
|
|
class DxvkAdapter;
|
|
|
|
class DxvkDevice;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2017-11-29 07:55:44 +01:00
|
|
|
* \brief Private DXGI adapter interface
|
2017-10-11 15:31:36 +02:00
|
|
|
*
|
|
|
|
* 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;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2017-11-29 07:55:44 +01:00
|
|
|
* \brief Private DXGI device interface
|
2017-10-11 15:31:36 +02:00
|
|
|
*
|
|
|
|
* 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; }
|