summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2011-07-01 17:05:30 +0100
committerJosé Fonseca <[email protected]>2011-07-01 18:32:40 +0100
commitdda8d7ac3f0e5148d9738a57f7bc03216f6514d1 (patch)
treecb5d01fd5d81ebb62afd2eb08f72fee5eb01f425
parent7d39ff44a2256a08fac725ae0ee8a4475fbf9de5 (diff)
u_upload_mgr: Use pipe_buffer_map_range istead of pipe_buffer_map.
pipe_buffer_map_range makes stricter assertions, and would have saved us grief detecting a bug in svga user buffer uploads.
-rw-r--r--src/gallium/auxiliary/util/u_upload_mgr.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gallium/auxiliary/util/u_upload_mgr.c b/src/gallium/auxiliary/util/u_upload_mgr.c
index d36697db4ec..e50db6d67fe 100644
--- a/src/gallium/auxiliary/util/u_upload_mgr.c
+++ b/src/gallium/auxiliary/util/u_upload_mgr.c
@@ -240,10 +240,11 @@ enum pipe_error u_upload_buffer( struct u_upload_mgr *upload,
struct pipe_transfer *transfer = NULL;
const char *map = NULL;
- map = (const char *)pipe_buffer_map(upload->pipe,
- inbuf,
- PIPE_TRANSFER_READ,
- &transfer);
+ map = (const char *)pipe_buffer_map_range(upload->pipe,
+ inbuf,
+ offset, size,
+ PIPE_TRANSFER_READ,
+ &transfer);
if (map == NULL) {
ret = PIPE_ERROR_OUT_OF_MEMORY;
@@ -256,7 +257,7 @@ enum pipe_error u_upload_buffer( struct u_upload_mgr *upload,
ret = u_upload_data( upload,
min_out_offset,
size,
- map + offset,
+ map,
out_offset,
outbuf, flushed );