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 <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11397>
This commit is contained in:
Mike Blumenkrantz
2021-05-06 12:55:07 -04:00
committed by Marge Bot
parent b1b6aecf9d
commit 3c2f343618
+1 -2
View File
@@ -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);