Am Sonntag 17 Dezember 2006 23:24 schrieb greg87@online.de:
Original Author: Elie Morisse lachienne@wanadoo.fr
Updated by: Gregor Münch greg87@online.de
This is modified version of this patch: http://www.winehq.org/pipermail/wine-patches/2006-September/030815.html
With the help from Stefan Dösinger I altered 2 lines. Full credit belongs to Elie Morisse
A small issue: The indentions in IWineD3DSurfaceImpl_BltZ look a bit strange.
--- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -1787,7 +1787,7 @@ IDirectDrawImpl_CreateNewSurface(IDirect { Usage |= WINED3DUSAGE_OVERLAY; } - if(This->depthstencil) + if(This->depthstencil || (pDDSD->ddsCaps.dwCaps & DDSCAPS_ZBUFFER)) {
Perhaps you can get rid of This->depthstencil by setting the DDSCAPS_ZBUFFER flag instead on the requested surface desc in the auto depth stencil creation callback. Mind you, this auto depth stencil creation isn't used nowadays any more, it was needed earlier to prevent wined3d from crashing. You can remove the function body and replace it by an ERR entirely I think, it shouldn't be called if everything works correctly in wined3d.