u_upload_mgr: Use pipe_buffer_map_range istead of pipe_buffer_map.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 1 Jul 2011 16:05:30 +0000 (17:05 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 1 Jul 2011 17:32:40 +0000 (18:32 +0100)
pipe_buffer_map_range makes stricter assertions, and would have saved us
grief detecting a bug in svga user buffer uploads.

src/gallium/auxiliary/util/u_upload_mgr.c

index d36697db4ec80cb5e69bf2222cc3d28e676a479f..e50db6d67feb4615feef2f644c82feef6d5860e5 100644 (file)
@@ -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 );