summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_render.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2010-12-27 22:20:58 +0100
committerMarek Olšák <[email protected]>2011-01-06 16:51:54 +0100
commit31afa7616e3c11e9874f3297ac66ebdd50a67186 (patch)
tree0ad99ee0645556ba157031d00a5db1cbab65347e /src/gallium/drivers/r300/r300_render.c
parent45b51a9e7021c004c754e1903afeb15fd885109e (diff)
r300g: skip buffer validation of upload buffers when appropriate
because the upload buffers are reused for subsequent draw operations.
Diffstat (limited to 'src/gallium/drivers/r300/r300_render.c')
-rw-r--r--src/gallium/drivers/r300/r300_render.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index dd3b3c430a7..89f7892875e 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -253,6 +253,12 @@ static boolean r300_emit_states(struct r300_context *r300,
/* Consider the validation done only if everything was validated. */
if (validate_vbos) {
r300->validate_buffers = FALSE;
+ if (r300->any_user_vbs)
+ r300->upload_vb_validated = TRUE;
+ if (r300->index_buffer.buffer &&
+ r300_buffer_is_user_buffer(r300->index_buffer.buffer)) {
+ r300->upload_ib_validated = TRUE;
+ }
}
}