From c6d677ce3dc505d0d5aeb9880782d9e5c4f12ae9 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 7 Jul 2021 15:36:45 -0400 Subject: [PATCH] zink: ensure sparse allocations aren't marked host-visible Fixes: 5fee58bf599 ("zink: collapse host_visible and non-coherent alignment alloc cases") Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_resource.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index 407c142df61..90920d8b66a 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -498,7 +498,8 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t VkMemoryType mem_type = screen->info.mem_props.memoryTypes[mai.memoryTypeIndex]; obj->coherent = mem_type.propertyFlags & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; - obj->host_visible = mem_type.propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; + if (!(templ->flags & PIPE_RESOURCE_FLAG_SPARSE)) + obj->host_visible = mem_type.propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; if (templ->target == PIPE_BUFFER && !obj->coherent && obj->host_visible) { mai.allocationSize = reqs.size = align(reqs.size, screen->info.props.limits.nonCoherentAtomSize); }