Alexander Dorofeyev : wined3d: Don' t store primary surface palette in device palettes.

Alexandre Julliard julliard at winehq.org
Tue Mar 25 06:58:22 CDT 2008


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

Author: Alexander Dorofeyev <alexd4 at inbox.lv>
Date:   Tue Mar 25 02:04:02 2008 +0200

wined3d: Don't store primary surface palette in device palettes.

---

 dlls/wined3d/palette.c      |   11 -----------
 dlls/wined3d/surface_base.c |   20 +++++---------------
 2 files changed, 5 insertions(+), 26 deletions(-)

diff --git a/dlls/wined3d/palette.c b/dlls/wined3d/palette.c
index df72246..95b8da9 100644
--- a/dlls/wined3d/palette.c
+++ b/dlls/wined3d/palette.c
@@ -157,17 +157,6 @@ static HRESULT  WINAPI IWineD3DPaletteImpl_SetEntries(IWineD3DPalette *iface, DW
         }
     }
 
-    /* If the palette is the primary palette, set the entries to the device */
-    if(This->Flags & WINEDDPCAPS_PRIMARYSURFACE) {
-        unsigned int i;
-        IWineD3DDeviceImpl *device = This->wineD3DDevice;
-        PALETTEENTRY *entry = PalEnt;
-
-        for(i = Start; i < Start+Count; i++) {
-            device->palettes[device->currentPalette][i] = *entry++;
-        }
-    }
-
     return WINED3D_OK;
 }
 
diff --git a/dlls/wined3d/surface_base.c b/dlls/wined3d/surface_base.c
index 00efa6c..35d099a 100644
--- a/dlls/wined3d/surface_base.c
+++ b/dlls/wined3d/surface_base.c
@@ -206,26 +206,16 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetPalette(IWineD3DSurface *iface, IWineD
         if(This->resource.usage & WINED3DUSAGE_RENDERTARGET)
             This->palette->Flags &= ~WINEDDPCAPS_PRIMARYSURFACE;
 
+    This->palette = PalImpl;
+
     if(PalImpl != NULL) {
         if(This->resource.usage & WINED3DUSAGE_RENDERTARGET) {
-            /* Set the device's main palette if the palette
-            * wasn't a primary palette before
-            */
-            if(!(PalImpl->Flags & WINEDDPCAPS_PRIMARYSURFACE)) {
-                IWineD3DDeviceImpl *device = This->resource.wineD3DDevice;
-                unsigned int i;
-
-                for(i=0; i < 256; i++) {
-                    device->palettes[device->currentPalette][i] = PalImpl->palents[i];
-                }
-            }
-
             (PalImpl)->Flags |= WINEDDPCAPS_PRIMARYSURFACE;
         }
-    }
-    This->palette = PalImpl;
 
-    return IWineD3DSurface_RealizePalette(iface);
+        return IWineD3DSurface_RealizePalette(iface);
+    }
+    else return WINED3D_OK;
 }
 
 HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetColorKey(IWineD3DSurface *iface, DWORD Flags, WINEDDCOLORKEY *CKey) {




More information about the wine-cvs mailing list