r300g/swtcl: unlock VBO after draw_flush
authorMarek Olšák <maraeo@gmail.com>
Mon, 13 Sep 2010 19:08:48 +0000 (21:08 +0200)
committerMarek Olšák <maraeo@gmail.com>
Mon, 13 Sep 2010 19:12:07 +0000 (21:12 +0200)
https://bugs.freedesktop.org/show_bug.cgi?id=29901
https://bugs.freedesktop.org/show_bug.cgi?id=30132

src/gallium/drivers/r300/r300_render.c

index 6c4cd6c..177850d 100644 (file)
@@ -754,11 +754,8 @@ static void r300_swtcl_draw_vbo(struct pipe_context* pipe,
 
     r300->draw_vbo_locked = TRUE;
     draw_vbo(r300->draw, info);
-    r300->draw_vbo_locked = FALSE;
-
-    /* XXX Not sure whether this is the best fix.
-     * It prevents CS from being rejected and weird assertion failures. */
     draw_flush(r300->draw);
+    r300->draw_vbo_locked = FALSE;
 
     for (i = 0; i < r300->vertex_buffer_count; i++) {
         if (r300->vertex_buffer[i].buffer) {