Stefan Dösinger : wined3d: Clean up AddDirtyRect.

Alexandre Julliard julliard at winehq.org
Tue Sep 18 05:31:01 CDT 2007


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Sep 17 15:07:13 2007 +0200

wined3d: Clean up AddDirtyRect.

---

 dlls/wined3d/cubetexture.c     |    2 +-
 dlls/wined3d/surface_gdi.c     |   10 +++++++++-
 dlls/wined3d/texture.c         |    2 +-
 dlls/wined3d/wined3d_private.h |    1 -
 4 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/wined3d/cubetexture.c b/dlls/wined3d/cubetexture.c
index d91ee6c..28677c6 100644
--- a/dlls/wined3d/cubetexture.c
+++ b/dlls/wined3d/cubetexture.c
@@ -148,7 +148,7 @@ static void WINAPI IWineD3DCubeTextureImpl_PreLoad(IWineD3DCubeTexture *iface) {
 
         for (i = 0; i < This->baseTexture.levels; i++) {
             for (j = WINED3DCUBEMAP_FACE_POSITIVE_X; j <= WINED3DCUBEMAP_FACE_NEGATIVE_Z ; j++) {
-                IWineD3DSurfaceImpl_AddDirtyRect(This->surfaces[j][i], NULL);
+                IWineD3DSurface_AddDirtyRect(This->surfaces[j][i], NULL);
                 IWineD3DSurface_SetGlTextureDesc(This->surfaces[j][i], This->baseTexture.textureName, cube_targets[j]);
                 IWineD3DSurface_LoadTexture(This->surfaces[j][i], srgb_mode);
             }
diff --git a/dlls/wined3d/surface_gdi.c b/dlls/wined3d/surface_gdi.c
index f4c9248..6521477 100644
--- a/dlls/wined3d/surface_gdi.c
+++ b/dlls/wined3d/surface_gdi.c
@@ -1561,6 +1561,14 @@ void WINAPI IWineGDISurfaceImpl_GetGlDesc(IWineD3DSurface *iface, glDescriptor *
     *glDescription = NULL;
 }
 
+HRESULT WINAPI IWineGDISurfaceImpl_AddDirtyRect(IWineD3DSurface *iface, CONST RECT* pDirtyRect) {
+    /* GDI surface data can only be in one location, the system memory dib section. So they are
+     * always clean by definition.
+     */
+    TRACE("No dirtification in GDI surfaces\n");
+    return WINED3D_OK;
+}
+
 /* FIXME: This vtable should not use any IWineD3DSurface* implementation functions,
  * only IWineD3DBaseSurface and IWineGDISurface ones.
  */
@@ -1607,7 +1615,7 @@ const IWineD3DSurfaceVtbl IWineGDISurface_Vtbl =
     IWineD3DBaseSurfaceImpl_SetClipper,
     IWineD3DBaseSurfaceImpl_GetClipper,
     /* Internal use: */
-    IWineD3DSurfaceImpl_AddDirtyRect,
+    IWineGDISurfaceImpl_AddDirtyRect,
     IWineGDISurfaceImpl_LoadTexture,
     IWineGDISurfaceImpl_SaveSnapshot,
     IWineD3DBaseSurfaceImpl_SetContainer,
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 48f8c8c..1dcaee1 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -132,7 +132,7 @@ static void WINAPI IWineD3DTextureImpl_PreLoad(IWineD3DTexture *iface) {
             FIXME("Texture (%p) has been reloaded at least 20 times due to WINED3DSAMP_SRGBTEXTURE changes on it\'s sampler\n", This);
 
         for (i = 0; i < This->baseTexture.levels; i++) {
-            IWineD3DSurfaceImpl_AddDirtyRect(This->surfaces[i], NULL);
+            IWineD3DSurface_AddDirtyRect(This->surfaces[i], NULL);
             IWineD3DSurface_SetGlTextureDesc(This->surfaces[i], This->baseTexture.textureName, IWineD3DTexture_GetTextureDimensions(iface));
             IWineD3DSurface_LoadTexture(This->surfaces[i], srgb_mode);
         }
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 8e5719a..2b1db31 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1173,7 +1173,6 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetFormat(IWineD3DSurface *iface, WINED3D
 ULONG WINAPI IWineD3DSurfaceImpl_Release(IWineD3DSurface *iface);
 void    WINAPI IWineD3DSurfaceImpl_PreLoad(IWineD3DSurface *iface);
 HRESULT WINAPI IWineD3DSurfaceImpl_SetPixelFormat(IWineD3DSurface *iface, WINED3DFORMAT Format, BYTE *Surface, DWORD Size);
-extern HRESULT WINAPI IWineD3DSurfaceImpl_AddDirtyRect(IWineD3DSurface *iface, CONST RECT* pDirtyRect);
 const void *WINAPI IWineD3DSurfaceImpl_GetData(IWineD3DSurface *iface);
 HRESULT WINAPI IWineD3DSurfaceImpl_GetDC(IWineD3DSurface *iface, HDC *pHDC);
 HRESULT WINAPI IWineD3DSurfaceImpl_ReleaseDC(IWineD3DSurface *iface, HDC hDC);




More information about the wine-cvs mailing list