From 08f0344cf395b7ceee20c4c4030946c9334895bc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 1 Feb 2014 14:59:28 +0100 Subject: [PATCH] r600g,radeonsi: skip busy-checking for DISCARD_RANGE if it has been done already --- src/gallium/drivers/radeon/r600_buffer_common.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c index 1a9a5dd4332..5b9282539e9 100644 --- a/src/gallium/drivers/radeon/r600_buffer_common.c +++ b/src/gallium/drivers/radeon/r600_buffer_common.c @@ -243,8 +243,12 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx, data += box->x % R600_MAP_BUFFER_ALIGNMENT; return r600_buffer_get_transfer(ctx, resource, level, usage, box, ptransfer, data, staging, offset); + } else { + return NULL; /* error, shouldn't occur though */ } } + /* At this point, the buffer is always idle (we checked it above). */ + usage |= PIPE_TRANSFER_UNSYNCHRONIZED; } data = r600_buffer_map_sync_with_rings(rctx, rbuffer, usage); -- 2.34.1