From: Erik Faye-Lund Date: Wed, 14 Apr 2021 11:35:34 +0000 (+0200) Subject: zink: fall back from cached to non-cached memory X-Git-Tag: upstream/21.2.3~4851 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1cf6b8d461680d9c4121ba85630a46e844fb8b36;p=platform%2Fupstream%2Fmesa.git zink: fall back from cached to non-cached memory This fixes basic rendering on top of V3DV, which doesn't seem to expose the cached memory we expect and love. Fixes: 598dc3dca41 ("zink: use cached memory for all resources when possible") Reviewed-By: Mike Blumenkrantz Part-of: --- diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index 57434a8..5cf4e81 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -187,6 +187,14 @@ get_memory_type_index(struct zink_screen *screen, if (idx >= 0) return idx; + if (props & VK_MEMORY_PROPERTY_HOST_CACHED_BIT) { + /* if no suitable cached memory can be found, fall back + * to non-cached memory instead. + */ + return get_memory_type_index(screen, reqs, + props & ~VK_MEMORY_PROPERTY_HOST_CACHED_BIT); + } + unreachable("Unsupported memory-type"); return 0; }