svga: sync resource content from backing resource before image upload
What does this MR do and why?
svga: sync resource content from backing resource before image upload
When a backing resource is created for a render target view when the same resource is currently bound to a shader resource view, the content update back to the original resource happens when the associated render target view is unbound. But state update only happens at clear or draw time. So if TexSubImage happens after BindFrameBuffer and before Draw, the original texture resource that is mapped to for subimage update would not have been updated. As a matter of fact at the subsequent state update at the next draw, the render target views will be updated, the content from the previous backing resource will be propogated to the original resource, hence overwriting the changes from the last TexSubImage.
To fix the problem, this patch validates the texture resource, updates any pending changes from the backing resource before transfer map upload occurs.
Fixes the rendering issue demonstrated from the fbo_texsubimage_update trace
Reviewed-by: Martin Krastev krastevm@vmware.com