Mesa (master): r300g: Reset vbo_offset after allocation of a new buffer

Nicolai Hähnle nh at kemper.freedesktop.org
Sat Oct 3 15:27:59 UTC 2009


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

Author: Nicolai Hähnle <nhaehnle at gmail.com>
Date:   Sat Oct  3 17:24:04 2009 +0200

r300g: Reset vbo_offset after allocation of a new buffer

This fixes the glxgears bug, among other things.

Signed-off-by: Nicolai Hähnle <nhaehnle at gmail.com>

---

 src/gallium/drivers/r300/r300_render.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index 16f6404..69d1623 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -79,13 +79,14 @@ static boolean r300_render_allocate_vertices(struct vbuf_render* render,
     struct pipe_screen* screen = r300->context.screen;
     size_t size = (size_t)vertex_size * (size_t)count;
 
-    if (size + r300render->vbo_offset > r300render->vbo_size) 
+    if (size + r300render->vbo_offset > r300render->vbo_size)
     {
         pipe_buffer_reference(&r300->vbo, NULL);
         r300render->vbo = pipe_buffer_create(screen,
                                              64,
                                              PIPE_BUFFER_USAGE_VERTEX,
                                              R300_MAX_VBO_SIZE);
+        r300render->vbo_offset = 0;
         r300render->vbo_size = R300_MAX_VBO_SIZE;
     }
 
@@ -118,7 +119,7 @@ static void r300_render_unmap_vertices(struct vbuf_render* render,
     OUT_CS_REG(R300_VAP_VF_MAX_VTX_INDX, max);
     END_CS;
 
-    r300render->vbo_max_used = MAX2(r300render->vbo_max_used, 
+    r300render->vbo_max_used = MAX2(r300render->vbo_max_used,
                                     r300render->vertex_size * (max + 1));
     pipe_buffer_unmap(screen, r300render->vbo);
 }




More information about the mesa-commit mailing list