From: Thomas Helland Date: Sun, 21 May 2017 13:17:26 +0000 (+0200) Subject: main: Move hashLockMutex/hashUnlockMutex to header and inline X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1575a8146a33bfddb2e498ce77fa0ca8f0f0c85e;p=mesa.git main: Move hashLockMutex/hashUnlockMutex to header and inline Reviewed-by: Timothy Arceri --- diff --git a/src/mesa/main/hash.c b/src/mesa/main/hash.c index e352a46aa4b..d7164125599 100644 --- a/src/mesa/main/hash.c +++ b/src/mesa/main/hash.c @@ -35,7 +35,6 @@ */ #include "glheader.h" -#include "imports.h" #include "hash.h" #include "util/hash_table.h" @@ -52,18 +51,6 @@ */ #define DELETED_KEY_VALUE 1 -/** - * The hash table data structure. - */ -struct _mesa_HashTable { - struct hash_table *ht; - GLuint MaxKey; /**< highest key inserted so far */ - mtx_t Mutex; /**< mutual exclusion lock */ - GLboolean InDeleteAll; /**< Debug check */ - /** Value that would be in the table for DELETED_KEY_VALUE. */ - void *deleted_key_data; -}; - /** @{ * Mapping from our use of GLuint as both the key and the hash value to the * hash_table.h API @@ -230,36 +217,6 @@ _mesa_HashLookupLocked(struct _mesa_HashTable *table, GLuint key) } -/** - * Lock the hash table mutex. - * - * This function should be used when multiple objects need - * to be looked up in the hash table, to avoid having to lock - * and unlock the mutex each time. - * - * \param table the hash table. - */ -void -_mesa_HashLockMutex(struct _mesa_HashTable *table) -{ - assert(table); - mtx_lock(&table->Mutex); -} - - -/** - * Unlock the hash table mutex. - * - * \param table the hash table. - */ -void -_mesa_HashUnlockMutex(struct _mesa_HashTable *table) -{ - assert(table); - mtx_unlock(&table->Mutex); -} - - static inline void _mesa_HashInsert_unlocked(struct _mesa_HashTable *table, GLuint key, void *data) { diff --git a/src/mesa/main/hash.h b/src/mesa/main/hash.h index 9eb0f0eac6c..b44959eb13e 100644 --- a/src/mesa/main/hash.h +++ b/src/mesa/main/hash.h @@ -33,8 +33,21 @@ #include "glheader.h" +#include "imports.h" +/** + * The hash table data structure. + */ +struct _mesa_HashTable { + struct hash_table *ht; + GLuint MaxKey; /**< highest key inserted so far */ + mtx_t Mutex; /**< mutual exclusion lock */ + GLboolean InDeleteAll; /**< Debug check */ + /** Value that would be in the table for DELETED_KEY_VALUE. */ + void *deleted_key_data; +}; + extern struct _mesa_HashTable *_mesa_NewHashTable(void); extern void _mesa_DeleteHashTable(struct _mesa_HashTable *table); @@ -45,9 +58,34 @@ extern void _mesa_HashInsert(struct _mesa_HashTable *table, GLuint key, void *da extern void _mesa_HashRemove(struct _mesa_HashTable *table, GLuint key); -extern void _mesa_HashLockMutex(struct _mesa_HashTable *table); +/** + * Lock the hash table mutex. + * + * This function should be used when multiple objects need + * to be looked up in the hash table, to avoid having to lock + * and unlock the mutex each time. + * + * \param table the hash table. + */ +static inline void +_mesa_HashLockMutex(struct _mesa_HashTable *table) +{ + assert(table); + mtx_lock(&table->Mutex); +} + -extern void _mesa_HashUnlockMutex(struct _mesa_HashTable *table); +/** + * Unlock the hash table mutex. + * + * \param table the hash table. + */ +static inline void +_mesa_HashUnlockMutex(struct _mesa_HashTable *table) +{ + assert(table); + mtx_unlock(&table->Mutex); +} extern void *_mesa_HashLookupLocked(struct _mesa_HashTable *table, GLuint key);