Memory Management

Stefan Dösinger stefandoesinger at gmx.at
Sat Sep 25 15:48:58 CDT 2010


Am 25.09.2010 um 05:32 schrieb Luis Carlos Busquets Pérez:

> Concerning the e-mail
> http://www.winehq.org/pipermail/wine-devel/2010-April/082900.html
If I remember correctly d3dx is broken by design in that regard. See D3DXCONSTTABLE_LARGEADDRESSAWARE in 
D3DXGetShaderConstantTableEx: http://msdn.microsoft.com/en-us/library/bb943959(v=VS.85).aspx

It seems that by default native makes the assumtion that there are no pointers with the highest bit set. If the app requests large address spaces via the flag in the .exe file it is supposed to pass D3DXCONSTTABLE_LARGEADDRESSAWARE to d3dx. Obviously there are apps that don't do that, like Eve Online.

Of course it'd be perfect if you can find a way that provides all the features native d3dx9 provides and doesn't rely on the address space layout. I think that the constant table functions are called often and are performance critical, so maybe this is all a nasty performance hack.




More information about the wine-devel mailing list