Nikolay Sivov : dxgi: Use texture pointer instead of resource pointer for DXGI surface.

Alexandre Julliard julliard at winehq.org
Thu Sep 1 09:55:29 CDT 2016


Module: wine
Branch: master
Commit: 16a20955563342adcc0d2f185966c4858f169c1f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=16a20955563342adcc0d2f185966c4858f169c1f

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Sep  1 12:42:54 2016 +0300

dxgi: Use texture pointer instead of resource pointer for DXGI surface.

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

---

 dlls/d3d11/texture.c      | 4 ++--
 dlls/dxgi/device.c        | 8 ++++----
 dlls/dxgi/dxgi_private.h  | 4 ++--
 dlls/dxgi/surface.c       | 6 +++---
 include/wine/winedxgi.idl | 2 +-
 5 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/dlls/d3d11/texture.c b/dlls/d3d11/texture.c
index d7b2af1..5563982 100644
--- a/dlls/d3d11/texture.c
+++ b/dlls/d3d11/texture.c
@@ -499,8 +499,8 @@ static HRESULT d3d_texture2d_init(struct d3d_texture2d *texture, struct d3d_devi
             return E_FAIL;
         }
 
-        hr = IWineDXGIDevice_create_surface(wine_device, wined3d_texture_get_resource(texture->wined3d_texture),
-                0, NULL, (IUnknown *)&texture->ID3D10Texture2D_iface, (void **)&texture->dxgi_surface);
+        hr = IWineDXGIDevice_create_surface(wine_device, texture->wined3d_texture, 0, NULL,
+                (IUnknown *)&texture->ID3D10Texture2D_iface, (void **)&texture->dxgi_surface);
         IWineDXGIDevice_Release(wine_device);
         if (FAILED(hr))
         {
diff --git a/dlls/dxgi/device.c b/dlls/dxgi/device.c
index 2486204..f548ca2 100644
--- a/dlls/dxgi/device.c
+++ b/dlls/dxgi/device.c
@@ -279,14 +279,14 @@ static HRESULT STDMETHODCALLTYPE dxgi_device_GetMaximumFrameLatency(IWineDXGIDev
 /* IWineDXGIDevice methods */
 
 static HRESULT STDMETHODCALLTYPE dxgi_device_create_surface(IWineDXGIDevice *iface,
-        struct wined3d_resource *wined3d_resource, DXGI_USAGE usage,
+        struct wined3d_texture *wined3d_texture, DXGI_USAGE usage,
         const DXGI_SHARED_RESOURCE *shared_resource, IUnknown *outer, void **surface)
 {
     struct dxgi_surface *object;
     HRESULT hr;
 
-    TRACE("iface %p, wined3d_resource %p, usage %#x, shared_resource %p, outer %p, surface %p.\n",
-            iface, wined3d_resource, usage, shared_resource, outer, surface);
+    TRACE("iface %p, wined3d_texture %p, usage %#x, shared_resource %p, outer %p, surface %p.\n",
+            iface, wined3d_texture, usage, shared_resource, outer, surface);
 
     if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object))))
     {
@@ -294,7 +294,7 @@ static HRESULT STDMETHODCALLTYPE dxgi_device_create_surface(IWineDXGIDevice *ifa
         return E_OUTOFMEMORY;
     }
 
-    if (FAILED(hr = dxgi_surface_init(object, (IDXGIDevice *)iface, outer, wined3d_resource)))
+    if (FAILED(hr = dxgi_surface_init(object, (IDXGIDevice *)iface, outer, wined3d_texture)))
     {
         WARN("Failed to initialize surface, hr %#x.\n", hr);
         HeapFree(GetProcessHeap(), 0, object);
diff --git a/dlls/dxgi/dxgi_private.h b/dlls/dxgi/dxgi_private.h
index b417470..86ba34a 100644
--- a/dlls/dxgi/dxgi_private.h
+++ b/dlls/dxgi/dxgi_private.h
@@ -183,11 +183,11 @@ struct dxgi_surface
     LONG refcount;
     struct wined3d_private_store private_store;
     IDXGIDevice *device;
-    struct wined3d_resource *wined3d_resource;
+    struct wined3d_texture *wined3d_texture;
 };
 
 HRESULT dxgi_surface_init(struct dxgi_surface *surface, IDXGIDevice *device,
-        IUnknown *outer, struct wined3d_resource *wined3d_resource) DECLSPEC_HIDDEN;
+        IUnknown *outer, struct wined3d_texture *wined3d_texture) DECLSPEC_HIDDEN;
 
 D3D_FEATURE_LEVEL dxgi_check_feature_level_support(struct dxgi_factory *factory, struct dxgi_adapter *adapter,
         const D3D_FEATURE_LEVEL *feature_levels, unsigned int level_count) DECLSPEC_HIDDEN;
diff --git a/dlls/dxgi/surface.c b/dlls/dxgi/surface.c
index ba95758..687caaa 100644
--- a/dlls/dxgi/surface.c
+++ b/dlls/dxgi/surface.c
@@ -170,7 +170,7 @@ static HRESULT STDMETHODCALLTYPE dxgi_surface_GetDesc(IDXGISurface1 *iface, DXGI
     TRACE("iface %p, desc %p.\n", iface, desc);
 
     wined3d_mutex_lock();
-    wined3d_resource_get_desc(surface->wined3d_resource, &wined3d_desc);
+    wined3d_resource_get_desc(wined3d_texture_get_resource(surface->wined3d_texture), &wined3d_desc);
     wined3d_mutex_unlock();
     desc->Width = wined3d_desc.width;
     desc->Height = wined3d_desc.height;
@@ -240,7 +240,7 @@ static const struct IUnknownVtbl dxgi_surface_inner_unknown_vtbl =
 };
 
 HRESULT dxgi_surface_init(struct dxgi_surface *surface, IDXGIDevice *device,
-        IUnknown *outer, struct wined3d_resource *wined3d_resource)
+        IUnknown *outer, struct wined3d_texture *wined3d_texture)
 {
     surface->IDXGISurface1_iface.lpVtbl = &dxgi_surface_vtbl;
     surface->IUnknown_iface.lpVtbl = &dxgi_surface_inner_unknown_vtbl;
@@ -248,7 +248,7 @@ HRESULT dxgi_surface_init(struct dxgi_surface *surface, IDXGIDevice *device,
     wined3d_private_store_init(&surface->private_store);
     surface->outer_unknown = outer ? outer : &surface->IUnknown_iface;
     surface->device = device;
-    surface->wined3d_resource = wined3d_resource;
+    surface->wined3d_texture = wined3d_texture;
 
     return S_OK;
 }
diff --git a/include/wine/winedxgi.idl b/include/wine/winedxgi.idl
index d9f6677..a4f715b 100644
--- a/include/wine/winedxgi.idl
+++ b/include/wine/winedxgi.idl
@@ -28,7 +28,7 @@ import "dxgi.idl";
 interface IWineDXGIDevice : IDXGIDevice1
 {
     HRESULT create_surface(
-        [in] struct wined3d_resource *wined3d_resource,
+        [in] struct wined3d_texture *wined3d_texture,
         [in] DXGI_USAGE usage,
         [in] const DXGI_SHARED_RESOURCE *shared_resource,
         [in] IUnknown *outer,




More information about the wine-cvs mailing list