wined3d: Handle rendertargetlock_mode in surface_load_location().

This commit is contained in:
Henri Verbeet 2010-11-11 12:39:18 +01:00 committed by Alexandre Julliard
parent 1fa19d8e42
commit d3fd7b247b
1 changed files with 4 additions and 9 deletions

View File

@ -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;