From 201cd1a8c02bfa1b1e1f0c12c9d77c9700f1b714 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 7 Oct 2020 09:39:21 -0400 Subject: [PATCH] zink: track resource count on descriptor pool object we can do this once here instead of accumulating the count all over later also remove the debug value on the set which duplicated this Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/gallium/drivers/zink/zink_descriptors.c | 3 +++ src/gallium/drivers/zink/zink_descriptors.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c index 01eb2f5e2ba..afa3acc85d6 100644 --- a/src/gallium/drivers/zink/zink_descriptors.c +++ b/src/gallium/drivers/zink/zink_descriptors.c @@ -94,6 +94,9 @@ descriptor_pool_create(struct zink_screen *screen, enum zink_descriptor_type typ } memcpy(pool->key.bindings, bindings, bindings_size); memcpy(pool->key.sizes, sizes, types_size); + for (unsigned i = 0; i < num_bindings; i++) { + pool->num_resources += bindings[i].descriptorCount; + } pool->desc_sets = _mesa_hash_table_create(NULL, desc_state_hash, desc_state_equal); if (!pool->desc_sets) goto fail; diff --git a/src/gallium/drivers/zink/zink_descriptors.h b/src/gallium/drivers/zink/zink_descriptors.h index c58d4dbded5..9c56e356a37 100644 --- a/src/gallium/drivers/zink/zink_descriptors.h +++ b/src/gallium/drivers/zink/zink_descriptors.h @@ -82,6 +82,7 @@ struct zink_descriptor_pool { VkDescriptorPool descpool; VkDescriptorSetLayout dsl; struct zink_descriptor_pool_key key; + unsigned num_resources; unsigned num_sets_allocated; };