summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm2/ecore_drm2_fb.c
diff options
context:
space:
mode:
authorChristopher Michael <cp.michael@samsung.com>2019-01-02 11:05:07 -0500
committerDerek Foreman <derek.foreman.samsung@gmail.com>2019-01-17 09:37:33 -0600
commit8079d6d38a455dc548482353ff739cac82fdfc23 (patch)
tree8b010a20fa147a3a43ceaec34b44e09ae2a671e1 /src/lib/ecore_drm2/ecore_drm2_fb.c
parent1b7129cea0d90f76a21bd6b4e40d1528141e087f (diff)
ecore-drm2: Pass output as data to drmModePageFlip and drmModeAtomicCommit
In order to support per-output ticking, the drmModePageFlip and drmModeAtomicCommit functions need to pass the actual Output as data to the pageflip callback so that the pageflip callback function can pass the proper rectangle to ecore_evas_animator_tick Differential Revision: https://phab.enlightenment.org/D7678
Diffstat (limited to '')
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_fb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c
index 4e26fd765a..33c0e27570 100644
--- a/src/lib/ecore_drm2/ecore_drm2_fb.c
+++ b/src/lib/ecore_drm2/ecore_drm2_fb.c
@@ -411,7 +411,7 @@ _fb_atomic_flip_test(Ecore_Drm2_Output *output)
411 } 411 }
412 412
413 ret = 413 ret =
414 sym_drmModeAtomicCommit(output->fd, req, flags, NULL); 414 sym_drmModeAtomicCommit(output->fd, req, flags, output);
415 if (ret < 0) goto err; 415 if (ret < 0) goto err;
416 416
417 /* clear any previous request */ 417 /* clear any previous request */
@@ -447,7 +447,7 @@ _fb_atomic_flip(Ecore_Drm2_Output *output)
447 447
448 res = 448 res =
449 sym_drmModeAtomicCommit(output->fd, output->prep.atomic_req, flags, 449 sym_drmModeAtomicCommit(output->fd, output->prep.atomic_req, flags,
450 output->user_data); 450 output);
451 if (res < 0) 451 if (res < 0)
452 { 452 {
453 ERR("Failed Atomic Commit: %m"); 453 ERR("Failed Atomic Commit: %m");
@@ -499,7 +499,7 @@ _fb_flip(Ecore_Drm2_Output *output)
499 static Eina_Bool bugged_about_bug = EINA_FALSE; 499 static Eina_Bool bugged_about_bug = EINA_FALSE;
500 repeat = EINA_FALSE; 500 repeat = EINA_FALSE;
501 ret = sym_drmModePageFlip(fb->fd, output->crtc_id, fb->id, 501 ret = sym_drmModePageFlip(fb->fd, output->crtc_id, fb->id,
502 DRM_MODE_PAGE_FLIP_EVENT, output->user_data); 502 DRM_MODE_PAGE_FLIP_EVENT, output);
503 /* Some drivers (RPI - looking at you) are broken and produce 503 /* Some drivers (RPI - looking at you) are broken and produce
504 * flip events before they are ready for another flip, so be 504 * flip events before they are ready for another flip, so be
505 * a little robust in the face of badness and try a few times 505 * a little robust in the face of badness and try a few times