From 088e9d9dda241b94b018c6129ca5e65718b2a4c2 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sat, 2 Oct 2021 17:24:08 +0200 Subject: [PATCH] backend/drm: use drmCloseBufferHandle This has been added in [1] and allows us to close buffer handles without manually calling drmIoctl. [1]: https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/192 --- backend/drm/renderer.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/backend/drm/renderer.c b/backend/drm/renderer.c index 2d81ccd5ea..01830773ff 100644 --- a/backend/drm/renderer.c +++ b/backend/drm/renderer.c @@ -216,8 +216,7 @@ static uint32_t get_bo_handle_for_fd(struct wlr_drm_backend *drm, if (!drm_bo_handle_table_ref(&drm->bo_handles, handle)) { // If that failed, the handle wasn't ref'ed in the table previously, // so safe to delete - struct drm_gem_close args = { .handle = handle }; - drmIoctl(drm->fd, DRM_IOCTL_GEM_CLOSE, &args); + drmCloseBufferHandle(drm->fd, handle); return 0; } @@ -234,9 +233,8 @@ static void close_bo_handle(struct wlr_drm_backend *drm, uint32_t handle) { return; } - struct drm_gem_close args = { .handle = handle }; - if (drmIoctl(drm->fd, DRM_IOCTL_GEM_CLOSE, &args) != 0) { - wlr_log_errno(WLR_ERROR, "drmIoctl(GEM_CLOSE) failed"); + if (drmCloseBufferHandle(drm->fd, handle) != 0) { + wlr_log_errno(WLR_ERROR, "drmCloseBufferHandle failed"); } }