summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2013-10-03 11:51:14 -0600
committerCarl Worth <cworth@cworth.org>2013-10-14 14:28:56 -0700
commit9eae0c95f821b2eab722ff35c7d600f7b03d8479 (patch)
treef2e4c18951a7b0f03ef0856575c2ce5e4ed650a5 /src
parentfac3094fef8c58bc73173fafa524dae68d8cf5b2 (diff)
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@lists.freedesktop.org> Reviewed-by: Matthew McClure <mcclurem@vmware.com> (cherry picked from commit a50c5f8d24e860baa15dd75b44b9a20af60cebf8)
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/svga/svga_resource_buffer_upload.c2
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 55e66134f60..e6bbc007788 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);
}