wined3d: Don't mark SFLAG_INTEXTURE up to date with fbo stretchrect.

FBO stretchrect marks SFLAG_INDRAWABLE up to date, which currently
also marks SFLAG_INTEXTURE up to date. However, this will change when
we enable rendering to the srgb copy, in which case the drawable could
be equal to the srgb copy, not the rgb copy.
This commit is contained in:
Stefan Dösinger 2009-09-05 22:32:51 +02:00 committed by Alexandre Julliard
parent ba6fac697a
commit 33ca3c0207
1 changed files with 10 additions and 4 deletions

View File

@ -3098,6 +3098,11 @@ static inline void fb_copy_to_texture_direct(IWineD3DSurfaceImpl *This, IWineD3D
checkGLcall("glCopyTexSubImage2D"); checkGLcall("glCopyTexSubImage2D");
LEAVE_GL(); LEAVE_GL();
/* The texture is now most up to date - If the surface is a render target and has a drawable, this
* path is never entered
*/
IWineD3DSurface_ModifyLocation((IWineD3DSurface *) This, SFLAG_INTEXTURE, TRUE);
} }
/* Uses the hardware to stretch and flip the image */ /* Uses the hardware to stretch and flip the image */
@ -3345,6 +3350,11 @@ static inline void fb_copy_to_texture_hwstretch(IWineD3DSurfaceImpl *This, IWine
} }
LEAVE_GL(); LEAVE_GL();
/* The texture is now most up to date - If the surface is a render target and has a drawable, this
* path is never entered
*/
IWineD3DSurface_ModifyLocation((IWineD3DSurface *) This, SFLAG_INTEXTURE, TRUE);
} }
/* Not called from the VTable */ /* Not called from the VTable */
@ -3615,10 +3625,6 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *This, const
} else { } else {
This->Flags &= ~SFLAG_INSYSMEM; This->Flags &= ~SFLAG_INSYSMEM;
} }
/* The texture is now most up to date - If the surface is a render target and has a drawable, this
* path is never entered
*/
IWineD3DSurface_ModifyLocation((IWineD3DSurface *) This, SFLAG_INTEXTURE, TRUE);
return WINED3D_OK; return WINED3D_OK;
} else if(Src) { } else if(Src) {