gallium/hash_table: turn it into a wrapper around util/hash_table
authorMarek Olšák <marek.olsak@amd.com>
Wed, 5 Feb 2020 19:47:36 +0000 (14:47 -0500)
committerMarge Bot <eric+marge@anholt.net>
Wed, 26 Feb 2020 20:35:50 +0000 (20:35 +0000)
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3722>

29 files changed:
src/gallium/auxiliary/pipebuffer/pb_validate.c
src/gallium/auxiliary/pipebuffer/pb_validate.h
src/gallium/auxiliary/util/u_debug_flush.c
src/gallium/auxiliary/util/u_debug_refcnt.c
src/gallium/auxiliary/util/u_debug_stack.c
src/gallium/auxiliary/util/u_debug_symbol.c
src/gallium/auxiliary/util/u_hash_table.c
src/gallium/auxiliary/util/u_hash_table.h
src/gallium/drivers/lima/lima_screen.h
src/gallium/drivers/v3d/v3d_screen.h
src/gallium/drivers/vc4/vc4_screen.h
src/gallium/include/pipe/p_video_state.h
src/gallium/state_trackers/nine/device9.h
src/gallium/state_trackers/nine/iunknown.h
src/gallium/state_trackers/nine/resource9.h
src/gallium/state_trackers/nine/volume9.h
src/gallium/state_trackers/omx/vid_dec_common.h
src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
src/gallium/winsys/amdgpu/drm/amdgpu_winsys.h
src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c
src/gallium/winsys/freedreno/drm/freedreno_drm_winsys.c
src/gallium/winsys/lima/drm/lima_drm_winsys.c
src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c
src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
src/gallium/winsys/radeon/drm/radeon_drm_winsys.h
src/gallium/winsys/svga/drm/vmw_context.c
src/gallium/winsys/svga/drm/vmw_screen.c
src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
src/gallium/winsys/virgl/drm/virgl_drm_winsys.h

index 459dde526c3774a5c016071a5d7b18815e64f87a..df334693c01b5d635991e13a94f574189e5af6f6 100644 (file)
@@ -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);
index 3196d5290feb75826f8efb92eefa2a814a85725a..cb453a673d19e3e199b8dea9b943f81199d295fc 100644 (file)
@@ -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
index ef1b0557b8b7233885479ee545b3aeb1f43f7356..f525d6a5d304bd2e2b2e1dbd332555bc3e58a3e3 100644 (file)
@@ -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;
 };
 
index c1560fb7dc0ab248886783fff0371e1c5a71db3b..a4612a40f6648cb69ffb34e1c09f2f032bf740ff 100644 (file)
@@ -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;
 
 
index 585fdcee8bc9e8dcc19914e29305859b99829db2..34d493b4cee27324b13f5bdbb07e7c9126a8c509 100644 (file)
@@ -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()
index 20581c9c4d3c04d126fc07a480b85905352b156f..a1d4a5f23ae01bc937a13fd75e9d97cc8b988abe 100644 (file)
@@ -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*
index 0db5ddbee5e45ec149763918a2bdaf91ec9bfd6e..59c8c6cf98dc07c1935e434ac53fa877e9c82bd7 100644 (file)
  *
  **************************************************************************/
 
-/**
- * @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 <jfonseca@vmware.com>
- */
-
 
 #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"
 #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);
 }
index 3d751f423aa677d3d9bdb304c7460c2ae0ce897e..46470bf06474951786f28d50daec075f0747bb65 100644 (file)
@@ -27,8 +27,6 @@
 
 /**
  * General purpose hash table.
- *  
- * @author José Fonseca <jfonseca@vmware.com>
  */
 
 #ifndef U_HASH_TABLE_H_
 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
index 5528694003026b61537a7d2a5b88d002a35f875d..f92a43857379ba261dd3eabd02a2701e053454da 100644 (file)
@@ -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;
 
index db2138d20beb6d1a609604d83ca27a93aba40c38..f9ff26f18f884044c08d6ac7c018f4d8f19f1ed6 100644 (file)
@@ -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;
index f4550d1c28602f7819aee9e0f3863656f5699d6d..fa4becd8a3c5184dee467992e59293ee3044883c 100644 (file)
@@ -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;
index 1369f1a8ca6c2d749741a62d26794b7b1de82d95..2ace94773355ad7abca4a96be0a4167704cbc4dd 100644 (file)
@@ -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
index 167a830d8242a3e60fcbeef72d86979d0664986d..f24d79295ad08d78c5f783c5eb09898ba9738a37 100644 (file)
@@ -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 {
index 2f7582ae4774fcb568f29cda72a75a247b5c6f93..20ad191cf44baeef824ca95c14101184a66ca4f1 100644 (file)
@@ -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 */
 };
index f6310f158e85c276384e556b58e04a7ce4b1449f..9fed45476fb40d00e20adf861732ad033542bad4 100644 (file)
@@ -27,7 +27,7 @@
 #include "pipe/p_state.h"
 
 struct pipe_screen;
-struct util_hash_table;
+struct hash_table;
 struct NineDevice9;
 
 struct NineResource9
index f438642f56738c5f93090c3cc540a18bb688efff..77060f221125b73d6f0a40ae1e04a3c7b65b987e 100644 (file)
@@ -28,7 +28,7 @@
 #include "pipe/p_state.h"
 #include "util/u_inlines.h"
 
-struct util_hash_table;
+struct hash_table;
 
 struct NineDevice9;
 
index bb104d05aefced62e15b56a45d370ed41bfe0178..26091e3e6f933062b57bb9984dc4b3b406c081a7 100644 (file)
@@ -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;
index 0b28d0a4269df00b458bf4a4b6949fec65419351..f770daafa16dc7b5a286fe9737ccba79a165114d 100644 (file)
@@ -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)
index a22be6086dcc63ff128e2a6e22458a24bbb6b4bf..7e677b517ffd4084a1b2f4ce4c1d80c5dfd7af73 100644 (file)
@@ -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;
 };
 
index bfeeb429be5a3850f97be4f8233b7dc1b25ba17f..1d3f6dc817b90443c5d975aea148c58788875ad2 100644 (file)
@@ -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;
 
index d09208bcb263cf677d8db80af76ef6ad9876058f..c0da444785ff0aaa81cc08aaa7fc88d976e0d82b 100644 (file)
@@ -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;
 
index c9ef94065981a4c2dd0c3d951fcf713658702e87..6dcd21c2e60b21e5969027cbae9d90af12c333cc 100644 (file)
@@ -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
index 57f3702a3e093598d3ec0877f68881c149210de7..8547219b6897526d68b21cc854197b446848fc89 100644 (file)
@@ -17,7 +17,7 @@
 #include <nvif/class.h>
 #include <nvif/cl0080.h>
 
-static struct util_hash_table *fd_tab = NULL;
+static struct hash_table *fd_tab = NULL;
 
 static mtx_t nouveau_screen_mutex = _MTX_INITIALIZER_NP;
 
index c38d238bfcdecfae182e17351bbad6ace9102437..394ba1f98312b83d3f14f416f561d05ed5b8bcca 100644 (file)
@@ -41,7 +41,7 @@
 #include <fcntl.h>
 #include <radeon_surface.h>
 
-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.
index 3ebe1d7708c7ef21045a36588c34e98361b5ced1..e23a963f37cf8c56043ef20565f3d4782ff3585a 100644 (file)
@@ -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;
 
index 2950d7196297955dc8cb8e37254a2f27e9721b37..bc6883ee08c6dd33c39dc309c23326cf844377d7 100644 (file)
@@ -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;
index 5f68a89467328cda12ae6212367bef24ebc7168f..cecb932c4c751ccdad6510a74d5a3f33e46cdaac 100644 (file)
@@ -41,7 +41,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-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)
 {
index 959af78493bc8565c7b915b1567979077999a533..4d9aa0332f8cd919ad5731c135421b3ffa5867ae 100644 (file)
@@ -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
index 3a2c476a00b0a53c48eba51b551ec0b1c515dd5f..f3cb7f2fd07a151b014a3b4bd856a02cb5362f16 100644 (file)
@@ -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;
 };