diff --git a/src/gallium/auxiliary/util/u_threaded_context.c b/src/gallium/auxiliary/util/u_threaded_context.c index 30790949336..63ca61bb249 100644 --- a/src/gallium/auxiliary/util/u_threaded_context.c +++ b/src/gallium/auxiliary/util/u_threaded_context.c @@ -1393,6 +1393,9 @@ tc_improve_map_buffer_flags(struct threaded_context *tc, /* Handle CPU reads trivially. */ if (usage & PIPE_TRANSFER_READ) { + if (usage & PIPE_TRANSFER_UNSYNCHRONIZED) + usage |= TC_TRANSFER_MAP_THREADED_UNSYNC; /* don't sync */ + /* Drivers aren't allowed to do buffer invalidations. */ return usage & ~PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE; }