Add drmModePageFlipTarget
authorMichel Dänzer <michel.daenzer@amd.com>
Wed, 29 Jun 2016 09:07:25 +0000 (18:07 +0900)
committerMichel Dänzer <michel@daenzer.net>
Wed, 19 Oct 2016 09:31:37 +0000 (18:31 +0900)
It supports the DRM_MODE_PAGE_FLIP_TARGET_* flags.

Acked-by: Daniel Vetter <daniel@ffwll.ch>
xf86drmMode.c
xf86drmMode.h

index 228c6e4..fb22f68 100644 (file)
@@ -948,6 +948,22 @@ int drmModePageFlip(int fd, uint32_t crtc_id, uint32_t fb_id,
        return DRM_IOCTL(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip);
 }
 
+int drmModePageFlipTarget(int fd, uint32_t crtc_id, uint32_t fb_id,
+                         uint32_t flags, void *user_data,
+                         uint32_t target_vblank)
+{
+       struct drm_mode_crtc_page_flip_target flip_target;
+
+       memclear(flip_target);
+       flip_target.fb_id = fb_id;
+       flip_target.crtc_id = crtc_id;
+       flip_target.user_data = VOID2U64(user_data);
+       flip_target.flags = flags;
+       flip_target.sequence = target_vblank;
+
+       return DRM_IOCTL(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip_target);
+}
+
 int drmModeSetPlane(int fd, uint32_t plane_id, uint32_t crtc_id,
                    uint32_t fb_id, uint32_t flags,
                    int32_t crtc_x, int32_t crtc_y,
index 1a02fed..b684967 100644 (file)
@@ -473,6 +473,9 @@ extern int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,
                               uint16_t *red, uint16_t *green, uint16_t *blue);
 extern int drmModePageFlip(int fd, uint32_t crtc_id, uint32_t fb_id,
                           uint32_t flags, void *user_data);
+extern int drmModePageFlipTarget(int fd, uint32_t crtc_id, uint32_t fb_id,
+                                uint32_t flags, void *user_data,
+                                uint32_t target_vblank);
 
 extern drmModePlaneResPtr drmModeGetPlaneResources(int fd);
 extern drmModePlanePtr drmModeGetPlane(int fd, uint32_t plane_id);