svga: Fix out-of-sync backing surface
authorCharmaine Lee <charmainel@vmware.com>
Tue, 4 Apr 2017 19:02:45 +0000 (13:02 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 7 Apr 2017 19:46:43 +0000 (13:46 -0600)
commitab96d1baf40d67b4ea9e685e4f5ea5c90f77d269
tree0305661984c2dc861479856a5eb9b22fbc96e783
parenta08e3b88ab71b147145f60e56ce02392437c6866
svga: Fix out-of-sync backing surface

When a backing surface is reused, it is possible that
the original surface has been changed. So before the backing surface
is bound again, we need to sync up the surface.
This patch creates a new helper function svga_texture_copy_handle_resource()
to sync up the backing surface resource.

This patch, together with the backing surface dirty bit fix, fixes
the rendering corruption in NobelClinicianViewer when rotating the model.

Also tested with MTT glretrace, piglit, Cinebench, Turbine.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/drivers/svga/svga_surface.c