Mesa (mesa_7_7_branch): svga: Avoid synchronization issues when doing SW TNL.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Jan 21 23:27:45 UTC 2010


Module: Mesa
Branch: mesa_7_7_branch
Commit: 0bc885188464446dd94542e0af15f3985dcdf684
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0bc885188464446dd94542e0af15f3985dcdf684

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Jan 21 12:13:27 2010 -0800

svga: Avoid synchronization issues when doing SW TNL.

---

 src/gallium/drivers/svga/svga_swtnl_backend.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_swtnl_backend.c b/src/gallium/drivers/svga/svga_swtnl_backend.c
index cfbdcf2..aafb3e2 100644
--- a/src/gallium/drivers/svga/svga_swtnl_backend.c
+++ b/src/gallium/drivers/svga/svga_swtnl_backend.c
@@ -122,7 +122,9 @@ svga_vbuf_render_map_vertices( struct vbuf_render *render )
    char *ptr = (char*)pipe_buffer_map(screen,
                                       svga_render->vbuf,
                                       PIPE_BUFFER_USAGE_CPU_WRITE | 
-                                      PIPE_BUFFER_USAGE_FLUSH_EXPLICIT);
+                                      PIPE_BUFFER_USAGE_FLUSH_EXPLICIT |
+                                      PIPE_BUFFER_USAGE_DISCARD |
+                                      PIPE_BUFFER_USAGE_UNSYNCHRONIZED);
    return ptr + svga_render->vbuf_offset;
 }
 
@@ -264,8 +266,8 @@ svga_vbuf_render_draw( struct vbuf_render *render,
       svga_render->ibuf_offset = 0;
    }
 
-   pipe_buffer_write(screen, svga_render->ibuf,
-                     svga_render->ibuf_offset, 2 * nr_indices, indices);
+   pipe_buffer_write_nooverlap(screen, svga_render->ibuf,
+                                 svga_render->ibuf_offset, 2 * nr_indices, indices);
 
 
    /* off to hardware */




More information about the mesa-commit mailing list