Mesa (master): r300g: update derived state before uploading vertex buffers

Marek Olšák mareko at kemper.freedesktop.org
Tue Mar 1 00:09:45 UTC 2011


Module: Mesa
Branch: master
Commit: 4609be44106274fa88cfdf935257dfbe51cb6039
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4609be44106274fa88cfdf935257dfbe51cb6039

Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Mar  1 00:12:23 2011 +0100

r300g: update derived state before uploading vertex buffers

The function may invoke blitter, which invalidates vertex buffers.

---

 src/gallium/drivers/r300/r300_render.c |    4 ++--
 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 2ead866..73ed44c 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) {




More information about the mesa-commit mailing list