DirectDrawRenderer - opengl non power of 2 windows
Stefan Dösinger
stefandoesinger at gmx.at
Sat Mar 24 16:38:50 CDT 2007
> Now I traced the problem down to:
> dlls/wined3d/surface.c
> d3dfmt_convert_surface
>
> loops over the surface height and width, the only problem is that the
> surface height appears to be scaled up to the next power of 2.
>
> As carmageddon runs in 320x200 the loop tries to iterate over 320x256
> and subsequently crashes with a page fault in winedbg.
Sounds like that the surface conversion code still makes some assumptions
about the allocated memory size and the surface size. Wine used to allocate
the full power of 2 size, but I removed that and allocate only the real
surface size because there are some applications which expected a specific
pitch for the surface. The power of 2 size usage vs real size was pretty
inconsistent, I guess there is another inconsistency.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20070324/88d1a4be/attachment.pgp
More information about the wine-devel
mailing list