From: Marek Olšák <marek.ol...@amd.com>

---
 src/gallium/drivers/radeon/r600_buffer_common.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c 
b/src/gallium/drivers/radeon/r600_buffer_common.c
index 11d2319..d7660ef 100644
--- a/src/gallium/drivers/radeon/r600_buffer_common.c
+++ b/src/gallium/drivers/radeon/r600_buffer_common.c
@@ -272,32 +272,31 @@ void r600_invalidate_resource(struct pipe_context *ctx,
        struct r600_common_context *rctx = (struct r600_common_context*)ctx;
        struct r600_resource *rbuffer = r600_resource(resource);
 
        /* We currently only do anyting here for buffers */
        if (resource->target == PIPE_BUFFER)
                (void)r600_invalidate_buffer(rctx, rbuffer);
 }
 
 static void *r600_buffer_get_transfer(struct pipe_context *ctx,
                                      struct pipe_resource *resource,
-                                      unsigned level,
                                       unsigned usage,
                                       const struct pipe_box *box,
                                      struct pipe_transfer **ptransfer,
                                      void *data, struct r600_resource *staging,
                                      unsigned offset)
 {
        struct r600_common_context *rctx = (struct r600_common_context*)ctx;
        struct r600_transfer *transfer = slab_alloc(&rctx->pool_transfers);
 
        transfer->transfer.resource = resource;
-       transfer->transfer.level = level;
+       transfer->transfer.level = 0;
        transfer->transfer.usage = usage;
        transfer->transfer.box = *box;
        transfer->transfer.stride = 0;
        transfer->transfer.layer_stride = 0;
        transfer->offset = offset;
        transfer->staging = staging;
        *ptransfer = &transfer->transfer;
        return data;
 }
 
@@ -366,21 +365,21 @@ static void *r600_buffer_transfer_map(struct pipe_context 
*ctx,
                    !rctx->ws->buffer_wait(rbuffer->buf, 0, 
RADEON_USAGE_READWRITE)) {
                        /* Do a wait-free write-only transfer using a temporary 
buffer. */
                        unsigned offset;
                        struct r600_resource *staging = NULL;
 
                        u_upload_alloc(rctx->uploader, 0, box->width + (box->x 
% R600_MAP_BUFFER_ALIGNMENT),
                                       256, &offset, (struct 
pipe_resource**)&staging, (void**)&data);
 
                        if (staging) {
                                data += box->x % R600_MAP_BUFFER_ALIGNMENT;
-                               return r600_buffer_get_transfer(ctx, resource, 
level, usage, box,
+                               return r600_buffer_get_transfer(ctx, resource, 
usage, box,
                                                                ptransfer, 
data, staging, offset);
                        }
                } else {
                        /* At this point, the buffer is always idle (we checked 
it above). */
                        usage |= PIPE_TRANSFER_UNSYNCHRONIZED;
                }
        }
        /* Use a staging buffer in cached GTT for reads. */
        else if ((usage & PIPE_TRANSFER_READ) &&
                 !(usage & PIPE_TRANSFER_PERSISTENT) &&
@@ -398,32 +397,32 @@ static void *r600_buffer_transfer_map(struct pipe_context 
*ctx,
                                       box->x % R600_MAP_BUFFER_ALIGNMENT,
                                       0, 0, resource, 0, box);
 
                        data = r600_buffer_map_sync_with_rings(rctx, staging, 
usage);
                        if (!data) {
                                r600_resource_reference(&staging, NULL);
                                return NULL;
                        }
                        data += box->x % R600_MAP_BUFFER_ALIGNMENT;
 
-                       return r600_buffer_get_transfer(ctx, resource, level, 
usage, box,
+                       return r600_buffer_get_transfer(ctx, resource, usage, 
box,
                                                        ptransfer, data, 
staging, 0);
                }
        }
 
        data = r600_buffer_map_sync_with_rings(rctx, rbuffer, usage);
        if (!data) {
                return NULL;
        }
        data += box->x;
 
-       return r600_buffer_get_transfer(ctx, resource, level, usage, box,
+       return r600_buffer_get_transfer(ctx, resource, usage, box,
                                        ptransfer, data, NULL, 0);
 }
 
 static void r600_buffer_do_flush_region(struct pipe_context *ctx,
                                        struct pipe_transfer *transfer,
                                        const struct pipe_box *box)
 {
        struct r600_transfer *rtransfer = (struct r600_transfer*)transfer;
        struct r600_resource *rbuffer = r600_resource(transfer->resource);
 
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to