From f1b33c74dc11b97a86a7f0e9cbe4cb168b2b9540 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 11 Jan 2012 12:58:43 -0700 Subject: mesa: add _mesa_HashNumEntries() function Useful when debugging to find the number of texture objects, shader programs, etc. --- src/mesa/main/hash.c | 20 ++++++++++++++++++++ src/mesa/main/hash.h | 3 +++ 2 files changed, 23 insertions(+) (limited to 'src') 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); -- cgit v1.2.3