summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2011-03-01 00:12:23 +0100
committerMarek Olšák <maraeo@gmail.com>2011-03-01 00:46:58 +0100
commit4609be44106274fa88cfdf935257dfbe51cb6039 (patch)
treeccc5483e87a2980c9f486e5f03bdddc1c9b6af54 /src/gallium/drivers/r300
parentfbedd9c73a2ad4bdded2d900244fd5ea5bcfad97 (diff)
r300g: update derived state before uploading vertex buffers
The function may invoke blitter, which invalidates vertex buffers.
Diffstat (limited to 'src/gallium/drivers/r300')
-rw-r--r--src/gallium/drivers/r300/r300_render.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index 2ead8667bd..73ed44cc5a 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -748,6 +748,8 @@ static void r300_draw_vbo(struct pipe_context* pipe,
return;
}
+ r300_update_derived_state(r300);
+
/* Start the vbuf manager and update buffers if needed. */
u_vbuf_mgr_draw_begin(r300->vbuf_mgr, info,
&buffers_updated, &uploader_flushed);
@@ -756,8 +758,6 @@ static void r300_draw_vbo(struct pipe_context* pipe,
}
/* Draw. */
- r300_update_derived_state(r300);
-
if (indexed) {
if (count <= 8 &&
r300_resource(r300->index_buffer.buffer)->b.user_ptr) {