[PATCH 6/6] Due to code rewrites is_color_fixup_supported is not needed anymore in RealizePalette. The code in question should be executed in all cases. This also fixes palette refresh issues when shaders / paletted textures aren't around.

Roderick Colenbrander thunderbird2k at gmail.com
Mon Apr 5 13:05:18 CDT 2010


---
 dlls/wined3d/surface.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 6ced082..f0bd431 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -4276,18 +4276,13 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_RealizePalette(IWineD3DSurface *iface)
     if (This->resource.format_desc->format == WINED3DFMT_P8_UINT
             || This->resource.format_desc->format == WINED3DFMT_P8_UINT_A8_UNORM)
     {
-        IWineD3DDeviceImpl *device = This->resource.device;
-        if((This->resource.usage & WINED3DUSAGE_RENDERTARGET) &&
-            device->blitter->color_fixup_supported(&device->adapter->gl_info, This->resource.format_desc->color_fixup))
+        if(This->resource.usage & WINED3DUSAGE_RENDERTARGET)
         {
             /* Make sure the texture is up to date. This call doesn't do anything if the texture is already up to date. */
             IWineD3DSurface_LoadLocation(iface, SFLAG_INTEXTURE, NULL);
 
             /* We want to force a palette refresh, so mark the drawable as not being up to date */
             IWineD3DSurface_ModifyLocation(iface, SFLAG_INDRAWABLE, FALSE);
-
-            /* Force a palette refresh by re-uploading to the drawable */
-            IWineD3DSurface_LoadLocation(iface, SFLAG_INDRAWABLE, NULL);
         } else {
             if(!(This->Flags & SFLAG_INSYSMEM)) {
                 TRACE("Palette changed with surface that does not have an up to date system memory copy\n");
-- 
1.6.3.3




More information about the wine-patches mailing list