From 502840855acac744fbc8dd090d931adc07755ead Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 5 Feb 2020 14:47:36 -0500 Subject: [PATCH] gallium/hash_table: turn it into a wrapper around util/hash_table Reviewed-by: Kristian H. Kristensen Part-of: --- .../auxiliary/pipebuffer/pb_validate.c | 2 +- .../auxiliary/pipebuffer/pb_validate.h | 4 +- src/gallium/auxiliary/util/u_debug_flush.c | 2 +- src/gallium/auxiliary/util/u_debug_refcnt.c | 2 +- src/gallium/auxiliary/util/u_debug_stack.c | 2 +- src/gallium/auxiliary/util/u_debug_symbol.c | 2 +- src/gallium/auxiliary/util/u_hash_table.c | 253 ++---------------- src/gallium/auxiliary/util/u_hash_table.h | 28 +- src/gallium/drivers/lima/lima_screen.h | 4 +- src/gallium/drivers/v3d/v3d_screen.h | 2 +- src/gallium/drivers/vc4/vc4_screen.h | 2 +- src/gallium/include/pipe/p_video_state.h | 4 +- src/gallium/state_trackers/nine/device9.h | 8 +- src/gallium/state_trackers/nine/iunknown.h | 2 +- src/gallium/state_trackers/nine/resource9.h | 2 +- src/gallium/state_trackers/nine/volume9.h | 2 +- .../state_trackers/omx/vid_dec_common.h | 2 +- src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 2 +- src/gallium/winsys/amdgpu/drm/amdgpu_winsys.h | 2 +- .../winsys/etnaviv/drm/etnaviv_drm_winsys.c | 2 +- .../freedreno/drm/freedreno_drm_winsys.c | 2 +- src/gallium/winsys/lima/drm/lima_drm_winsys.c | 2 +- .../winsys/nouveau/drm/nouveau_drm_winsys.c | 2 +- .../winsys/radeon/drm/radeon_drm_winsys.c | 2 +- .../winsys/radeon/drm/radeon_drm_winsys.h | 6 +- src/gallium/winsys/svga/drm/vmw_context.c | 2 +- src/gallium/winsys/svga/drm/vmw_screen.c | 2 +- .../winsys/virgl/drm/virgl_drm_winsys.c | 2 +- .../winsys/virgl/drm/virgl_drm_winsys.h | 6 +- 29 files changed, 74 insertions(+), 281 deletions(-) diff --git a/src/gallium/auxiliary/pipebuffer/pb_validate.c b/src/gallium/auxiliary/pipebuffer/pb_validate.c index 459dde526c3..df334693c01 100644 --- a/src/gallium/auxiliary/pipebuffer/pb_validate.c +++ b/src/gallium/auxiliary/pipebuffer/pb_validate.c @@ -65,7 +65,7 @@ enum pipe_error pb_validate_add_buffer(struct pb_validate *vl, struct pb_buffer *buf, enum pb_usage_flags flags, - struct util_hash_table *ht, + struct hash_table *ht, boolean *already_present) { assert(buf); diff --git a/src/gallium/auxiliary/pipebuffer/pb_validate.h b/src/gallium/auxiliary/pipebuffer/pb_validate.h index 3196d5290fe..cb453a673d1 100644 --- a/src/gallium/auxiliary/pipebuffer/pb_validate.h +++ b/src/gallium/auxiliary/pipebuffer/pb_validate.h @@ -46,7 +46,7 @@ extern "C" { struct pb_buffer; struct pipe_fence_handle; -struct util_hash_table; +struct hash_table; /** @@ -61,7 +61,7 @@ enum pipe_error pb_validate_add_buffer(struct pb_validate *vl, struct pb_buffer *buf, enum pb_usage_flags flags, - struct util_hash_table *ht, + struct hash_table *ht, boolean *already_present); enum pipe_error diff --git a/src/gallium/auxiliary/util/u_debug_flush.c b/src/gallium/auxiliary/util/u_debug_flush.c index ef1b0557b8b..f525d6a5d30 100644 --- a/src/gallium/auxiliary/util/u_debug_flush.c +++ b/src/gallium/auxiliary/util/u_debug_flush.c @@ -82,7 +82,7 @@ struct debug_flush_ctx { /* Contexts are used by a single thread at a time */ unsigned bt_depth; boolean catch_map_of_referenced; - struct util_hash_table *ref_hash; + struct hash_table *ref_hash; struct list_head head; }; diff --git a/src/gallium/auxiliary/util/u_debug_refcnt.c b/src/gallium/auxiliary/util/u_debug_refcnt.c index c1560fb7dc0..a4612a40f66 100644 --- a/src/gallium/auxiliary/util/u_debug_refcnt.c +++ b/src/gallium/auxiliary/util/u_debug_refcnt.c @@ -54,7 +54,7 @@ static FILE *stream; */ static mtx_t serials_mutex = _MTX_INITIALIZER_NP; -static struct util_hash_table *serials_hash; +static struct hash_table *serials_hash; static unsigned serials_last; diff --git a/src/gallium/auxiliary/util/u_debug_stack.c b/src/gallium/auxiliary/util/u_debug_stack.c index 585fdcee8bc..34d493b4cee 100644 --- a/src/gallium/auxiliary/util/u_debug_stack.c +++ b/src/gallium/auxiliary/util/u_debug_stack.c @@ -46,7 +46,7 @@ #include "os/os_thread.h" #include "u_hash_table.h" -struct util_hash_table* symbols_hash; +struct hash_table* symbols_hash; static mtx_t symbols_mutex = _MTX_INITIALIZER_NP; /* TODO with some refactoring we might be able to re-use debug_symbol_name_cached() diff --git a/src/gallium/auxiliary/util/u_debug_symbol.c b/src/gallium/auxiliary/util/u_debug_symbol.c index 20581c9c4d3..a1d4a5f23ae 100644 --- a/src/gallium/auxiliary/util/u_debug_symbol.c +++ b/src/gallium/auxiliary/util/u_debug_symbol.c @@ -270,7 +270,7 @@ debug_symbol_print(const void *addr) debug_printf("\t%s\n", buf); } -struct util_hash_table* symbols_hash; +struct hash_table* symbols_hash; static mtx_t symbols_mutex = _MTX_INITIALIZER_NP; const char* diff --git a/src/gallium/auxiliary/util/u_hash_table.c b/src/gallium/auxiliary/util/u_hash_table.c index 0db5ddbee5e..59c8c6cf98d 100644 --- a/src/gallium/auxiliary/util/u_hash_table.c +++ b/src/gallium/auxiliary/util/u_hash_table.c @@ -25,24 +25,10 @@ * **************************************************************************/ -/** - * @file - * General purpose hash table implementation. - * - * Just uses the cso_hash for now, but it might be better switch to a linear - * probing hash table implementation at some point -- as it is said they have - * better lookup and cache performance and it appears to be possible to write - * a lock-free implementation of such hash tables . - * - * @author José Fonseca - */ - #include "pipe/p_compiler.h" #include "util/u_debug.h" -#include "cso_cache/cso_hash.h" - #include "util/u_memory.h" #include "util/u_hash_table.h" #include "util/hash_table.h" @@ -52,50 +38,11 @@ #endif -struct util_hash_table -{ - struct cso_hash cso; - - /** Hash function */ - uint32_t (*hash)(const void *key); - - /** Compare two keys */ - bool (*equal)(const void *key1, const void *key2); - - /* TODO: key, value destructors? */ -}; - - -struct util_hash_table_item -{ - void *key; - void *value; -}; - - -static inline struct util_hash_table_item * -util_hash_table_item(struct cso_hash_iter iter) -{ - return (struct util_hash_table_item *)cso_hash_iter_data(iter); -} - - -struct util_hash_table * +struct hash_table * util_hash_table_create(uint32_t (*hash)(const void *key), bool (*equal)(const void *key1, const void *key2)) { - struct util_hash_table *ht; - - ht = MALLOC_STRUCT(util_hash_table); - if (!ht) - return NULL; - - cso_hash_init(&ht->cso); - - ht->hash = hash; - ht->equal = equal; - - return ht; + return _mesa_hash_table_create(NULL, hash, equal); } @@ -113,10 +60,10 @@ pointer_equal(const void *a, const void *b) } -struct util_hash_table * +struct hash_table * util_hash_table_create_ptr_keys(void) { - return util_hash_table_create(pointer_hash, pointer_equal); + return _mesa_hash_table_create(NULL, pointer_hash, pointer_equal); } @@ -154,220 +101,72 @@ static bool equal_fd(const void *key1, const void *key2) } -struct util_hash_table * +struct hash_table * util_hash_table_create_fd_keys(void) { - return util_hash_table_create(hash_fd, equal_fd); -} - - -static inline struct cso_hash_iter -util_hash_table_find_iter(struct util_hash_table *ht, - void *key, - unsigned key_hash) -{ - struct cso_hash_iter iter; - struct util_hash_table_item *item; - - iter = cso_hash_find(&ht->cso, key_hash); - while (!cso_hash_iter_is_null(iter)) { - item = (struct util_hash_table_item *)cso_hash_iter_data(iter); - if (ht->equal(item->key, key)) - break; - iter = cso_hash_iter_next(iter); - } - - return iter; -} - - -static inline struct util_hash_table_item * -util_hash_table_find_item(struct util_hash_table *ht, - void *key, - unsigned key_hash) -{ - struct cso_hash_iter iter; - struct util_hash_table_item *item; - - iter = cso_hash_find(&ht->cso, key_hash); - while (!cso_hash_iter_is_null(iter)) { - item = (struct util_hash_table_item *)cso_hash_iter_data(iter); - if (ht->equal(item->key, key)) - return item; - iter = cso_hash_iter_next(iter); - } - - return NULL; + return _mesa_hash_table_create(NULL, hash_fd, equal_fd); } enum pipe_error -util_hash_table_set(struct util_hash_table *ht, +util_hash_table_set(struct hash_table *ht, void *key, void *value) { - unsigned key_hash; - struct util_hash_table_item *item; - struct cso_hash_iter iter; - - assert(ht); - if (!ht) - return PIPE_ERROR_BAD_INPUT; - - key_hash = ht->hash(key); - - item = util_hash_table_find_item(ht, key, key_hash); - if (item) { - /* TODO: key/value destruction? */ - item->value = value; - return PIPE_OK; - } - - item = MALLOC_STRUCT(util_hash_table_item); - if (!item) - return PIPE_ERROR_OUT_OF_MEMORY; - - item->key = key; - item->value = value; - - iter = cso_hash_insert(&ht->cso, key_hash, item); - if(cso_hash_iter_is_null(iter)) { - FREE(item); - return PIPE_ERROR_OUT_OF_MEMORY; - } - + _mesa_hash_table_insert(ht, key, value); return PIPE_OK; } void * -util_hash_table_get(struct util_hash_table *ht, +util_hash_table_get(struct hash_table *ht, void *key) { - unsigned key_hash; - struct util_hash_table_item *item; - - assert(ht); - if (!ht) - return NULL; - - key_hash = ht->hash(key); + struct hash_entry *entry = _mesa_hash_table_search(ht, key); - item = util_hash_table_find_item(ht, key, key_hash); - if (!item) - return NULL; - - return item->value; + return entry ? entry->data : NULL; } void -util_hash_table_remove(struct util_hash_table *ht, +util_hash_table_remove(struct hash_table *ht, void *key) { - unsigned key_hash; - struct cso_hash_iter iter; - struct util_hash_table_item *item; - - assert(ht); - if (!ht) - return; - - key_hash = ht->hash(key); - - iter = util_hash_table_find_iter(ht, key, key_hash); - if(cso_hash_iter_is_null(iter)) - return; - - item = util_hash_table_item(iter); - assert(item); - FREE(item); - - cso_hash_erase(&ht->cso, iter); + _mesa_hash_table_remove_key(ht, key); } void -util_hash_table_clear(struct util_hash_table *ht) +util_hash_table_clear(struct hash_table *ht) { - struct cso_hash_iter iter; - struct util_hash_table_item *item; - - assert(ht); - if (!ht) - return; - - iter = cso_hash_first_node(&ht->cso); - while (!cso_hash_iter_is_null(iter)) { - item = (struct util_hash_table_item *)cso_hash_take(&ht->cso, cso_hash_iter_key(iter)); - FREE(item); - iter = cso_hash_first_node(&ht->cso); - } + _mesa_hash_table_clear(ht, NULL); } enum pipe_error -util_hash_table_foreach(struct util_hash_table *ht, - enum pipe_error (*callback) +util_hash_table_foreach(struct hash_table *ht, + enum pipe_error (*callback) (void *key, void *value, void *data), - void *data) + void *data) { - struct cso_hash_iter iter; - struct util_hash_table_item *item; - enum pipe_error result; - - assert(ht); - if (!ht) - return PIPE_ERROR_BAD_INPUT; - - iter = cso_hash_first_node(&ht->cso); - while (!cso_hash_iter_is_null(iter)) { - item = (struct util_hash_table_item *)cso_hash_iter_data(iter); - result = callback(item->key, item->value, data); - if(result != PIPE_OK) - return result; - iter = cso_hash_iter_next(iter); + hash_table_foreach(ht, entry) { + enum pipe_error error = callback((void*)entry->key, entry->data, data); + if (error != PIPE_OK) + return error; } - - return PIPE_OK; -} - - -static enum pipe_error -util_hash_inc(UNUSED void *k, UNUSED void *v, void *d) -{ - ++*(size_t *)d; return PIPE_OK; } size_t -util_hash_table_count(struct util_hash_table *ht) +util_hash_table_count(struct hash_table *ht) { - size_t count = 0; - util_hash_table_foreach(ht, util_hash_inc, &count); - return count; + return _mesa_hash_table_num_entries(ht); } void -util_hash_table_destroy(struct util_hash_table *ht) +util_hash_table_destroy(struct hash_table *ht) { - struct cso_hash_iter iter; - struct util_hash_table_item *item; - - assert(ht); - if (!ht) - return; - - iter = cso_hash_first_node(&ht->cso); - while (!cso_hash_iter_is_null(iter)) { - item = (struct util_hash_table_item *)cso_hash_iter_data(iter); - FREE(item); - iter = cso_hash_iter_next(iter); - } - - cso_hash_deinit(&ht->cso); - - FREE(ht); + _mesa_hash_table_destroy(ht, NULL); } diff --git a/src/gallium/auxiliary/util/u_hash_table.h b/src/gallium/auxiliary/util/u_hash_table.h index 3d751f423aa..46470bf0647 100644 --- a/src/gallium/auxiliary/util/u_hash_table.h +++ b/src/gallium/auxiliary/util/u_hash_table.h @@ -27,8 +27,6 @@ /** * General purpose hash table. - * - * @author José Fonseca */ #ifndef U_HASH_TABLE_H_ @@ -42,11 +40,7 @@ extern "C" { #endif - -/** - * Generic purpose hash table. - */ -struct util_hash_table; +struct hash_table; /** @@ -55,56 +49,56 @@ struct util_hash_table; * @param hash hash function * @param equal should return true for two equal keys. */ -struct util_hash_table * +struct hash_table * util_hash_table_create(uint32_t (*hash)(const void *key), bool (*equal)(const void *key1, const void *key2)); /** * Create a hash table where the keys are generic pointers. */ -struct util_hash_table * +struct hash_table * util_hash_table_create_ptr_keys(void); /** * Create a hash table where the keys are device FDs. */ -struct util_hash_table * +struct hash_table * util_hash_table_create_fd_keys(void); enum pipe_error -util_hash_table_set(struct util_hash_table *ht, +util_hash_table_set(struct hash_table *ht, void *key, void *value); void * -util_hash_table_get(struct util_hash_table *ht, +util_hash_table_get(struct hash_table *ht, void *key); void -util_hash_table_remove(struct util_hash_table *ht, +util_hash_table_remove(struct hash_table *ht, void *key); void -util_hash_table_clear(struct util_hash_table *ht); +util_hash_table_clear(struct hash_table *ht); enum pipe_error -util_hash_table_foreach(struct util_hash_table *ht, +util_hash_table_foreach(struct hash_table *ht, enum pipe_error (*callback) (void *key, void *value, void *data), void *data); size_t -util_hash_table_count(struct util_hash_table *ht); +util_hash_table_count(struct hash_table *ht); void -util_hash_table_destroy(struct util_hash_table *ht); +util_hash_table_destroy(struct hash_table *ht); #ifdef __cplusplus diff --git a/src/gallium/drivers/lima/lima_screen.h b/src/gallium/drivers/lima/lima_screen.h index 55286940030..f92a4385737 100644 --- a/src/gallium/drivers/lima/lima_screen.h +++ b/src/gallium/drivers/lima/lima_screen.h @@ -71,8 +71,8 @@ struct lima_screen { /* bo table */ mtx_t bo_table_lock; mtx_t bo_cache_lock; - struct util_hash_table *bo_handles; - struct util_hash_table *bo_flink_names; + struct hash_table *bo_handles; + struct hash_table *bo_flink_names; struct list_head bo_cache_buckets[NR_BO_CACHE_BUCKETS]; struct list_head bo_cache_time; diff --git a/src/gallium/drivers/v3d/v3d_screen.h b/src/gallium/drivers/v3d/v3d_screen.h index db2138d20be..f9ff26f18f8 100644 --- a/src/gallium/drivers/v3d/v3d_screen.h +++ b/src/gallium/drivers/v3d/v3d_screen.h @@ -71,7 +71,7 @@ struct v3d_screen { const struct v3d_compiler *compiler; - struct util_hash_table *bo_handles; + struct hash_table *bo_handles; mtx_t bo_handles_mutex; uint32_t bo_size; diff --git a/src/gallium/drivers/vc4/vc4_screen.h b/src/gallium/drivers/vc4/vc4_screen.h index f4550d1c286..fa4becd8a3c 100644 --- a/src/gallium/drivers/vc4/vc4_screen.h +++ b/src/gallium/drivers/vc4/vc4_screen.h @@ -87,7 +87,7 @@ struct vc4_screen { uint32_t bo_count; } bo_cache; - struct util_hash_table *bo_handles; + struct hash_table *bo_handles; mtx_t bo_handles_mutex; uint32_t bo_size; diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index 1369f1a8ca6..2ace9477335 100644 --- a/src/gallium/include/pipe/p_video_state.h +++ b/src/gallium/include/pipe/p_video_state.h @@ -431,7 +431,7 @@ struct pipe_h264_enc_picture_desc bool not_referenced; bool enable_vui; - struct util_hash_table *frame_idx; + struct hash_table *frame_idx; }; @@ -513,7 +513,7 @@ struct pipe_h265_enc_picture_desc unsigned ref_idx_l0; unsigned ref_idx_l1; bool not_referenced; - struct util_hash_table *frame_idx; + struct hash_table *frame_idx; }; struct pipe_h265_sps diff --git a/src/gallium/state_trackers/nine/device9.h b/src/gallium/state_trackers/nine/device9.h index 167a830d824..f24d79295ad 100644 --- a/src/gallium/state_trackers/nine/device9.h +++ b/src/gallium/state_trackers/nine/device9.h @@ -32,7 +32,7 @@ #include "nine_state.h" struct gen_mipmap_state; -struct util_hash_table; +struct hash_table; struct pipe_screen; struct pipe_context; struct cso_context; @@ -102,8 +102,8 @@ struct NineDevice9 struct gen_mipmap_state *gen_mipmap; struct { - struct util_hash_table *ht_vs; - struct util_hash_table *ht_ps; + struct hash_table *ht_vs; + struct hash_table *ht_ps; struct NineVertexShader9 *vs; struct NinePixelShader9 *ps; unsigned num_vs; @@ -111,7 +111,7 @@ struct NineDevice9 float *vs_const; float *ps_const; - struct util_hash_table *ht_fvf; + struct hash_table *ht_fvf; } ff; struct { diff --git a/src/gallium/state_trackers/nine/iunknown.h b/src/gallium/state_trackers/nine/iunknown.h index 2f7582ae477..20ad191cf44 100644 --- a/src/gallium/state_trackers/nine/iunknown.h +++ b/src/gallium/state_trackers/nine/iunknown.h @@ -60,7 +60,7 @@ struct NineUnknown const GUID **guids; /* for QueryInterface */ /* for [GS]etPrivateData/FreePrivateData */ - struct util_hash_table *pdata; + struct hash_table *pdata; void (*dtor)(void *data); /* top-level dtor */ }; diff --git a/src/gallium/state_trackers/nine/resource9.h b/src/gallium/state_trackers/nine/resource9.h index f6310f158e8..9fed45476fb 100644 --- a/src/gallium/state_trackers/nine/resource9.h +++ b/src/gallium/state_trackers/nine/resource9.h @@ -27,7 +27,7 @@ #include "pipe/p_state.h" struct pipe_screen; -struct util_hash_table; +struct hash_table; struct NineDevice9; struct NineResource9 diff --git a/src/gallium/state_trackers/nine/volume9.h b/src/gallium/state_trackers/nine/volume9.h index f438642f567..77060f22112 100644 --- a/src/gallium/state_trackers/nine/volume9.h +++ b/src/gallium/state_trackers/nine/volume9.h @@ -28,7 +28,7 @@ #include "pipe/p_state.h" #include "util/u_inlines.h" -struct util_hash_table; +struct hash_table; struct NineDevice9; diff --git a/src/gallium/state_trackers/omx/vid_dec_common.h b/src/gallium/state_trackers/omx/vid_dec_common.h index bb104d05aef..26091e3e6f9 100644 --- a/src/gallium/state_trackers/omx/vid_dec_common.h +++ b/src/gallium/state_trackers/omx/vid_dec_common.h @@ -155,7 +155,7 @@ struct h264d_prc struct pipe_video_codec *codec; struct pipe_video_buffer *target; enum pipe_video_profile profile; - struct util_hash_table *video_buffer_map; + struct hash_table *video_buffer_map; union { struct { unsigned nal_ref_idc; diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c index 0b28d0a4269..f770daafa16 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c @@ -48,7 +48,7 @@ #define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS 0x1E #endif -static struct util_hash_table *dev_tab = NULL; +static struct hash_table *dev_tab = NULL; static simple_mtx_t dev_tab_mutex = _SIMPLE_MTX_INITIALIZER_NP; DEBUG_GET_ONCE_BOOL_OPTION(all_bos, "RADEON_ALL_BOS", false) diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.h b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.h index a22be6086dc..7e677b517ff 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.h +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.h @@ -99,7 +99,7 @@ struct amdgpu_winsys { /* For returning the same amdgpu_winsys_bo instance for exported * and re-imported buffers. */ - struct util_hash_table *bo_export_table; + struct hash_table *bo_export_table; simple_mtx_t bo_export_table_lock; }; diff --git a/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c b/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c index bfeeb429be5..1d3f6dc817b 100644 --- a/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c +++ b/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c @@ -67,7 +67,7 @@ screen_create(struct renderonly *ro) return etna_screen_create(dev, gpu, ro); } -static struct util_hash_table *etna_tab = NULL; +static struct hash_table *etna_tab = NULL; static mtx_t etna_screen_mutex = _MTX_INITIALIZER_NP; diff --git a/src/gallium/winsys/freedreno/drm/freedreno_drm_winsys.c b/src/gallium/winsys/freedreno/drm/freedreno_drm_winsys.c index d09208bcb26..c0da444785f 100644 --- a/src/gallium/winsys/freedreno/drm/freedreno_drm_winsys.c +++ b/src/gallium/winsys/freedreno/drm/freedreno_drm_winsys.c @@ -38,7 +38,7 @@ #include "freedreno/freedreno_screen.h" -static struct util_hash_table *fd_tab = NULL; +static struct hash_table *fd_tab = NULL; static mtx_t fd_screen_mutex = _MTX_INITIALIZER_NP; diff --git a/src/gallium/winsys/lima/drm/lima_drm_winsys.c b/src/gallium/winsys/lima/drm/lima_drm_winsys.c index c9ef9406598..6dcd21c2e60 100644 --- a/src/gallium/winsys/lima/drm/lima_drm_winsys.c +++ b/src/gallium/winsys/lima/drm/lima_drm_winsys.c @@ -34,7 +34,7 @@ #include "lima/lima_screen.h" -static struct util_hash_table *fd_tab = NULL; +static struct hash_table *fd_tab = NULL; static mtx_t lima_screen_mutex = _MTX_INITIALIZER_NP; static void diff --git a/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c b/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c index 57f3702a3e0..8547219b689 100644 --- a/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c +++ b/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c @@ -17,7 +17,7 @@ #include #include -static struct util_hash_table *fd_tab = NULL; +static struct hash_table *fd_tab = NULL; static mtx_t nouveau_screen_mutex = _MTX_INITIALIZER_NP; diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c index c38d238bfcd..394ba1f9831 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c @@ -41,7 +41,7 @@ #include #include -static struct util_hash_table *fd_tab = NULL; +static struct hash_table *fd_tab = NULL; static mtx_t fd_tab_mutex = _MTX_INITIALIZER_NP; /* Enable/disable feature access for one command stream. diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.h b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.h index 3ebe1d7708c..e23a963f37c 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.h +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.h @@ -77,11 +77,11 @@ struct radeon_drm_winsys { uint32_t accel_working2; /* List of buffer GEM names. Protected by bo_handles_mutex. */ - struct util_hash_table *bo_names; + struct hash_table *bo_names; /* List of buffer handles. Protectded by bo_handles_mutex. */ - struct util_hash_table *bo_handles; + struct hash_table *bo_handles; /* List of buffer virtual memory ranges. Protectded by bo_handles_mutex. */ - struct util_hash_table *bo_vas; + struct hash_table *bo_vas; mtx_t bo_handles_mutex; mtx_t bo_fence_lock; diff --git a/src/gallium/winsys/svga/drm/vmw_context.c b/src/gallium/winsys/svga/drm/vmw_context.c index 2950d719629..bc6883ee08c 100644 --- a/src/gallium/winsys/svga/drm/vmw_context.c +++ b/src/gallium/winsys/svga/drm/vmw_context.c @@ -95,7 +95,7 @@ struct vmw_svga_winsys_context struct svga_winsys_context base; struct vmw_winsys_screen *vws; - struct util_hash_table *hash; + struct hash_table *hash; #ifdef DEBUG boolean must_flush; diff --git a/src/gallium/winsys/svga/drm/vmw_screen.c b/src/gallium/winsys/svga/drm/vmw_screen.c index 5f68a894673..cecb932c4c7 100644 --- a/src/gallium/winsys/svga/drm/vmw_screen.c +++ b/src/gallium/winsys/svga/drm/vmw_screen.c @@ -41,7 +41,7 @@ #include #include -static struct util_hash_table *dev_hash = NULL; +static struct hash_table *dev_hash = NULL; static bool vmw_dev_compare(const void *key1, const void *key2) { diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c index 959af78493b..4d9aa0332f8 100644 --- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c +++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c @@ -1004,7 +1004,7 @@ virgl_drm_winsys_create(int drmFD) } -static struct util_hash_table *fd_tab = NULL; +static struct hash_table *fd_tab = NULL; static mtx_t virgl_screen_mutex = _MTX_INITIALIZER_NP; static void diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.h b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.h index 3a2c476a00b..f3cb7f2fd07 100644 --- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.h +++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.h @@ -32,7 +32,7 @@ #include "virgl_resource_cache.h" struct pipe_fence_handle; -struct util_hash_table; +struct hash_table; struct virgl_hw_res { struct pipe_reference reference; @@ -60,8 +60,8 @@ struct virgl_drm_winsys struct virgl_resource_cache cache; mtx_t mutex; - struct util_hash_table *bo_handles; - struct util_hash_table *bo_names; + struct hash_table *bo_handles; + struct hash_table *bo_names; mtx_t bo_handles_mutex; bool has_capset_query_fix; }; -- 2.30.2