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