venus: conditionally enable async descriptor set allocation
authorYiwei Zhang <zzyiwei@chromium.org>
Sun, 22 Aug 2021 22:26:54 +0000 (22:26 +0000)
committerMarge Bot <eric+marge@anholt.net>
Thu, 26 Aug 2021 17:56:19 +0000 (17:56 +0000)
commit3538b5af6dedbff09913a3a959d1a869415e310b
treeee06e8aa1793d181799dc6a306f0cef0cd803b2d
parent288ce1b033faf1123b76688d9a02323484f21810
venus: conditionally enable async descriptor set allocation

When VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT is not used to
create the pool, set allocation is guaranteed to not return
VK_ERROR_FRAGMENTED_POOL, and we can safely move set allocation to async
after doing resource tracking in the driver.

Enable after fully tested with assert(false) in the failure case.

Tested with:
- dEQP-VK.api.descriptor*
- dEQP-VK.api.object_management.*
- dEQP-VK.binding_model.descriptor*
- dEQP-VK.descriptor_indexing.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12501>
src/virtio/vulkan/vn_descriptor_set.c