Pb WineD3D: power of 2 surface and non power of 2 DIB section

Stefan Dösinger stefandoesinger at gmx.at
Tue Jul 11 12:46:33 CDT 2006


Am Montag 10 Juli 2006 22:10 schrieb Christian Costa:
> Hi,
>
> When calling CreateSurface, a power of 2 surface is created and then the
> necessary memory is allocated.
> If we try to get the DC with GetDC, a DIB section is created with the
> original size of the surface and data from the surface
> is copied to the DIB section The power of 2 surface being greater than
> the DIB section, this makes Wine crashes.
I got nonpower of 2 dib sections working for some games here, and as far as I 
remember I create the dib section with the full pow2 size.

My idea is to switch to using np2 repacking by default and dropping the other 
np2 mode. To avoid the performance loss we can just keep the texture copy in 
local ram if the app locks it regularily, so we don't have to call 
glGetTexImage nor repack the texture :-). This should be done for pow2 
textures too. I've started that already by defining some surface flags, but 
there is no code yet for that.

Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060711/2c0c2595/attachment.pgp


More information about the wine-devel mailing list