zink: collapse host_visible and non-coherent alignment alloc cases

* buffers can use normal mem prop checking to determine host_visible setting
* sparse buffers are never coherent, so this case can be dropped from the conditional

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 09:48:55 -04:00 committed by Marge Bot
parent eb272f6571
commit 5fee58bf59

View file

@ -496,15 +496,10 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t
obj->coherent = flags & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
if (templ->target != PIPE_BUFFER) {
VkMemoryType mem_type =
screen->info.mem_props.memoryTypes[mai.memoryTypeIndex];
obj->host_visible = mem_type.propertyFlags &
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
} else if (!(templ->flags & PIPE_RESOURCE_FLAG_SPARSE)) {
obj->host_visible = true;
if (!obj->coherent)
mai.allocationSize = reqs.size = align(reqs.size, screen->info.props.limits.nonCoherentAtomSize);
VkMemoryType mem_type = screen->info.mem_props.memoryTypes[mai.memoryTypeIndex];
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);
}
VkExportMemoryAllocateInfo emai = {0};