diff --git a/tests/db.cpp b/tests/db.cpp
index 576896ef792ced4137e8c75fe6fea185cb48aa7b..bfefcb8468797fcc5416a606ad3a73685149822e 100644 (file)
--- a/tests/db.cpp
+++ b/tests/db.cpp
r = ctx.commit(this);
ASSERT(r == 0);
} else {
- int r = drmModePageFlip(card.fd(), m_crtc->id(), fb->id(), DRM_MODE_PAGE_FLIP_EVENT, this);
+ int r = crtc->page_flip(*fb, this);
ASSERT(r == 0);
}
}
- Crtc* crtc() const { return m_crtc; }
-
private:
Connector* m_connector;
Crtc* m_crtc;
vector<OutputFlipHandler*> outputs;
- for (auto conn : card.get_connectors())
+ for (auto pipe : card.get_connected_pipelines())
{
- if (conn->connected() == false)
- continue;
+ auto conn = pipe.connector;
+ auto crtc = pipe.crtc;
auto mode = conn->get_default_mode();
- Crtc* crtc = conn->get_current_crtc();
- if (!crtc) {
- for (auto c : conn->get_possible_crtcs()) {
- if (find_if(outputs.begin(), outputs.end(), [c](OutputFlipHandler* o) { return o->crtc() == c; }) == outputs.end()) {
- crtc = c;
- break;
- }
- }
- }
-
- if (!crtc) {
- printf("failed to find crtc\n");
- return -1;
- }
-
auto fb1 = new Framebuffer(card, mode.hdisplay, mode.vdisplay, "XR24");
auto fb2 = new Framebuffer(card, mode.hdisplay, mode.vdisplay, "XR24");