diff options
author | Brian Paul <brianp@vmware.com> | 2013-10-03 11:51:14 -0600 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2013-10-14 14:28:56 -0700 |
commit | 9eae0c95f821b2eab722ff35c7d600f7b03d8479 (patch) | |
tree | f2e4c18951a7b0f03ef0856575c2ce5e4ed650a5 /src | |
parent | fac3094fef8c58bc73173fafa524dae68d8cf5b2 (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.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 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); } |