mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 15:00:10 +01:00
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:
parent
04e899f125
commit
0b3e10d6fd
1 changed files with 22 additions and 23 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue