Mesa (master): svga: fix incorrect memcpy src in svga_buffer_upload_piecewise()

Brian Paul brianp at kemper.freedesktop.org
Fri Oct 4 16:27:11 UTC 2013


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

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Oct  3 11:51:14 2013 -0600

svga: fix incorrect memcpy src in svga_buffer_upload_piecewise()

As we march over the source buffer we're uploading in pieces, we
need to memcpy from the current offset, not the start of the buffer.
Fixes graphical corruption when drawing very large vertex buffers.

Cc: "9.2" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Matthew McClure <mcclurem at vmware.com>

---

 .../drivers/svga/svga_resource_buffer_upload.c     |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_resource_buffer_upload.c b/src/gallium/drivers/svga/svga_resource_buffer_upload.c
index 55e6613..e6bbc00 100644
--- a/src/gallium/drivers/svga/svga_resource_buffer_upload.c
+++ b/src/gallium/drivers/svga/svga_resource_buffer_upload.c
@@ -502,7 +502,7 @@ svga_buffer_upload_piecewise(struct svga_screen *ss,
                                PIPE_TRANSFER_DISCARD_RANGE);
          assert(map);
          if (map) {
-            memcpy(map, sbuf->swbuf, size);
+            memcpy(map, (const char *) sbuf->swbuf + offset, size);
             sws->buffer_unmap(sws, hwbuf);
          }
 




More information about the mesa-commit mailing list