From 3c2f343618535bf9833111adb47c8e83f30810bc Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 6 May 2021 12:55:07 -0400 Subject: [PATCH] zink: check actual mem props to determine if resource object is coherent this was correct for what it has been used for until now, but it will no longer be correct going forward Reviewed-by: Adam Jackson Part-of: --- src/gallium/drivers/zink/zink_resource.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index 6b23520..800d7e2 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -494,9 +494,8 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t mai.allocationSize = reqs.size; mai.memoryTypeIndex = get_memory_type_index(screen, &reqs, flags); - obj->coherent = flags & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; - 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->target == PIPE_BUFFER && !obj->coherent) { mai.allocationSize = reqs.size = align(reqs.size, screen->info.props.limits.nonCoherentAtomSize); -- 2.7.4