panvk: no need to check query count on query create

The spec says

  VUID-VkQueryPoolCreateInfo-queryCount-02763
  queryCount must be greater than 0

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32697>
This commit is contained in:
Chia-I Wu 2024-12-17 16:05:11 -08:00 committed by Marge Bot
parent 04e899f125
commit 0b3e10d6fd

View file

@ -48,30 +48,29 @@ panvk_per_arch(CreateQueryPool)(VkDevice _device,
pool->reports_per_query = reports_per_query;
pool->query_stride = reports_per_query * sizeof(struct panvk_query_report);
if (pool->vk.query_count > 0) {
struct panvk_pool_alloc_info alloc_info = {
.size = pool->reports_per_query * sizeof(struct panvk_query_report) *
pool->vk.query_count,
.alignment = sizeof(struct panvk_query_report),
};
pool->mem = panvk_pool_alloc_mem(&device->mempools.rw, alloc_info);
if (!pool->mem.bo) {
vk_query_pool_destroy(&device->vk, pAllocator, &pool->vk);
return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
}
assert(pool->vk.query_count > 0);
struct panvk_pool_alloc_info syncobjs_alloc_info = {
.size =
sizeof(struct panvk_query_available_obj) * pool->vk.query_count,
.alignment = 64,
};
pool->available_mem =
panvk_pool_alloc_mem(&device->mempools.rw_nc, syncobjs_alloc_info);
if (!pool->available_mem.bo) {
panvk_pool_free_mem(&pool->mem);
vk_query_pool_destroy(&device->vk, pAllocator, &pool->vk);
return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
}
struct panvk_pool_alloc_info alloc_info = {
.size = pool->reports_per_query * sizeof(struct panvk_query_report) *
pool->vk.query_count,
.alignment = sizeof(struct panvk_query_report),
};
pool->mem = panvk_pool_alloc_mem(&device->mempools.rw, alloc_info);
if (!pool->mem.bo) {
vk_query_pool_destroy(&device->vk, pAllocator, &pool->vk);
return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
}
struct panvk_pool_alloc_info syncobjs_alloc_info = {
.size = sizeof(struct panvk_query_available_obj) * pool->vk.query_count,
.alignment = 64,
};
pool->available_mem =
panvk_pool_alloc_mem(&device->mempools.rw_nc, syncobjs_alloc_info);
if (!pool->available_mem.bo) {
panvk_pool_free_mem(&pool->mem);
vk_query_pool_destroy(&device->vk, pAllocator, &pool->vk);
return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
}
*pQueryPool = panvk_query_pool_to_handle(pool);