From: Brian Paul Date: Wed, 11 Jan 2012 19:58:43 +0000 (-0700) Subject: mesa: add _mesa_HashNumEntries() function X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f1b33c74dc11b97a86a7f0e9cbe4cb168b2b9540;p=mesa.git mesa: add _mesa_HashNumEntries() function Useful when debugging to find the number of texture objects, shader programs, etc. --- diff --git a/src/mesa/main/hash.c b/src/mesa/main/hash.c index 4b250ad5468..61c369a80cd 100644 --- a/src/mesa/main/hash.c +++ b/src/mesa/main/hash.c @@ -480,6 +480,26 @@ _mesa_HashFindFreeKeyBlock(struct _mesa_HashTable *table, GLuint numKeys) } +/** + * Return the number of entries in the hash table. + */ +GLuint +_mesa_HashNumEntries(const struct _mesa_HashTable *table) +{ + GLuint pos, count = 0; + + for (pos = 0; pos < TABLE_SIZE; pos++) { + const struct HashEntry *entry; + for (entry = table->Table[pos]; entry; entry = entry->Next) { + count++; + } + } + + return count; +} + + + #if 0 /* debug only */ /** diff --git a/src/mesa/main/hash.h b/src/mesa/main/hash.h index 4f916f9d01f..e935f8d3984 100644 --- a/src/mesa/main/hash.h +++ b/src/mesa/main/hash.h @@ -63,6 +63,9 @@ extern void _mesa_HashPrint(const struct _mesa_HashTable *table); extern GLuint _mesa_HashFindFreeKeyBlock(struct _mesa_HashTable *table, GLuint numKeys); +extern GLuint +_mesa_HashNumEntries(const struct _mesa_HashTable *table); + extern void _mesa_test_hash_functions(void);