aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'xf86drm.h')
-rw-r--r--xf86drm.h34
1 files changed, 33 insertions, 1 deletions
diff --git a/xf86drm.h b/xf86drm.h
index 0d927018..7773d71a 100644
--- a/xf86drm.h
+++ b/xf86drm.h
@@ -636,6 +636,12 @@ extern int drmCtlUninstHandler(int fd);
636extern int drmSetClientCap(int fd, uint64_t capability, 636extern int drmSetClientCap(int fd, uint64_t capability,
637 uint64_t value); 637 uint64_t value);
638 638
639extern int drmCrtcGetSequence(int fd, uint32_t crtcId,
640 uint64_t *sequence, uint64_t *ns);
641extern int drmCrtcQueueSequence(int fd, uint32_t crtcId,
642 uint32_t flags, uint64_t sequence,
643 uint64_t *sequence_queued,
644 uint64_t user_data);
639/* General user-level programmer's API: authenticated client and/or X */ 645/* General user-level programmer's API: authenticated client and/or X */
640extern int drmMap(int fd, 646extern int drmMap(int fd,
641 drm_handle_t handle, 647 drm_handle_t handle,
@@ -728,7 +734,7 @@ extern void drmMsg(const char *format, ...) DRM_PRINTFLIKE(1, 2);
728extern int drmSetMaster(int fd); 734extern int drmSetMaster(int fd);
729extern int drmDropMaster(int fd); 735extern int drmDropMaster(int fd);
730 736
731#define DRM_EVENT_CONTEXT_VERSION 2 737#define DRM_EVENT_CONTEXT_VERSION 4
732 738
733typedef struct _drmEventContext { 739typedef struct _drmEventContext {
734 740
@@ -748,6 +754,17 @@ typedef struct _drmEventContext {
748 unsigned int tv_usec, 754 unsigned int tv_usec,
749 void *user_data); 755 void *user_data);
750 756
757 void (*page_flip_handler2)(int fd,
758 unsigned int sequence,
759 unsigned int tv_sec,
760 unsigned int tv_usec,
761 unsigned int crtc_id,
762 void *user_data);
763
764 void (*sequence_handler)(int fd,
765 uint64_t sequence,
766 uint64_t ns,
767 uint64_t user_data);
751} drmEventContext, *drmEventContextPtr; 768} drmEventContext, *drmEventContextPtr;
752 769
753extern int drmHandleEvent(int fd, drmEventContextPtr evctx); 770extern int drmHandleEvent(int fd, drmEventContextPtr evctx);
@@ -844,6 +861,21 @@ extern void drmFreeDevices(drmDevicePtr devices[], int count);
844extern int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device); 861extern int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device);
845extern int drmGetDevices2(uint32_t flags, drmDevicePtr devices[], int max_devices); 862extern int drmGetDevices2(uint32_t flags, drmDevicePtr devices[], int max_devices);
846 863
864extern int drmDevicesEqual(drmDevicePtr a, drmDevicePtr b);
865
866extern int drmSyncobjCreate(int fd, uint32_t flags, uint32_t *handle);
867extern int drmSyncobjDestroy(int fd, uint32_t handle);
868extern int drmSyncobjHandleToFD(int fd, uint32_t handle, int *obj_fd);
869extern int drmSyncobjFDToHandle(int fd, int obj_fd, uint32_t *handle);
870
871extern int drmSyncobjImportSyncFile(int fd, uint32_t handle, int sync_file_fd);
872extern int drmSyncobjExportSyncFile(int fd, uint32_t handle, int *sync_file_fd);
873extern int drmSyncobjWait(int fd, uint32_t *handles, unsigned num_handles,
874 int64_t timeout_nsec, unsigned flags,
875 uint32_t *first_signaled);
876extern int drmSyncobjReset(int fd, const uint32_t *handles, uint32_t handle_count);
877extern int drmSyncobjSignal(int fd, const uint32_t *handles, uint32_t handle_count);
878
847#if defined(__cplusplus) 879#if defined(__cplusplus)
848} 880}
849#endif 881#endif