Henri Verbeet : dxgi: Store an IWineDXGIFactory pointer in struct d3d11_swapchain.

Alexandre Julliard julliard at winehq.org
Wed May 5 16:09:01 CDT 2021


Module: wine
Branch: master
Commit: 55f6cda90ea5fa7d4f170b9e31a216cc606daa5e
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=55f6cda90ea5fa7d4f170b9e31a216cc606daa5e

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed May  5 16:38:48 2021 +0200

dxgi: Store an IWineDXGIFactory pointer in struct d3d11_swapchain.

Like we already do in struct d3d12_swapchain.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dxgi/dxgi_private.h |  2 +-
 dlls/dxgi/swapchain.c    | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/dlls/dxgi/dxgi_private.h b/dlls/dxgi/dxgi_private.h
index acba3544e39..8037b401a7f 100644
--- a/dlls/dxgi/dxgi_private.h
+++ b/dlls/dxgi/dxgi_private.h
@@ -179,7 +179,7 @@ struct d3d11_swapchain
     struct wined3d_swapchain *wined3d_swapchain;
     struct wined3d_swapchain_state_parent state_parent;
     IWineDXGIDevice *device;
-    IDXGIFactory *factory;
+    IWineDXGIFactory *factory;
 
     IDXGIOutput *target;
 };
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index 82e5fbf811d..585be83634c 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -248,7 +248,7 @@ static ULONG STDMETHODCALLTYPE d3d11_swapchain_Release(IDXGISwapChain1 *iface)
             IDXGIOutput_Release(swapchain->target);
         }
         if (swapchain->factory)
-            IDXGIFactory_Release(swapchain->factory);
+            IWineDXGIFactory_Release(swapchain->factory);
         wined3d_swapchain_decref(swapchain->wined3d_swapchain);
         if (device)
             IWineDXGIDevice_Release(device);
@@ -302,7 +302,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_swapchain_GetParent(IDXGISwapChain1 *ifac
         return E_NOINTERFACE;
     }
 
-    return IDXGIFactory_QueryInterface(swapchain->factory, riid, parent);
+    return IWineDXGIFactory_QueryInterface(swapchain->factory, riid, parent);
 }
 
 /* IDXGIDeviceSubObject methods */
@@ -585,7 +585,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_swapchain_GetContainingOutput(IDXGISwapCh
     }
 
     window = d3d11_swapchain_get_hwnd(swapchain);
-    return dxgi_get_output_from_window(swapchain->factory, window, output);
+    return dxgi_get_output_from_window((IDXGIFactory *)swapchain->factory, window, output);
 }
 
 static HRESULT STDMETHODCALLTYPE d3d11_swapchain_GetFrameStatistics(IDXGISwapChain1 *iface,
@@ -849,8 +849,8 @@ HRESULT d3d11_swapchain_init(struct d3d11_swapchain *swapchain, struct dxgi_devi
         if (desc->backbuffer_format == WINED3DFMT_UNKNOWN)
             return E_INVALIDARG;
 
-        if (FAILED(hr = IWineDXGIAdapter_GetParent(device->adapter, &IID_IDXGIFactory,
-                (void **)&swapchain->factory)))
+        if (FAILED(hr = IWineDXGIAdapter_GetParent(device->adapter,
+                &IID_IWineDXGIFactory, (void **)&swapchain->factory)))
         {
             WARN("Failed to get adapter parent, hr %#x.\n", hr);
             return hr;
@@ -914,7 +914,7 @@ cleanup:
     wined3d_private_store_cleanup(&swapchain->private_store);
     wined3d_mutex_unlock();
     if (swapchain->factory)
-        IDXGIFactory_Release(swapchain->factory);
+        IWineDXGIFactory_Release(swapchain->factory);
     if (swapchain->device)
         IWineDXGIDevice_Release(swapchain->device);
     return hr;




More information about the wine-cvs mailing list