mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
83 lines
2.9 KiB
Diff
83 lines
2.9 KiB
Diff
From d6446888cdfc8546f311e6c37e3b6e011acf4a75 Mon Sep 17 00:00:00 2001
|
|
From: Nikolay Sivov <nsivov@codeweavers.com>
|
|
Date: Sat, 28 Apr 2018 22:34:22 +0300
|
|
Subject: [PATCH] dxgi: Add IDXGIDevice2 stub.
|
|
|
|
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
|
|
---
|
|
dlls/dxgi/device.c | 30 ++++++++++++++++++++++++++++++
|
|
include/wine/winedxgi.idl | 2 +-
|
|
2 files changed, 31 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/dlls/dxgi/device.c b/dlls/dxgi/device.c
|
|
index 441bf14dd41..60690cfce8b 100644
|
|
--- a/dlls/dxgi/device.c
|
|
+++ b/dlls/dxgi/device.c
|
|
@@ -41,6 +41,7 @@ static HRESULT STDMETHODCALLTYPE dxgi_device_QueryInterface(IWineDXGIDevice *ifa
|
|
|| IsEqualGUID(riid, &IID_IDXGIObject)
|
|
|| IsEqualGUID(riid, &IID_IDXGIDevice)
|
|
|| IsEqualGUID(riid, &IID_IDXGIDevice1)
|
|
+ || IsEqualGUID(riid, &IID_IDXGIDevice2)
|
|
|| IsEqualGUID(riid, &IID_IWineDXGIDevice))
|
|
{
|
|
IUnknown_AddRef(iface);
|
|
@@ -275,6 +276,31 @@ static HRESULT STDMETHODCALLTYPE dxgi_device_GetMaximumFrameLatency(IWineDXGIDev
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
+static HRESULT STDMETHODCALLTYPE dxgi_device_OfferResources(IWineDXGIDevice *iface, UINT resource_count,
|
|
+ IDXGIResource * const *resources, DXGI_OFFER_RESOURCE_PRIORITY priority)
|
|
+{
|
|
+ FIXME("iface %p, resource_count %u, resources %p, priority %u stub!\n", iface, resource_count,
|
|
+ resources, priority);
|
|
+
|
|
+ return E_NOTIMPL;
|
|
+}
|
|
+
|
|
+static HRESULT STDMETHODCALLTYPE dxgi_device_ReclaimResources(IWineDXGIDevice *iface, UINT resource_count,
|
|
+ IDXGIResource * const *resources, BOOL *discarded)
|
|
+{
|
|
+ FIXME("iface %p, resource_count %u, resources %p, discarded %p stub!\n", iface, resource_count,
|
|
+ resources, discarded);
|
|
+
|
|
+ return E_NOTIMPL;
|
|
+}
|
|
+
|
|
+static HRESULT STDMETHODCALLTYPE dxgi_device_EnqueueSetEvent(IWineDXGIDevice *iface, HANDLE event)
|
|
+{
|
|
+ FIXME("iface %p, even %p stub!\n", iface, event);
|
|
+
|
|
+ return E_NOTIMPL;
|
|
+}
|
|
+
|
|
/* IWineDXGIDevice methods */
|
|
|
|
static HRESULT STDMETHODCALLTYPE dxgi_device_create_surface(IWineDXGIDevice *iface,
|
|
@@ -355,6 +381,10 @@ static const struct IWineDXGIDeviceVtbl dxgi_device_vtbl =
|
|
/* IDXGIDevice1 methods */
|
|
dxgi_device_SetMaximumFrameLatency,
|
|
dxgi_device_GetMaximumFrameLatency,
|
|
+ /* IDXGIDevice2 methods */
|
|
+ dxgi_device_OfferResources,
|
|
+ dxgi_device_ReclaimResources,
|
|
+ dxgi_device_EnqueueSetEvent,
|
|
/* IWineDXGIDevice methods */
|
|
dxgi_device_create_surface,
|
|
dxgi_device_create_swapchain,
|
|
diff --git a/include/wine/winedxgi.idl b/include/wine/winedxgi.idl
|
|
index 2c5734280c6..3a1d6fa064f 100644
|
|
--- a/include/wine/winedxgi.idl
|
|
+++ b/include/wine/winedxgi.idl
|
|
@@ -25,7 +25,7 @@ import "dxgi1_5.idl";
|
|
local,
|
|
uuid(3e1ff30b-c951-48c3-b010-0fb49f3dca71)
|
|
]
|
|
-interface IWineDXGIDevice : IDXGIDevice1
|
|
+interface IWineDXGIDevice : IDXGIDevice2
|
|
{
|
|
HRESULT create_surface(
|
|
[in] struct wined3d_texture *wined3d_texture,
|
|
--
|
|
2.17.0
|
|
|