diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index b2eaaedee15..ef817183425 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -437,7 +437,8 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t if (templ->flags & PIPE_RESOURCE_FLAG_MAP_COHERENT) flags |= VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; - else if (!(flags & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)) + else if (!(flags & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT) && + templ->usage != PIPE_USAGE_STAGING) flags |= VK_MEMORY_PROPERTY_HOST_CACHED_BIT; VkMemoryAllocateInfo mai = {};