From: Mike Blumenkrantz Date: Wed, 7 Jun 2023 12:48:19 +0000 (-0400) Subject: zink: check for cached mem correctly when mapping buffer X-Git-Tag: upstream/23.3.3~7309 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=81834a211df96692133e5e74da457ad7003c1bf6;p=platform%2Fupstream%2Fmesa.git zink: check for cached mem correctly when mapping buffer bo placement is the mem index, not the mem flags Fixes: 52f27cda05b ("zink: allow direct memory mapping for any COHERENT+CACHED buffer") Part-of: --- diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index 8cf5304..4046996 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -1978,7 +1978,7 @@ zink_buffer_map(struct pipe_context *pctx, usage |= PIPE_MAP_UNSYNCHRONIZED; } else if (!(usage & PIPE_MAP_UNSYNCHRONIZED) && (((usage & PIPE_MAP_READ) && !(usage & PIPE_MAP_PERSISTENT) && - ((res->obj->bo->base.placement & VK_STAGING_RAM) != VK_STAGING_RAM)) || + ((screen->info.mem_props.memoryTypes[res->obj->bo->base.placement].propertyFlags & VK_STAGING_RAM) != VK_STAGING_RAM)) || !res->obj->host_visible)) { /* the above conditional catches uncached reads and non-HV writes */ assert(!(usage & (TC_TRANSFER_MAP_THREADED_UNSYNC)));