diff --git a/src/gallium/drivers/r600/r600_buffer_common.c b/src/gallium/drivers/r600/r600_buffer_common.c index e00bb0e0edb..a47faafa928 100644 --- a/src/gallium/drivers/r600/r600_buffer_common.c +++ b/src/gallium/drivers/r600/r600_buffer_common.c @@ -310,18 +310,13 @@ static void *r600_buffer_get_transfer(struct pipe_context *ctx, struct r600_transfer *transfer; if (usage & TC_TRANSFER_MAP_THREADED_UNSYNC) - transfer = slab_alloc(&rctx->pool_transfers_unsync); + transfer = slab_zalloc(&rctx->pool_transfers_unsync); else - transfer = slab_alloc(&rctx->pool_transfers); + transfer = slab_zalloc(&rctx->pool_transfers); - transfer->b.b.resource = NULL; pipe_resource_reference(&transfer->b.b.resource, resource); - transfer->b.b.level = 0; transfer->b.b.usage = usage; transfer->b.b.box = *box; - transfer->b.b.stride = 0; - transfer->b.b.layer_stride = 0; - transfer->b.staging = NULL; transfer->b.b.offset = offset; transfer->staging = staging; *ptransfer = &transfer->b.b;