X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fwinsys%2Fvirgl%2Fdrm%2Fvirgl_drm_winsys.h;h=f6772153a42a39e9c460c93439ea549d3886d1c8;hb=2efddc63ee864ab917e444b68a7c2dcf520d451e;hp=a547654499778b83ed5b37c0ef590411555fecc2;hpb=1f43e4e1a3395592a9d0843cdba725a2ea45fa74;p=mesa.git diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.h b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.h index a5476544997..f6772153a42 100644 --- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.h +++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.h @@ -24,21 +24,15 @@ #define VIRGL_DRM_WINSYS_H #include -#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