diff options
author | Kristian Høgsberg | 2009-11-12 13:06:45 -0600 |
---|---|---|
committer | Jesse Barnes | 2009-11-20 16:53:27 -0600 |
commit | b80bcffba6175c53ebe1f1bd02730de0338cc039 (patch) | |
tree | 243823e5ed4ee2779ec7bbce4c1a7ce77e9d80cc /libdrm/xf86drmMode.c | |
parent | 2577764a5069ca9276e90154915797bcf873adab (diff) | |
download | external-libdrm-b80bcffba6175c53ebe1f1bd02730de0338cc039.tar.gz external-libdrm-b80bcffba6175c53ebe1f1bd02730de0338cc039.tar.xz external-libdrm-b80bcffba6175c53ebe1f1bd02730de0338cc039.zip |
libdrm: add libdrm support for page flip ioctl
Diffstat (limited to 'libdrm/xf86drmMode.c')
-rw-r--r-- | libdrm/xf86drmMode.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/libdrm/xf86drmMode.c b/libdrm/xf86drmMode.c index 6d85113a..e9516851 100644 --- a/libdrm/xf86drmMode.c +++ b/libdrm/xf86drmMode.c | |||
@@ -700,7 +700,17 @@ int drmHandleEvent(int fd, drmEventContextPtr evctx) | |||
700 | vblank->tv_usec, | 700 | vblank->tv_usec, |
701 | U642VOID (vblank->user_data)); | 701 | U642VOID (vblank->user_data)); |
702 | break; | 702 | break; |
703 | 703 | case DRM_EVENT_FLIP_COMPLETE: | |
704 | if (evctx->version < 1 || | ||
705 | evctx->page_flip_handler == NULL) | ||
706 | break; | ||
707 | vblank = (struct drm_event_vblank *) e; | ||
708 | evctx->page_flip_handler(fd, | ||
709 | vblank->sequence, | ||
710 | vblank->tv_sec, | ||
711 | vblank->tv_usec, | ||
712 | U642VOID (vblank->user_data)); | ||
713 | break; | ||
704 | default: | 714 | default: |
705 | break; | 715 | break; |
706 | } | 716 | } |
@@ -710,3 +720,16 @@ int drmHandleEvent(int fd, drmEventContextPtr evctx) | |||
710 | return 0; | 720 | return 0; |
711 | } | 721 | } |
712 | 722 | ||
723 | int drmModePageFlip(int fd, uint32_t crtc_id, uint32_t fb_id, | ||
724 | uint32_t flags, void *user_data) | ||
725 | { | ||
726 | struct drm_mode_crtc_page_flip flip; | ||
727 | |||
728 | flip.fb_id = fb_id; | ||
729 | flip.crtc_id = crtc_id; | ||
730 | flip.user_data = VOID2U64(user_data); | ||
731 | flip.flags = flags; | ||
732 | flip.reserved = 0; | ||
733 | |||
734 | return drmIoctl(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip); | ||
735 | } | ||