* Lookup an entry in the hash table, without locking.
* \sa _mesa_HashLookup
*/
-static INLINE void *
+static inline void *
_mesa_HashLookup_unlocked(struct _mesa_HashTable *table, GLuint key)
{
GLuint pos;
* \param table the hash table to delete
* \param callback the callback function
* \param userData arbitrary pointer to pass along to the callback
- * (this is typically a GLcontext pointer)
+ * (this is typically a struct gl_context pointer)
*/
void
_mesa_HashDeleteAll(struct _mesa_HashTable *table,
* \param table the hash table to walk
* \param callback the callback function
* \param userData arbitrary pointer to pass along to the callback
- * (this is typically a GLcontext pointer)
+ * (this is typically a struct gl_context pointer)
*/
void
_mesa_HashWalk(const struct _mesa_HashTable *table,
}
+/**
+ * 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 */
/**