gallium/util: replace pipe_mutex with mtx_t
[mesa.git] / src / gallium / winsys / virgl / drm / virgl_drm_winsys.h
index a547654499778b83ed5b37c0ef590411555fecc2..f6772153a42a39e9c460c93439ea549d3886d1c8 100644 (file)
 #define VIRGL_DRM_WINSYS_H
 
 #include <stdint.h>
-#include "pipe/p_compiler.h"
-#include "drm.h"
-
 #include "os/os_thread.h"
+#include "pipe/p_state.h"
 #include "util/list.h"
-#include "util/u_inlines.h"
-#include "util/u_hash_table.h"
-
-#include "pipe/p_screen.h"
-#include "pipe/p_context.h"
-#include "pipe/p_context.h"
 
-#include "virgl/virgl_hw.h"
 #include "virgl/virgl_winsys.h"
 
+struct pipe_fence_handle;
+struct util_hash_table;
+
 struct virgl_hw_res {
    struct pipe_reference reference;
    uint32_t res_handle;
@@ -65,10 +59,11 @@ struct virgl_drm_winsys
    struct list_head delayed;
    int num_delayed;
    unsigned usecs;
-   pipe_mutex mutex;
+   mtx_t mutex;
 
    struct util_hash_table *bo_handles;
-   pipe_mutex bo_handles_mutex;
+   struct util_hash_table *bo_names;
+   mtx_t bo_handles_mutex;
 };
 
 struct virgl_drm_cmd_buf {
@@ -87,10 +82,22 @@ struct virgl_drm_cmd_buf {
 
 };
 
+static inline struct virgl_hw_res *
+virgl_hw_res(struct pipe_fence_handle *f)
+{
+   return (struct virgl_hw_res *)f;
+}
+
 static inline struct virgl_drm_winsys *
 virgl_drm_winsys(struct virgl_winsys *iws)
 {
    return (struct virgl_drm_winsys *)iws;
 }
 
+static inline struct virgl_drm_cmd_buf *
+virgl_drm_cmd_buf(struct virgl_cmd_buf *cbuf)
+{
+   return (struct virgl_drm_cmd_buf *)cbuf;
+}
+
 #endif