[4/5] WineD3D: Manage SFLAG_CLIENT separately for RGB and SRGB textures
Stefan Dösinger
stefan at codeweavers.com
Mon Jun 15 08:47:55 CDT 2009
Am Montag, 15. Juni 2009 09:16:07 schrieb Henri Verbeet:
> 2009/6/14 Stefan Dösinger <stefan at codeweavers.com>:
> > +static void surface_allocate_surface(IWineD3DSurfaceImpl *This, GLenum
> > internal, GLsizei width, GLsizei height, GLenum format, GLenum type, +
> > DWORD client_store_flag) {
>
> I think that's ugly.
Suggestions?
> More importantly, I don't see how client storage can be enabled for
> one texture but not the other.
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. 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.
More information about the wine-devel
mailing list