From 93d549b2af84158f25842fd08b5882b041b33f62 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 12 Mar 2017 14:17:25 +0100 Subject: [PATCH] gallium/radeon: handle other map buffer flags from the threaded context MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Nicolai Hähnle Tested-by: Dieter Nützel --- src/gallium/drivers/radeon/r600_buffer_common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c index 4132858..5d984ea 100644 --- a/src/gallium/drivers/radeon/r600_buffer_common.c +++ b/src/gallium/drivers/radeon/r600_buffer_common.c @@ -354,7 +354,8 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx, /* See if the buffer range being mapped has never been initialized, * in which case it can be mapped unsynchronized. */ - if (!(usage & PIPE_TRANSFER_UNSYNCHRONIZED) && + if (!(usage & (PIPE_TRANSFER_UNSYNCHRONIZED | + TC_TRANSFER_MAP_IGNORE_VALID_RANGE)) && usage & PIPE_TRANSFER_WRITE && !rbuffer->is_shared && !util_ranges_intersect(&rbuffer->valid_buffer_range, box->x, box->x + box->width)) { @@ -368,7 +369,8 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx, } if (usage & PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE && - !(usage & PIPE_TRANSFER_UNSYNCHRONIZED)) { + !(usage & (PIPE_TRANSFER_UNSYNCHRONIZED | + TC_TRANSFER_MAP_NO_INVALIDATE))) { assert(usage & PIPE_TRANSFER_WRITE); if (r600_invalidate_buffer(rctx, rbuffer)) { -- 2.7.4