svga: add context pointer to the invalidate surface interface
authorCharmaine Lee <charmainel@vmware.com>
Fri, 27 Jan 2017 02:46:23 +0000 (18:46 -0800)
committerBrian Paul <brianp@vmware.com>
Fri, 7 Apr 2017 19:46:44 +0000 (13:46 -0600)
commit16bd2c6d04b0a80f3808266fa530dcfd219d5c9d
treeaac701b7e3037471b519947022e6771c25499783
parente000b17f87bd960c4ce1c0892017023d4dc59609
svga: add context pointer to the invalidate surface interface

With this patch, we will specify the current context
when we invalidate the surface before the surface is
put back to the recycled surface pool. This allows the
winsys layer to use the specified context to do the
invalidation rather than using the last context that
referenced the surface. This prevents race condition if
the last referenced context is now made current in another thread.

Tested with MTT glretrace, NobelClinicianViewer.

Reviewed-by: Sinclair Yeh <syeh@vmware.com>
src/gallium/drivers/svga/svga_context.c
src/gallium/drivers/svga/svga_screen_cache.c
src/gallium/drivers/svga/svga_screen_cache.h
src/gallium/drivers/svga/svga_winsys.h
src/gallium/winsys/svga/drm/vmw_context.c
src/gallium/winsys/svga/drm/vmw_screen_svga.c
src/gallium/winsys/svga/drm/vmw_surface.c
src/gallium/winsys/svga/drm/vmw_surface.h