From d3fd7b247b35d7c8c453afa2fc07e121ea75214b Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Thu, 11 Nov 2010 12:39:18 +0100 Subject: [PATCH] wined3d: Handle rendertargetlock_mode in surface_load_location(). --- dlls/wined3d/surface.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 428be78a3fa..a18f067b3da 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -1882,15 +1882,7 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Unmap(IWineD3DSurface *iface) This->Flags |= SFLAG_INSYSMEM; } - switch(wined3d_settings.rendertargetlock_mode) { - case RTL_READTEX: - surface_load_location(This, SFLAG_INTEXTURE, NULL /* partial texture loading not supported yet */); - /* drop through */ - - case RTL_READDRAW: - surface_load_location(This, SFLAG_INDRAWABLE, fullsurface ? NULL : &This->dirtyRect); - break; - } + surface_load_location(This, SFLAG_INDRAWABLE, fullsurface ? NULL : &This->dirtyRect); if (!fullsurface) { @@ -4415,6 +4407,9 @@ HRESULT surface_load_location(IWineD3DSurfaceImpl *surface, DWORD flag, const RE } else if (flag == SFLAG_INDRAWABLE) { + if (wined3d_settings.rendertargetlock_mode == RTL_READTEX) + surface_load_location(surface, SFLAG_INTEXTURE, NULL); + if (surface->Flags & SFLAG_INTEXTURE) { RECT r;