diff options
author | Charmaine Lee <charmainel@vmware.com> | 2016-04-21 08:28:26 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2016-04-25 12:59:29 -0600 |
commit | 686cd3c606536cff3fe6d80f8ebeeca7afa1b37e (patch) | |
tree | 873f25caad745942f19565ed0829f857a461afb4 | |
parent | 676931640fe6c97f6a5702196c39f8de36b22a64 (diff) |
svga: mark the texture dirty for write transfer map only
Instead of unconditionally mark the texture subresource dirty at transfer map,
we'll set the dirty bit for write transfer only.
Tested with lightsmark2008 and glretrace.
Reviewed-by: Brian Paul <brianp@vmware.com>
-rw-r--r-- | src/gallium/drivers/svga/svga_resource_texture.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/svga/svga_resource_texture.c b/src/gallium/drivers/svga/svga_resource_texture.c index ae5122843a6..f176647dcf6 100644 --- a/src/gallium/drivers/svga/svga_resource_texture.c +++ b/src/gallium/drivers/svga/svga_resource_texture.c @@ -485,8 +485,10 @@ svga_texture_transfer_map(struct pipe_context *pipe, } } } - /* mark this texture level as dirty */ - svga_set_texture_dirty(tex, st->slice, transfer->level); + if (transfer->usage & PIPE_TRANSFER_WRITE) { + /* mark this texture level as dirty */ + svga_set_texture_dirty(tex, st->slice, transfer->level); + } } st->use_direct_map = use_direct_map; |