[PATCH 10/15] dxgi: Implement d3d12_swapchain_GetMaximumFrameLatency().
Henri Verbeet
hverbeet at codeweavers.com
Fri Apr 17 10:51:17 CDT 2020
From: Philip Rebohle <philip.rebohle at tu-dortmund.de>
Signed-off-by: Philip Rebohle <philip.rebohle at tu-dortmund.de>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
This supersedes patch 183594.
Mostly unmodified.
dlls/dxgi/swapchain.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index 8e0f2b2239b..bd200dddf08 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -2630,9 +2630,18 @@ static HRESULT STDMETHODCALLTYPE d3d12_swapchain_SetMaximumFrameLatency(IDXGISwa
static HRESULT STDMETHODCALLTYPE d3d12_swapchain_GetMaximumFrameLatency(IDXGISwapChain3 *iface, UINT *max_latency)
{
- FIXME("iface %p, max_latency %p stub!\n", iface, max_latency);
+ struct d3d12_swapchain *swapchain = d3d12_swapchain_from_IDXGISwapChain3(iface);
- return E_NOTIMPL;
+ TRACE("iface %p, max_latency %p.\n", iface, max_latency);
+
+ if (!(swapchain->desc.Flags & DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT))
+ {
+ WARN("DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT not set for swap chain %p.\n", iface);
+ return DXGI_ERROR_INVALID_CALL;
+ }
+
+ *max_latency = swapchain->frame_latency;
+ return S_OK;
}
static HANDLE STDMETHODCALLTYPE d3d12_swapchain_GetFrameLatencyWaitableObject(IDXGISwapChain3 *iface)
--
2.20.1
More information about the wine-devel
mailing list