Question about ddraw implemtation

Ralph Little littlesincanada at yahoo.co.uk
Fri May 13 12:03:23 CDT 2011


Hi,

On 11-05-13 03:33 AM, Stefan Dösinger wrote:
> On Friday 13 May 2011 01:36:09 Ralph Little wrote:
>> Hi,
>> Further to my last post, I can confirm that the pixelformat structure is
>> completely empty.
>> A quick dump of the DDPIXELFORMAT structure shows that:
> Can you show us the entire DDSURFACEDESC2 structure

OK, here it is:

================================
trace:ddraw:CreateSurface DDSURF==== dwSize(124) sizeof 
DDSURFACEDESC(108) sizeof DDSURFACEDESC2(124)
trace:ddraw:CreateSurface DDSURF==== dwFlags(124)
trace:ddraw:CreateSurface DDSURF==== dwHeight(600)
trace:ddraw:CreateSurface DDSURF==== dwWidth(800)
trace:ddraw:CreateSurface DDSURF==== u1.lPitch(0)
trace:ddraw:CreateSurface DDSURF==== u1.dwLinearSize(0)
trace:ddraw:CreateSurface DDSURF==== dwBackBufferCount/dwDepth(0)
trace:ddraw:CreateSurface DDSURF==== 
u2.dwMipMapCount/dwRefreshRate/dwSrcVBHandle(0)
trace:ddraw:CreateSurface DDSURF==== dwAlphaBitDepth(0)
trace:ddraw:CreateSurface DDSURF==== dwReserved(0)
trace:ddraw:CreateSurface DDSURF==== lpSurface((nil))
trace:ddraw:CreateSurface DDSURF==== u3.dwEmptyFaceColor(0)
trace:ddraw:CreateSurface DDSURF==== 
u3.ddckCKDestOverlay.dwColorSpaceLowValue(0)
trace:ddraw:CreateSurface DDSURF==== 
u3.ddckCKDestOverlay.dwColorSpaceHighValue(0)
trace:ddraw:CreateSurface DDSURF==== ddckCKDestBlt.dwColorSpaceLowValue(0)
trace:ddraw:CreateSurface DDSURF==== ddckCKDestBlt.dwColorSpaceHighValue(0)
trace:ddraw:CreateSurface DDSURF==== 
ddckCKSrcOverlay.dwColorSpaceLowValue(0)
trace:ddraw:CreateSurface DDSURF==== 
ddckCKSrcOverlay.dwColorSpaceHighValue(0)
trace:ddraw:CreateSurface DDSURF==== ddckCKSrcBlt.dwColorSpaceLowValue(0)
trace:ddraw:CreateSurface DDSURF==== ddckCKSrcBlt.dwColorSpaceHighValue(0)
trace:ddraw:CreateSurface DDSURF==== u4.dwFVF(32)
trace:ddraw:CreateSurface DDSURF==== ddsCaps.dwCaps(133120)
trace:ddraw:CreateSurface DDSURF==== ddsCaps.dwCaps2(0)
trace:ddraw:CreateSurface DDSURF==== ddsCaps.dwCaps3(0)
trace:ddraw:CreateSurface DDSURF==== ddsCaps.dwCaps4(0)
trace:ddraw:CreateSurface DDSURF==== dwTextureStage(0)
===============================================

I notice that the Wine definition of DDSURFACEDESC2 does not include the 
second union shown here:

http://msdn.microsoft.com/en-us/library/ff550340%28VS.85%29.aspx

which is a union of dwBackBufferCount/dwDepth.

I think it likely that it is a whole-screen surface (800x600) so your 
assertion that it will use the default pixel format for the display is 
probably right.

Interestingly, the surface pointer is NULL.

Any ideas what this surface is trying to accomplish? Is it merely an 
attempt to blank the screen with no content?

Cheers,
Ralph



More information about the wine-devel mailing list