zink: ensure sparse allocations aren't marked host-visible

Fixes: 5fee58bf59 ("zink: collapse host_visible and non-coherent alignment alloc cases")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11768>
This commit is contained in:
Mike Blumenkrantz
2021-07-07 15:36:45 -04:00
committed by Marge Bot
parent 74a221bcfd
commit c6d677ce3d
+2 -1
View File
@@ -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);
}