wined3d: Only set SFLAG_DYNLOCK when map_binding = sysmem.

All other map bindings are never freed. Setting SFLAG_DYNLOCK if
map_binding != sysmem might only keep a heap memory allocation around
(e.g. after device_reset) that is never used.
oldstable
Stefan Dösinger 2014-01-17 13:27:18 +01:00 committed by Alexandre Julliard
parent 5630cb5dc8
commit d640018a3c
1 changed files with 1 additions and 1 deletions

View File

@ -3068,7 +3068,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
* mapped regularly do not throw away the system memory copy. This avoids
* the need to download the surface from OpenGL all the time. The surface
* is still downloaded if the OpenGL texture is changed. */
if (!(surface->flags & SFLAG_DYNLOCK))
if (!(surface->flags & SFLAG_DYNLOCK) && surface->map_binding == WINED3D_LOCATION_SYSMEM)
{
if (++surface->lockCount > MAXLOCKCOUNT)
{