From 0a7aa47791d9b4d3d90a851891315f059deec7ef Mon Sep 17 00:00:00 2001 From: Nicolas Guillemot Date: Thu, 8 Dec 2016 18:36:14 -0800 Subject: [PATCH] Implement QueryInterface for IDXGISwapChain4 Without this fix, QueryInterface would return an unwrapped swap chain, which later causes errors when using its unwrapped swap chain buffers. --- renderdoc/driver/dxgi/dxgi_wrapped.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/renderdoc/driver/dxgi/dxgi_wrapped.cpp b/renderdoc/driver/dxgi/dxgi_wrapped.cpp index 2be413122..1a11a6c43 100644 --- a/renderdoc/driver/dxgi/dxgi_wrapped.cpp +++ b/renderdoc/driver/dxgi/dxgi_wrapped.cpp @@ -272,6 +272,19 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGISwapChain4::QueryInterface(REFIID riid, vo return E_NOINTERFACE; } } + else if(riid == __uuidof(IDXGISwapChain4)) + { + if(m_pReal4) + { + AddRef(); + *ppvObject = (IDXGISwapChain4 *)this; + return S_OK; + } + else + { + return E_NOINTERFACE; + } + } else { string guid = ToStr::Get(riid);