|
From: GitLab M. <git...@ke...> - 2021-09-27 11:00:37
|
core-symbols.txt | 1 +
xf86drm.c | 9 +++++++++
xf86drm.h | 2 ++
3 files changed, 12 insertions(+)
New commits:
commit 264e66b5e9357f7a058953a0a22986caa0275e34
Author: Simon Ser <co...@em...>
Date: Wed Sep 1 21:26:38 2021 +0200
xf86drm: add GEM_CLOSE ioctl wrapper
We have wrappers for PRIME_HANDLE_TO_FD and PRIME_FD_TO_HANDLE,
but not for GEM_CLOSE. Add it so that callers don't need to
manually call drmIoctl.
Signed-off-by: Simon Ser <co...@em...>
Reviewed-by: Emil Velikov <emi...@co...>
Acked-by: Daniel Stone <da...@co...>
diff --git a/core-symbols.txt b/core-symbols.txt
index a79e6260..ed0d8035 100644
--- a/core-symbols.txt
+++ b/core-symbols.txt
@@ -22,6 +22,7 @@ drmAuthMagic
drmAvailable
drmCheckModesettingSupported
drmClose
+drmCloseBufferHandle
drmCloseOnce
drmCommandNone
drmCommandRead
diff --git a/xf86drm.c b/xf86drm.c
index 8e9989d0..7561039f 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -3271,6 +3271,15 @@ drm_public int drmPrimeFDToHandle(int fd, int prime_fd, uint32_t *handle)
return 0;
}
+drm_public int drmCloseBufferHandle(int fd, uint32_t handle)
+{
+ struct drm_gem_close args;
+
+ memclear(args);
+ args.handle = handle;
+ return drmIoctl(fd, DRM_IOCTL_GEM_CLOSE, &args);
+}
+
static char *drmGetMinorNameForFD(int fd, int type)
{
#ifdef __linux__
diff --git a/xf86drm.h b/xf86drm.h
index 930d2f40..31c1e97a 100644
--- a/xf86drm.h
+++ b/xf86drm.h
@@ -834,6 +834,8 @@ extern int drmGetNodeTypeFromFd(int fd);
extern int drmPrimeHandleToFD(int fd, uint32_t handle, uint32_t flags, int *prime_fd);
extern int drmPrimeFDToHandle(int fd, int prime_fd, uint32_t *handle);
+extern int drmCloseBufferHandle(int fd, uint32_t handle);
+
extern char *drmGetPrimaryDeviceNameFromFd(int fd);
extern char *drmGetRenderDeviceNameFromFd(int fd);
|