mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 19:54:19 +01:00
[dxgi,d3d11] Remove IDXGIVkPresentDevice
This commit is contained in:
parent
fd445f7b4d
commit
746562de5a
@ -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;
|
||||
|
@ -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<DxvkDevice> m_dxvkDevice;
|
||||
|
||||
D3D11Device m_d3d11Device;
|
||||
D3D11PresentDevice m_d3d11Presenter;
|
||||
D3D11VkInterop m_d3d11Interop;
|
||||
|
||||
WineDXGISwapChainFactory m_wineFactory;
|
||||
|
@ -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");
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -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',
|
||||
|
@ -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);
|
||||
|
@ -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}};
|
||||
|
Loading…
x
Reference in New Issue
Block a user