Am 04.10.2013 um 15:28 schrieb Henri Verbeet hverbeet@gmail.com:
On 4 October 2013 15:02, Stefan Dösinger stefandoesinger@gmail.com wrote:
Client storage only applies to GL textures, which won't be created for sysmem surfaces.
I don't think that's necessarily true at the moment. In particular, ddraw blits can in principle cause a texture to be created for sysmem surfaces. There might be restrictions in the ddraw API that prevent this from happening in practice, but even if there are, we certainly don't enforce them.
No codepath in wined3d_surface_blt will attempt to load a sysmem surface into a texture. fbo_blit_supported returns FALSE if src or destination are in sysmem, and so do arbfp_blit_supported and surface_blt_special. Color fills will go to a cpu side clear because of the INSYSMEM optimization. (This optimization is needed for a few other things to work correctly, but that's a different patch.)