Henri Verbeet : wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_init_sysmem().

Alexandre Julliard julliard at winehq.org
Wed Apr 28 16:35:46 CDT 2010


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Apr 28 00:08:48 2010 +0200

wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_init_sysmem().

---

 dlls/wined3d/device.c          |    2 +-
 dlls/wined3d/surface.c         |   25 +++++++++++++------------
 dlls/wined3d/wined3d_private.h |    2 +-
 3 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 062fb20..a2b2c3e 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -6234,7 +6234,7 @@ static HRESULT updateSurfaceDesc(IWineD3DSurfaceImpl *surface, const WINED3DPRES
 
     /* Put all surfaces into sysmem - the drawable might disappear if the backbuffer was rendered
      * to a FBO */
-    if(!surface_init_sysmem((IWineD3DSurface *) surface))
+    if (!surface_init_sysmem(surface))
     {
         return E_OUTOFMEMORY;
     }
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index fcdfec8..d3fe566 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -1141,27 +1141,26 @@ static void surface_remove_pbo(IWineD3DSurfaceImpl *This, const struct wined3d_g
     This->Flags &= ~SFLAG_PBO;
 }
 
-BOOL surface_init_sysmem(IWineD3DSurface *iface)
+BOOL surface_init_sysmem(IWineD3DSurfaceImpl *surface)
 {
-    IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *) iface;
-
-    if(!This->resource.allocatedMemory)
+    if (!surface->resource.allocatedMemory)
     {
-        This->resource.heapMemory = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->resource.size + RESOURCE_ALIGNMENT);
-        if(!This->resource.heapMemory)
+        surface->resource.heapMemory = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
+                surface->resource.size + RESOURCE_ALIGNMENT);
+        if (!surface->resource.heapMemory)
         {
             ERR("Out of memory\n");
             return FALSE;
         }
-        This->resource.allocatedMemory =
-            (BYTE *)(((ULONG_PTR) This->resource.heapMemory + (RESOURCE_ALIGNMENT - 1)) & ~(RESOURCE_ALIGNMENT - 1));
+        surface->resource.allocatedMemory =
+            (BYTE *)(((ULONG_PTR)surface->resource.heapMemory + (RESOURCE_ALIGNMENT - 1)) & ~(RESOURCE_ALIGNMENT - 1));
     }
     else
     {
-        memset(This->resource.allocatedMemory, 0, This->resource.size);
+        memset(surface->resource.allocatedMemory, 0, surface->resource.size);
     }
 
-    IWineD3DSurface_ModifyLocation(iface, SFLAG_INSYSMEM, TRUE);
+    IWineD3DSurface_ModifyLocation((IWineD3DSurface *)surface, SFLAG_INSYSMEM, TRUE);
     return TRUE;
 }
 
@@ -1186,8 +1185,10 @@ static void WINAPI IWineD3DSurfaceImpl_UnLoad(IWineD3DSurface *iface) {
          * or the depth stencil into an FBO the texture or render buffer will be removed
          * and all flags get lost
          */
-        surface_init_sysmem(iface);
-    } else {
+        surface_init_sysmem(This);
+    }
+    else
+    {
         /* Load the surface into system memory */
         IWineD3DSurface_LoadLocation(iface, SFLAG_INSYSMEM, NULL);
         IWineD3DSurface_ModifyLocation(iface, SFLAG_INDRAWABLE, FALSE);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 70ecb22..3e54ad8 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1873,7 +1873,7 @@ typedef struct IWineD3DBaseTextureClass
 } IWineD3DBaseTextureClass;
 
 void surface_internal_preload(IWineD3DSurfaceImpl *surface, enum WINED3DSRGB srgb) DECLSPEC_HIDDEN;
-BOOL surface_init_sysmem(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
+BOOL surface_init_sysmem(IWineD3DSurfaceImpl *surface) DECLSPEC_HIDDEN;
 BOOL surface_is_offscreen(IWineD3DSurfaceImpl *iface) DECLSPEC_HIDDEN;
 void surface_prepare_texture(IWineD3DSurfaceImpl *surface,
         const struct wined3d_gl_info *gl_info, BOOL srgb) DECLSPEC_HIDDEN;




More information about the wine-cvs mailing list