2009/6/15 Stefan Dösinger stefan@codeweavers.com:
In the current code, we don't do that, because only via ddraw.dll the use of client storage can change, and only d3d9 can use sRGB textures.
No, SFLAG_CLIENT only depends on the availability of the extension, and other surface flags. Since neither of those will be different between the RGB and sRGB textures of a given surface, neither will SFLAG_CLIENT.
What made me write this patch was the hack that disables client storage on sRGB textures(causes a crash on Leopard, fixed in Snow Leopard), but there are other situations which are tricky with one client storage flag, like unsetting the flag when the texture is deleted. I also don't want to rely on the exclusiveness of sRGB and client storage switching factors.
Unsetting the flag when the texture is deleted is redundant, if there's no texture in the first place it obviously won't be using client storage either.