GDI surfaces, GDI heap and wined3d's VideoMemorySize

Stefan Dösinger stefan at
Mon Feb 26 09:31:51 CST 2007

Am Sonntag 25 Februar 2007 21:57 schrieb Rok Mandeljc:
> Hey all,

> Now, when the game is run with 64MB of VideoMemorySize, upon reaching
> the same point, IDirectDrawImpl_CreateNewSurface returns
> "IWineD3DDevice_GetAvailableTextureMem(iface) <= _size" check in
> D3DCREATERESOURCEOBJECTINSTANCE macro) and intro movie starts playing.
> So it seems Baldur's Gate 2 is trying to create as many surfaces as
> possible before running out of memory. And the problem arises when
> specified memory size is large enough to take up all GDI's heap...
Now that seems interesting. Actually, I have never had a 2D application 
creating that much surfaces, and the old ddraw code only advertised 8 mb of 
mem. It might be an out of memory somewhere, but not sure how and why.

You could try opengl surfaces. Those do not have a DIB section, unless the app 
calls GetDC on the surface

More information about the wine-devel mailing list