From 0cdc13d785f76fd3a232153660ef6953d0689898 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Mon, 27 Nov 2017 15:51:53 +0100 Subject: [PATCH] [dxgi] Renamed private DXGI interfaces --- src/d3d11/d3d11_buffer.h | 9 +++++---- src/d3d11/d3d11_device.cpp | 4 ++-- src/d3d11/d3d11_device.h | 14 +++++++------- src/d3d11/d3d11_main.cpp | 8 ++++---- src/d3d11/meson.build | 1 + src/dxgi/dxgi_adapter.cpp | 2 +- src/dxgi/dxgi_adapter.h | 2 +- src/dxgi/dxgi_device.cpp | 8 ++++---- src/dxgi/dxgi_device.h | 14 +++++++------- src/dxgi/dxgi_interfaces.h | 8 ++++---- src/dxgi/dxgi_swapchain.cpp | 2 +- src/dxgi/dxgi_swapchain.h | 4 ++-- src/util/com/com_guid.cpp | 4 ++-- 13 files changed, 41 insertions(+), 39 deletions(-) diff --git a/src/d3d11/d3d11_buffer.h b/src/d3d11/d3d11_buffer.h index 7ede40ff5..e9e9f1b35 100644 --- a/src/d3d11/d3d11_buffer.h +++ b/src/d3d11/d3d11_buffer.h @@ -28,13 +28,14 @@ namespace dxvk { D3D11_RESOURCE_DIMENSION *pResourceDimension) final; void GetDesc( - D3D11_BUFFER_DESC *pDesc); + D3D11_BUFFER_DESC *pDesc) final; private: - Com m_device; - D3D11_BUFFER_DESC m_desc; - Rc m_buffer; + Com m_device; + + D3D11_BUFFER_DESC m_desc; + Rc m_buffer; Rc createBuffer(); diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index efedcdec3..7cdaf51a9 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -7,7 +7,7 @@ namespace dxvk { D3D11Device::D3D11Device( - IDXVKDevice* dxgiDevice, + IDXGIDevicePrivate* dxgiDevice, D3D_FEATURE_LEVEL featureLevel, UINT featureFlags) : m_dxgiDevice (dxgiDevice), @@ -29,7 +29,7 @@ namespace dxvk { COM_QUERY_IFACE(riid, ppvObject, IUnknown); COM_QUERY_IFACE(riid, ppvObject, ID3D11Device); - if (riid == __uuidof(IDXVKDevice) + if (riid == __uuidof(IDXGIDevicePrivate) || riid == __uuidof(IDXGIDevice)) return m_dxgiDevice->QueryInterface(riid, ppvObject); diff --git a/src/d3d11/d3d11_device.h b/src/d3d11/d3d11_device.h index 96026ba2c..45e1f247c 100644 --- a/src/d3d11/d3d11_device.h +++ b/src/d3d11/d3d11_device.h @@ -17,7 +17,7 @@ namespace dxvk { public: D3D11Device( - IDXVKDevice* dxgiDevice, + IDXGIDevicePrivate* dxgiDevice, D3D_FEATURE_LEVEL featureLevel, UINT featureFlags); ~D3D11Device(); @@ -224,14 +224,14 @@ namespace dxvk { private: - const Com m_dxgiDevice; - const D3D_FEATURE_LEVEL m_featureLevel; - const UINT m_featureFlags; + const Com m_dxgiDevice; + const D3D_FEATURE_LEVEL m_featureLevel; + const UINT m_featureFlags; - const Rc m_dxvkDevice; - const Rc m_dxvkAdapter; + const Rc m_dxvkDevice; + const Rc m_dxvkAdapter; - Com m_context; + Com m_context; }; diff --git a/src/d3d11/d3d11_main.cpp b/src/d3d11/d3d11_main.cpp index ef256959d..d16de7845 100644 --- a/src/d3d11/d3d11_main.cpp +++ b/src/d3d11/d3d11_main.cpp @@ -19,8 +19,8 @@ extern "C" { ID3D11Device **ppDevice, D3D_FEATURE_LEVEL *pFeatureLevel, ID3D11DeviceContext **ppImmediateContext) { - Com dxgiAdapter = pAdapter; - Com dxvkAdapter = nullptr; + Com dxgiAdapter = pAdapter; + Com dxvkAdapter = nullptr; if (dxgiAdapter == nullptr) { // We'll treat everything as hardware, even if the @@ -55,7 +55,7 @@ extern "C" { // The adapter must obviously be a DXVK-compatible adapter so // that we can create a DXVK-compatible DXGI device from it. - if (FAILED(dxgiAdapter->QueryInterface(__uuidof(IDXVKAdapter), + if (FAILED(dxgiAdapter->QueryInterface(__uuidof(IDXGIAdapterPrivate), reinterpret_cast(&dxvkAdapter)))) { Logger::err("D3D11CreateDevice: Adapter is not a DXVK adapter"); return E_FAIL; @@ -103,7 +103,7 @@ extern "C" { // does not hold a strong reference to the device that owns it, so // if we cannot write back the device, it would be destroyed. if (ppDevice != nullptr) { - Com dxvkDevice = nullptr; + Com dxvkDevice = nullptr; if (FAILED(DXGICreateDXVKDevice(dxvkAdapter.ptr(), &dxvkDevice))) { Logger::err("D3D11CreateDevice: Failed to create DXGI device"); diff --git a/src/d3d11/meson.build b/src/d3d11/meson.build index 75b1eeeec..9d2fbadf0 100644 --- a/src/d3d11/meson.build +++ b/src/d3d11/meson.build @@ -3,6 +3,7 @@ d3d11_src = [ 'd3d11_context.cpp', 'd3d11_device.cpp', 'd3d11_main.cpp', + 'd3d11_texture.cpp', ] d3d11_dll = shared_library('d3d11', d3d11_src, diff --git a/src/dxgi/dxgi_adapter.cpp b/src/dxgi/dxgi_adapter.cpp index 866971131..af54c1a4a 100644 --- a/src/dxgi/dxgi_adapter.cpp +++ b/src/dxgi/dxgi_adapter.cpp @@ -28,7 +28,7 @@ namespace dxvk { COM_QUERY_IFACE(riid, ppvObject, IDXGIObject); COM_QUERY_IFACE(riid, ppvObject, IDXGIAdapter); COM_QUERY_IFACE(riid, ppvObject, IDXGIAdapter1); - COM_QUERY_IFACE(riid, ppvObject, IDXVKAdapter); + COM_QUERY_IFACE(riid, ppvObject, IDXGIAdapterPrivate); Logger::warn("DxgiAdapter::QueryInterface: Unknown interface query"); return E_NOINTERFACE; diff --git a/src/dxgi/dxgi_adapter.h b/src/dxgi/dxgi_adapter.h index d5904daf1..65818d279 100644 --- a/src/dxgi/dxgi_adapter.h +++ b/src/dxgi/dxgi_adapter.h @@ -13,7 +13,7 @@ namespace dxvk { class DxgiFactory; class DxgiOutput; - class DxgiAdapter : public DxgiObject { + class DxgiAdapter : public DxgiObject { public: diff --git a/src/dxgi/dxgi_device.cpp b/src/dxgi/dxgi_device.cpp index cf35c7cc2..155f95dff 100644 --- a/src/dxgi/dxgi_device.cpp +++ b/src/dxgi/dxgi_device.cpp @@ -3,7 +3,7 @@ namespace dxvk { - DxgiDevice::DxgiDevice(IDXVKAdapter* adapter) + DxgiDevice::DxgiDevice(IDXGIAdapterPrivate* adapter) : m_adapter(adapter) { m_device = m_adapter->GetDXVKAdapter()->createDevice(); } @@ -18,7 +18,7 @@ namespace dxvk { COM_QUERY_IFACE(riid, ppvObject, IUnknown); COM_QUERY_IFACE(riid, ppvObject, IDXGIObject); COM_QUERY_IFACE(riid, ppvObject, IDXGIDevice); - COM_QUERY_IFACE(riid, ppvObject, IDXVKDevice); + COM_QUERY_IFACE(riid, ppvObject, IDXGIDevicePrivate); if (m_layer != nullptr) return m_layer->QueryInterface(riid, ppvObject); @@ -92,8 +92,8 @@ namespace dxvk { extern "C" { DLLEXPORT HRESULT __stdcall DXGICreateDXVKDevice( - IDXVKAdapter* pAdapter, - IDXVKDevice** ppDevice) { + IDXGIAdapterPrivate* pAdapter, + IDXGIDevicePrivate** ppDevice) { try { *ppDevice = dxvk::ref(new dxvk::DxgiDevice(pAdapter)); return S_OK; diff --git a/src/dxgi/dxgi_device.h b/src/dxgi/dxgi_device.h index b4d5203f1..d209cf336 100644 --- a/src/dxgi/dxgi_device.h +++ b/src/dxgi/dxgi_device.h @@ -9,11 +9,11 @@ namespace dxvk { class DxgiFactory; - class DxgiDevice : public DxgiObject { + class DxgiDevice : public DxgiObject { public: - DxgiDevice(IDXVKAdapter* adapter); + DxgiDevice(IDXGIAdapterPrivate* adapter); ~DxgiDevice(); HRESULT QueryInterface( @@ -52,10 +52,10 @@ namespace dxvk { private: - Com m_adapter; - Rc m_device; + Com m_adapter; + Rc m_device; - IUnknown* m_layer = nullptr; + IUnknown* m_layer = nullptr; }; @@ -65,7 +65,7 @@ namespace dxvk { extern "C" { DLLEXPORT HRESULT __stdcall DXGICreateDXVKDevice( - IDXVKAdapter* pAdapter, - IDXVKDevice** ppDevice); + IDXGIAdapterPrivate* pAdapter, + IDXGIDevicePrivate** ppDevice); } \ No newline at end of file diff --git a/src/dxgi/dxgi_interfaces.h b/src/dxgi/dxgi_interfaces.h index cb1800c0a..af784c7c7 100644 --- a/src/dxgi/dxgi_interfaces.h +++ b/src/dxgi/dxgi_interfaces.h @@ -16,7 +16,7 @@ namespace dxvk { * this interface. */ MIDL_INTERFACE("907bf281-ea3c-43b4-a8e4-9f231107b4ff") -IDXVKAdapter : public IDXGIAdapter1 { +IDXGIAdapterPrivate : public IDXGIAdapter1 { static const GUID guid; virtual dxvk::Rc GetDXVKAdapter() = 0; @@ -31,7 +31,7 @@ IDXVKAdapter : public IDXGIAdapter1 { * this interface. */ MIDL_INTERFACE("7a622cf6-627a-46b2-b52f-360ef3da831c") -IDXVKDevice : public IDXGIDevice { +IDXGIDevicePrivate : public IDXGIDevice { static const GUID guid; virtual void SetDeviceLayer( @@ -41,5 +41,5 @@ IDXVKDevice : public IDXGIDevice { }; -template<> inline GUID const& __mingw_uuidof() { return IDXVKAdapter::guid; } -template<> inline GUID const& __mingw_uuidof () { return IDXVKDevice ::guid; } +template<> inline GUID const& __mingw_uuidof() { return IDXGIAdapterPrivate::guid; } +template<> inline GUID const& __mingw_uuidof () { return IDXGIDevicePrivate ::guid; } diff --git a/src/dxgi/dxgi_swapchain.cpp b/src/dxgi/dxgi_swapchain.cpp index f6064406b..c186f2afe 100644 --- a/src/dxgi/dxgi_swapchain.cpp +++ b/src/dxgi/dxgi_swapchain.cpp @@ -12,7 +12,7 @@ namespace dxvk { // Retrieve a device pointer that allows us to // communicate with the underlying D3D device - if (FAILED(pDevice->QueryInterface(__uuidof(IDXVKDevice), + if (FAILED(pDevice->QueryInterface(__uuidof(IDXGIDevicePrivate), reinterpret_cast(&m_device)))) throw DxvkError("DxgiSwapChain::DxgiSwapChain: Invalid device"); diff --git a/src/dxgi/dxgi_swapchain.h b/src/dxgi/dxgi_swapchain.h index 35401f6eb..95f623576 100644 --- a/src/dxgi/dxgi_swapchain.h +++ b/src/dxgi/dxgi_swapchain.h @@ -78,8 +78,8 @@ namespace dxvk { std::mutex m_mutex; - Com m_factory; - Com m_device; + Com m_factory; + Com m_device; DXGI_SWAP_CHAIN_DESC m_desc; DXGI_FRAME_STATISTICS m_stats; diff --git a/src/util/com/com_guid.cpp b/src/util/com/com_guid.cpp index e308a8e8f..6f32fdb9e 100644 --- a/src/util/com/com_guid.cpp +++ b/src/util/com/com_guid.cpp @@ -2,8 +2,8 @@ #include "../../dxgi/dxgi_interfaces.h" -const GUID IDXVKAdapter::guid = {0x907bf281,0xea3c,0x43b4,{0xa8,0xe4,0x9f,0x23,0x11,0x07,0xb4,0xff}}; -const GUID IDXVKDevice::guid = {0x7a622cf6,0x627a,0x46b2,{0xb5,0x2f,0x36,0x0e,0xf3,0xda,0x83,0x1c}}; +const GUID IDXGIAdapterPrivate::guid = {0x907bf281,0xea3c,0x43b4,{0xa8,0xe4,0x9f,0x23,0x11,0x07,0xb4,0xff}}; +const GUID IDXGIDevicePrivate::guid = {0x7a622cf6,0x627a,0x46b2,{0xb5,0x2f,0x36,0x0e,0xf3,0xda,0x83,0x1c}}; std::ostream& operator << (std::ostream& os, REFIID guid) { os.width(8);