diff options
Diffstat (limited to 'xf86drm.h')
-rw-r--r-- | xf86drm.h | 34 |
1 files changed, 33 insertions, 1 deletions
@@ -636,6 +636,12 @@ extern int drmCtlUninstHandler(int fd); | |||
636 | extern int drmSetClientCap(int fd, uint64_t capability, | 636 | extern int drmSetClientCap(int fd, uint64_t capability, |
637 | uint64_t value); | 637 | uint64_t value); |
638 | 638 | ||
639 | extern int drmCrtcGetSequence(int fd, uint32_t crtcId, | ||
640 | uint64_t *sequence, uint64_t *ns); | ||
641 | extern 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 */ |
640 | extern int drmMap(int fd, | 646 | extern 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); | |||
728 | extern int drmSetMaster(int fd); | 734 | extern int drmSetMaster(int fd); |
729 | extern int drmDropMaster(int fd); | 735 | extern int drmDropMaster(int fd); |
730 | 736 | ||
731 | #define DRM_EVENT_CONTEXT_VERSION 2 | 737 | #define DRM_EVENT_CONTEXT_VERSION 4 |
732 | 738 | ||
733 | typedef struct _drmEventContext { | 739 | typedef 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 | ||
753 | extern int drmHandleEvent(int fd, drmEventContextPtr evctx); | 770 | extern int drmHandleEvent(int fd, drmEventContextPtr evctx); |
@@ -844,6 +861,21 @@ extern void drmFreeDevices(drmDevicePtr devices[], int count); | |||
844 | extern int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device); | 861 | extern int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device); |
845 | extern int drmGetDevices2(uint32_t flags, drmDevicePtr devices[], int max_devices); | 862 | extern int drmGetDevices2(uint32_t flags, drmDevicePtr devices[], int max_devices); |
846 | 863 | ||
864 | extern int drmDevicesEqual(drmDevicePtr a, drmDevicePtr b); | ||
865 | |||
866 | extern int drmSyncobjCreate(int fd, uint32_t flags, uint32_t *handle); | ||
867 | extern int drmSyncobjDestroy(int fd, uint32_t handle); | ||
868 | extern int drmSyncobjHandleToFD(int fd, uint32_t handle, int *obj_fd); | ||
869 | extern int drmSyncobjFDToHandle(int fd, int obj_fd, uint32_t *handle); | ||
870 | |||
871 | extern int drmSyncobjImportSyncFile(int fd, uint32_t handle, int sync_file_fd); | ||
872 | extern int drmSyncobjExportSyncFile(int fd, uint32_t handle, int *sync_file_fd); | ||
873 | extern int drmSyncobjWait(int fd, uint32_t *handles, unsigned num_handles, | ||
874 | int64_t timeout_nsec, unsigned flags, | ||
875 | uint32_t *first_signaled); | ||
876 | extern int drmSyncobjReset(int fd, const uint32_t *handles, uint32_t handle_count); | ||
877 | extern 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 |