diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/backend/drm/bo_handle_table.h | 24 | ||||
-rw-r--r-- | include/backend/drm/drm.h | 2 | ||||
-rw-r--r-- | include/backend/drm/renderer.h | 1 | ||||
-rw-r--r-- | include/backend/drm/util.h | 7 |
4 files changed, 7 insertions, 27 deletions
diff --git a/include/backend/drm/bo_handle_table.h b/include/backend/drm/bo_handle_table.h deleted file mode 100644 index d086df45..00000000 --- a/include/backend/drm/bo_handle_table.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef BACKEND_DRM_BO_HANDLE_TABLE_H -#define BACKEND_DRM_BO_HANDLE_TABLE_H - -/** - * Table performing reference counting for buffer object handles. - * - * The BO handles are allocated incrementally and are recycled by the kernel, - * so a simple array is used. - * - * This design is inspired from amdgpu's code in libdrm: - * https://gitlab.freedesktop.org/mesa/drm/-/blob/1a4c0ec9aea13211997f982715fe5ffcf19dd067/amdgpu/handle_table.c - */ -struct wlr_drm_bo_handle_table { - size_t *nrefs; - size_t len; -}; - -void drm_bo_handle_table_finish(struct wlr_drm_bo_handle_table *table); -bool drm_bo_handle_table_ref(struct wlr_drm_bo_handle_table *table, - uint32_t handle); -size_t drm_bo_handle_table_unref(struct wlr_drm_bo_handle_table *table, - uint32_t handle); - -#endif diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h index 6d70d844..4b2a1f7c 100644 --- a/include/backend/drm/drm.h +++ b/include/backend/drm/drm.h @@ -11,7 +11,6 @@ #include <wlr/backend/session.h> #include <wlr/render/drm_format_set.h> #include <xf86drmMode.h> -#include "backend/drm/bo_handle_table.h" #include "backend/drm/iface.h" #include "backend/drm/properties.h" #include "backend/drm/renderer.h" @@ -63,7 +62,6 @@ struct wlr_drm_backend { int fd; char *name; struct wlr_device *dev; - struct wlr_drm_bo_handle_table bo_handles; size_t num_crtcs; struct wlr_drm_crtc *crtcs; diff --git a/include/backend/drm/renderer.h b/include/backend/drm/renderer.h index d6f878c5..52a2a053 100644 --- a/include/backend/drm/renderer.h +++ b/include/backend/drm/renderer.h @@ -32,7 +32,6 @@ struct wlr_drm_fb { struct wlr_drm_backend *backend; struct wl_list link; // wlr_drm_backend.fbs - uint32_t handles[WLR_DMABUF_MAX_PLANES]; uint32_t id; }; diff --git a/include/backend/drm/util.h b/include/backend/drm/util.h index b4cdee7d..6e97505c 100644 --- a/include/backend/drm/util.h +++ b/include/backend/drm/util.h @@ -36,4 +36,11 @@ size_t match_obj(size_t num_objs, const uint32_t objs[static restrict num_objs], size_t num_res, const uint32_t res[static restrict num_res], uint32_t out[static restrict num_res]); +/** + * Close a GEM buffer handle. + * + * TODO: replace with drmCloseBufferHandle. + */ +void close_bo_handle(int drm_fd, uint32_t handle); + #endif |