From 7dd771b2d760eb6319623d9c8231d81e27231942 Mon Sep 17 00:00:00 2001 From: Mary Guillemard Date: Wed, 19 Jun 2024 09:33:04 +0200 Subject: [PATCH] panvk: Make mempool detect NULL BOs Contribute to fixing "dEQP-VK.api.object_management.alloc_callback_fail.device". We needs a way to report errors in mempools. Signed-off-by: Mary Guillemard Reviewed-by: Boris Brezillon Part-of: --- src/panfrost/vulkan/panvk_mempool.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/panfrost/vulkan/panvk_mempool.c b/src/panfrost/vulkan/panvk_mempool.c index 264a54c744a..f6652745ade 100644 --- a/src/panfrost/vulkan/panvk_mempool.c +++ b/src/panfrost/vulkan/panvk_mempool.c @@ -75,6 +75,9 @@ panvk_pool_alloc_backing(struct panvk_pool *pool, size_t sz) VK_SYSTEM_ALLOCATION_SCOPE_DEVICE); } + if (bo == NULL) + return NULL; + if (pool->props.owns_bos) { if (pan_kmod_bo_size(bo->bo) == pool->base.slab_size) list_addtail(&bo->node, &pool->bos); @@ -123,7 +126,7 @@ panvk_pool_alloc_mem(struct panvk_pool *pool, struct panvk_pool_alloc_info info) offset = 0; } - if (pool->transient_bo == bo) { + if (bo != NULL && pool->transient_bo == bo) { pool->transient_offset = offset + info.size; if (!pool->props.owns_bos) panvk_priv_bo_ref(bo);