diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index 74efb1c14..d701e9235 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -14,11 +14,11 @@ #include "d3d11_device.h" #include "d3d11_input_layout.h" #include "d3d11_interop.h" -#include "d3d11_present.h" #include "d3d11_query.h" #include "d3d11_resource.h" #include "d3d11_sampler.h" #include "d3d11_shader.h" +#include "d3d11_swapchain.h" #include "d3d11_texture.h" namespace dxvk { @@ -1769,7 +1769,6 @@ namespace dxvk { m_dxvkAdapter (pDxvkAdapter), m_dxvkDevice (CreateDevice(FeatureLevel)), m_d3d11Device (this, FeatureLevel, FeatureFlags), - m_d3d11Presenter(this, &m_d3d11Device), m_d3d11Interop (this, &m_d3d11Device), m_wineFactory (this, &m_d3d11Device), m_frameLatencyCap(m_d3d11Device.GetOptions()->maxFrameLatency) { @@ -1816,11 +1815,6 @@ namespace dxvk { return S_OK; } - if (riid == __uuidof(IDXGIVkPresentDevice)) { - *ppvObject = ref(&m_d3d11Presenter); - return S_OK; - } - if (riid == __uuidof(IWineDXGISwapChainFactory)) { *ppvObject = ref(&m_wineFactory); return S_OK; diff --git a/src/d3d11/d3d11_device.h b/src/d3d11/d3d11_device.h index cfc71074e..7d0daf62a 100644 --- a/src/d3d11/d3d11_device.h +++ b/src/d3d11/d3d11_device.h @@ -19,7 +19,6 @@ #include "d3d11_interfaces.h" #include "d3d11_interop.h" #include "d3d11_options.h" -#include "d3d11_present.h" #include "d3d11_shader.h" #include "d3d11_state.h" #include "d3d11_util.h" @@ -503,7 +502,6 @@ namespace dxvk { Rc m_dxvkDevice; D3D11Device m_d3d11Device; - D3D11PresentDevice m_d3d11Presenter; D3D11VkInterop m_d3d11Interop; WineDXGISwapChainFactory m_wineFactory; diff --git a/src/d3d11/d3d11_main.cpp b/src/d3d11/d3d11_main.cpp index f05867075..01cb317e4 100644 --- a/src/d3d11/d3d11_main.cpp +++ b/src/d3d11/d3d11_main.cpp @@ -7,7 +7,6 @@ #include "d3d11_device.h" #include "d3d11_enums.h" #include "d3d11_interop.h" -#include "d3d11_present.h" namespace dxvk { Logger Logger::s_instance("d3d11.log"); diff --git a/src/d3d11/d3d11_present.cpp b/src/d3d11/d3d11_present.cpp deleted file mode 100644 index 14b6e4faa..000000000 --- a/src/d3d11/d3d11_present.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "d3d11_device.h" -#include "d3d11_present.h" - -namespace dxvk { - - D3D11PresentDevice::D3D11PresentDevice( - D3D11DXGIDevice* pContainer, - D3D11Device* pDevice) - : m_container (pContainer), - m_device (pDevice) { - - } - - - D3D11PresentDevice::~D3D11PresentDevice() { - - } - - - ULONG STDMETHODCALLTYPE D3D11PresentDevice::AddRef() { - return m_container->AddRef(); - } - - - ULONG STDMETHODCALLTYPE D3D11PresentDevice::Release() { - return m_container->Release(); - } - - - HRESULT STDMETHODCALLTYPE D3D11PresentDevice::QueryInterface(REFIID riid, void** ppvObject) { - return m_container->QueryInterface(riid, ppvObject); - } - - - HRESULT STDMETHODCALLTYPE D3D11PresentDevice::CreateSwapChainForHwnd( - HWND hWnd, - const DXGI_SWAP_CHAIN_DESC1* pDesc, - IDXGIVkSwapChain** ppSwapChain) { - InitReturnPtr(ppSwapChain); - - try { - *ppSwapChain = ref(new D3D11SwapChain( - m_container, m_device, hWnd, pDesc)); - return S_OK; - } catch (const DxvkError& e) { - Logger::err(e.message()); - return E_FAIL; - } - } - -} diff --git a/src/d3d11/d3d11_present.h b/src/d3d11/d3d11_present.h deleted file mode 100644 index 2fb0dc5ee..000000000 --- a/src/d3d11/d3d11_present.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include "../dxgi/dxgi_interfaces.h" - -#include "d3d11_include.h" -#include "d3d11_swapchain.h" - -namespace dxvk { - - class D3D11Device; - class D3D11DXGIDevice; - - /** - * \brief Present device - * - * Wires up some swap chain related - * functions to the D3D11 device. - */ - class D3D11PresentDevice final : public IDXGIVkPresentDevice { - - public: - - D3D11PresentDevice( - D3D11DXGIDevice* pContainer, - D3D11Device* pDevice); - - ~D3D11PresentDevice(); - - ULONG STDMETHODCALLTYPE AddRef(); - - ULONG STDMETHODCALLTYPE Release(); - - HRESULT STDMETHODCALLTYPE QueryInterface( - REFIID riid, - void** ppvObject); - - HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd( - HWND hWnd, - const DXGI_SWAP_CHAIN_DESC1* pDesc, - IDXGIVkSwapChain** ppSwapChain); - - private: - - D3D11DXGIDevice* m_container; - D3D11Device* m_device; - - }; - -} diff --git a/src/d3d11/meson.build b/src/d3d11/meson.build index b924814c8..15ae3d0ea 100644 --- a/src/d3d11/meson.build +++ b/src/d3d11/meson.build @@ -39,7 +39,6 @@ d3d11_src = [ 'd3d11_interop.cpp', 'd3d11_main.cpp', 'd3d11_options.cpp', - 'd3d11_present.cpp', 'd3d11_query.cpp', 'd3d11_rasterizer.cpp', 'd3d11_resource.cpp', diff --git a/src/dxgi/dxgi_interfaces.h b/src/dxgi/dxgi_interfaces.h index d36f84eab..eacc69702 100644 --- a/src/dxgi/dxgi_interfaces.h +++ b/src/dxgi/dxgi_interfaces.h @@ -78,24 +78,6 @@ IDXGIVkAdapter : public IDXGIAdapter3 { }; -/** - * \brief Private presentation device interface - * - * Allows a swap chain to communicate with the device - * in order to flush pending commands or create the - * back buffer interface. - */ -MIDL_INTERFACE("79352328-16f2-4f81-9746-9c2e2ccd43cf") -IDXGIVkPresentDevice : public IUnknown { - static const GUID guid; - - virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd( - HWND hWnd, - const DXGI_SWAP_CHAIN_DESC1* pDesc, - IDXGIVkSwapChain** ppSwapChain) = 0; -}; - - /** * \brief DXGI surface interface for Vulkan interop * @@ -259,14 +241,12 @@ IWineDXGISwapChainFactory : public IUnknown { #ifdef _MSC_VER struct __declspec(uuid("907bf281-ea3c-43b4-a8e4-9f231107b4ff")) IDXGIVkAdapter; -struct __declspec(uuid("79352328-16f2-4f81-9746-9c2e2ccd43cf")) IDXGIVkPresentDevice; struct __declspec(uuid("e2ef5fa5-dc21-4af7-90c4-f67ef6a09323")) IDXGIVkInteropDevice; struct __declspec(uuid("5546cf8c-77e7-4341-b05d-8d4d5000e77d")) IDXGIVkInteropSurface; struct __declspec(uuid("104001a6-7f36-4957-b932-86ade9567d91")) IDXGIVkSwapChain; struct __declspec(uuid("53cb4ff0-c25a-4164-a891-0e83db0a7aac")) IWineDXGISwapChainFactory; #else DXVK_DEFINE_GUID(IDXGIVkAdapter); -DXVK_DEFINE_GUID(IDXGIVkPresentDevice); DXVK_DEFINE_GUID(IDXGIVkInteropDevice); DXVK_DEFINE_GUID(IDXGIVkInteropSurface); DXVK_DEFINE_GUID(IDXGIVkSwapChain); diff --git a/src/util/com/com_guid.cpp b/src/util/com/com_guid.cpp index cb763cb4a..85f6164d5 100644 --- a/src/util/com/com_guid.cpp +++ b/src/util/com/com_guid.cpp @@ -5,7 +5,6 @@ #include "../../dxgi/dxgi_interfaces.h" const GUID IDXGIVkAdapter::guid = {0x907bf281,0xea3c,0x43b4,{0xa8,0xe4,0x9f,0x23,0x11,0x07,0xb4,0xff}}; -const GUID IDXGIVkPresentDevice::guid = {0x79352328,0x16f2,0x4f81,{0x97,0x46,0x9c,0x2e,0x2c,0xcd,0x43,0xcf}}; const GUID IDXGIVkInteropDevice::guid = {0xe2ef5fa5,0xdc21,0x4af7,{0x90,0xc4,0xf6,0x7e,0xf6,0xa0,0x93,0x23}}; const GUID IDXGIVkInteropSurface::guid = {0x5546cf8c,0x77e7,0x4341,{0xb0,0x5d,0x8d,0x4d,0x50,0x00,0xe7,0x7d}}; const GUID IDXGIVkSwapChain::guid = {0x104001a6,0x7f36,0x4957,{0xb9,0x32,0x86,0xad,0xe9,0x56,0x7d,0x91}};