summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga/svga_resource_texture.c
diff options
context:
space:
mode:
authorCharmaine Lee <[email protected]>2016-04-21 08:28:26 -0700
committerBrian Paul <[email protected]>2016-04-25 12:59:29 -0600
commit686cd3c606536cff3fe6d80f8ebeeca7afa1b37e (patch)
tree873f25caad745942f19565ed0829f857a461afb4 /src/gallium/drivers/svga/svga_resource_texture.c
parent676931640fe6c97f6a5702196c39f8de36b22a64 (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 <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga/svga_resource_texture.c')
-rw-r--r--src/gallium/drivers/svga/svga_resource_texture.c6
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;