summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_state_draw.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2014-07-11 23:17:07 +0200
committerMarek Olšák <marek.olsak@amd.com>2014-07-18 01:58:59 +0200
commitd808de31bd3bac26cdea4d1d9464ad7f010d77d1 (patch)
tree269b64a43ca13d62e250c79ff1ce8cedf496be27 /src/gallium/drivers/radeonsi/si_state_draw.c
parent6210d6fdc2ffd2a46c73e64f1a1c443fe015a59e (diff)
downloadexternal_mesa3d-d808de31bd3bac26cdea4d1d9464ad7f010d77d1.zip
external_mesa3d-d808de31bd3bac26cdea4d1d9464ad7f010d77d1.tar.gz
external_mesa3d-d808de31bd3bac26cdea4d1d9464ad7f010d77d1.tar.bz2
radeonsi: only update vertex buffers when they need updating
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state_draw.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index a0078c0..f829d03 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -892,7 +892,11 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
return;
si_update_derived_state(sctx);
- si_update_vertex_buffers(sctx);
+
+ if (sctx->vertex_buffers_dirty) {
+ si_update_vertex_buffers(sctx);
+ sctx->vertex_buffers_dirty = false;
+ }
if (info->indexed) {
/* Initialize the index buffer struct. */