From 02c3df2efcd209afa1f55de2b652e501dfd7b865 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Mon, 28 Sep 2015 10:02:10 +0300 Subject: db: use atomic pageflip --- db/db.cpp | 6 ++---- libkms++/atomicreq.cpp | 3 +-- libkms++/atomicreq.h | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/db/db.cpp b/db/db.cpp index d119078..4ef6ff9 100644 --- a/db/db.cpp +++ b/db/db.cpp @@ -123,14 +123,12 @@ static void do_flip(Output* out) AtomicReq ctx(card); - // XXX - //ctx.add(plane, card.get_prop("CRTC_X"), 50); - //ctx.add(plane, card.get_prop("CRTC_Y"), 50); + ctx.add(crtc, card.get_prop("FB_ID"), fb->id()); r = ctx.test(); ASSERT(r == 0); - r = ctx.commit(); + r = ctx.commit(out); ASSERT(r == 0); } else { int r = drmModePageFlip(card.fd(), crtc->id(), fb->id(), DRM_MODE_PAGE_FLIP_EVENT, out); diff --git a/libkms++/atomicreq.cpp b/libkms++/atomicreq.cpp index 3346af9..236e501 100644 --- a/libkms++/atomicreq.cpp +++ b/libkms++/atomicreq.cpp @@ -54,10 +54,9 @@ int AtomicReq::test() return drmModeAtomicCommit(m_card.fd(), m_req, flags, 0); } -int AtomicReq::commit() +int AtomicReq::commit(void* data) { uint32_t flags = DRM_MODE_PAGE_FLIP_EVENT; - void* data = 0; return drmModeAtomicCommit(m_card.fd(), m_req, flags, data); } diff --git a/libkms++/atomicreq.h b/libkms++/atomicreq.h index 9a8a748..89797df 100644 --- a/libkms++/atomicreq.h +++ b/libkms++/atomicreq.h @@ -21,7 +21,7 @@ public: void add(DrmObject *ob, Property *prop, uint64_t value); int test(); - int commit(); + int commit(void* data); private: Card& m_card; -- cgit v1.2.3