libweston: Add check and fallback for linux/sync_file.h
The sync file functionality is required by the upcoming GPU render timeline work, but it's only available in relatively new linux kernel versions (4.7 and above). This commit provides a "sanitized" version of the required sync file definitions. On systems that don't have the sync file header (due to having an older kernel), we will be able to fall back to our own definitions when building. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
7192b17f3e
commit
e39eb8f896
@ -334,6 +334,7 @@ gl_renderer_la_SOURCES = \
|
||||
libweston/gl-renderer.c \
|
||||
libweston/vertex-clipping.c \
|
||||
libweston/vertex-clipping.h \
|
||||
libweston/weston-sync-file.h \
|
||||
shared/helpers.h
|
||||
endif
|
||||
|
||||
|
@ -142,6 +142,7 @@ if test x$enable_egl = xyes; then
|
||||
AC_DEFINE([ENABLE_EGL], [1], [Build Weston with EGL support])
|
||||
PKG_CHECK_MODULES(EGL, [egl glesv2])
|
||||
PKG_CHECK_MODULES([EGL_TESTS], [egl glesv2 wayland-client wayland-egl])
|
||||
AC_CHECK_HEADERS([linux/sync_file.h])
|
||||
fi
|
||||
|
||||
COMPOSITOR_MODULES="$COMPOSITOR_MODULES xkbcommon >= 0.3.0"
|
||||
|
30
libweston/weston-sync-file.h
Normal file
30
libweston/weston-sync-file.h
Normal file
@ -0,0 +1,30 @@
|
||||
/* Sync file Linux kernel UAPI */
|
||||
|
||||
#ifndef WESTON_SYNC_FILE_H
|
||||
#define WESTON_SYNC_FILE_H
|
||||
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
struct sync_fence_info {
|
||||
char obj_name[32];
|
||||
char driver_name[32];
|
||||
__s32 status;
|
||||
__u32 flags;
|
||||
__u64 timestamp_ns;
|
||||
};
|
||||
|
||||
struct sync_file_info {
|
||||
char name[32];
|
||||
__s32 status;
|
||||
__u32 flags;
|
||||
__u32 num_fences;
|
||||
__u32 pad;
|
||||
|
||||
__u64 sync_fence_info;
|
||||
};
|
||||
|
||||
#define SYNC_IOC_MAGIC '>'
|
||||
#define SYNC_IOC_FILE_INFO _IOWR(SYNC_IOC_MAGIC, 4, struct sync_file_info)
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user