svga: minimize surface flush
authorCharmaine Lee <charmainel@vmware.com>
Fri, 15 Apr 2016 00:33:32 +0000 (17:33 -0700)
committerBrian Paul <brianp@vmware.com>
Mon, 25 Apr 2016 18:59:29 +0000 (12:59 -0600)
commitd7a6c1a4769774a0a86cc75090d5d3089f248a7d
tree293f352d62a79f46c27c5f1bfa29e25e0fd88320
parent23949cdf2c85637448d9df0b0b4be647ac722b3a
svga: minimize surface flush

Currently, we always do a surface flush when we try to establish
a synchronized write transfer map. But if the subresource has not
been modified, we can skip the surface flush. In other words,
we only need to do a surface flush if the to-be-mapped subresource
has been modified in this command buffer.

With this patch, lightsmark2008 shows about 15% performance improvement.

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