DirectDraw -> WineD3D patch
Peter Beutner
p.beutner at gmx.net
Sat Mar 4 20:06:06 CST 2006
Hi
> I'll look at this, the whole palette code is a bit messy. My suspicion is that
> IDirectDrawPaletteImpl_SetEntries / IWineD3DPaletteImpl_SetEntries doesn't
> update all surfaces that use a palette.
That's indeed the reason. Simple fix is to set the rendertarget usage also for
ddraw offscreen surfaces.Not sure if there are any possible sideeffects of this,
but until now i haven't seen any.
-------------- next part --------------
f005d3af1e8f4cacf1211c6fc3952acbd4766332
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 34d91da..4b44035 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -1788,8 +1788,8 @@ IDirectDrawImpl_CreateNewSurface(IDirect
PixelFormat_WineD3DtoDD(&pDDSD->ddpfPixelFormat, Mode.Format);
Format = Mode.Format;
- /* If it's a off-screen D3D device, set the rendertarget usage */
- if(pDDSD->ddsCaps.dwCaps & DDSCAPS_3DDEVICE)
+ /* If it's a off-screen D3D/DDraw device, set the rendertarget usage */
+ if(pDDSD->ddsCaps.dwCaps & ( DDSCAPS_3DDEVICE | DDSCAPS_OFFSCREENPLAIN) )
Usage |= WINED3DUSAGE_RENDERTARGET;
}
}
More information about the wine-devel
mailing list