Lines Matching refs:table
3 * Generic hash table.
42 * The hash table needs a particular pointer to be the marker for a key that
43 * was deleted from the table, along with NULL for the "never allocated in the
44 * table" marker. Legacy GL allows any GLuint to be used as a GL object name,
47 * struct hash_table. We tell the hash table to use "1" as the deleted key
48 * value, so that we test the deleted-key-in-the-table path as best we can.
61 * are never deleted, we will never see a collision in the table, because the
62 * table resizes itself when it approaches full, and thus key % table_size ==
97 * The hash table data structure.
104 /** Value that would be in the table for DELETED_KEY_VALUE. */
110 extern void _mesa_DeleteHashTable(struct _mesa_HashTable *table);
112 extern void *_mesa_HashLookup(struct _mesa_HashTable *table, GLuint key);
114 extern void _mesa_HashInsert(struct _mesa_HashTable *table, GLuint key, void *data);
116 extern void _mesa_HashRemove(struct _mesa_HashTable *table, GLuint key);
119 * Lock the hash table mutex.
122 * to be looked up in the hash table, to avoid having to lock
125 * \param table the hash table.
128 _mesa_HashLockMutex(struct _mesa_HashTable *table)
130 assert(table);
131 mtx_lock(&table->Mutex);
136 * Unlock the hash table mutex.
138 * \param table the hash table.
141 _mesa_HashUnlockMutex(struct _mesa_HashTable *table)
143 assert(table);
144 mtx_unlock(&table->Mutex);
147 extern void *_mesa_HashLookupLocked(struct _mesa_HashTable *table, GLuint key);
149 extern void _mesa_HashInsertLocked(struct _mesa_HashTable *table,
152 extern void _mesa_HashRemoveLocked(struct _mesa_HashTable *table, GLuint key);
155 _mesa_HashDeleteAll(struct _mesa_HashTable *table,
160 _mesa_HashWalk(const struct _mesa_HashTable *table,
165 _mesa_HashWalkLocked(const struct _mesa_HashTable *table,
169 extern void _mesa_HashPrint(const struct _mesa_HashTable *table);
171 extern GLuint _mesa_HashFindFreeKeyBlock(struct _mesa_HashTable *table, GLuint numKeys);
174 _mesa_HashNumEntries(const struct _mesa_HashTable *table);