Skip to content

svga: sync resource content from backing resource before image upload

Charmaine Lee requested to merge charmainel/mesa:svga-sync-backing-resource into main

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

Merge request reports

Loading