From 365091ec413d8814b38d183adb7f0d0ee1109cbe Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Mon, 20 Jun 2016 08:46:32 +0300 Subject: Add Framebuffer::flush() --- kms++/inc/kms++/framebuffer.h | 2 ++ kms++/src/framebuffer.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/kms++/inc/kms++/framebuffer.h b/kms++/inc/kms++/framebuffer.h index cbf705d..faf2e71 100644 --- a/kms++/inc/kms++/framebuffer.h +++ b/kms++/inc/kms++/framebuffer.h @@ -13,6 +13,8 @@ public: uint32_t width() const { return m_width; } uint32_t height() const { return m_height; } + + void flush(); protected: Framebuffer(Card& card, uint32_t width, uint32_t height); diff --git a/kms++/src/framebuffer.cpp b/kms++/src/framebuffer.cpp index a7f589c..1ce8f2a 100644 --- a/kms++/src/framebuffer.cpp +++ b/kms++/src/framebuffer.cpp @@ -31,6 +31,16 @@ Framebuffer::Framebuffer(Card& card, uint32_t id) card.m_framebuffers.push_back(this); } +void Framebuffer::flush() +{ + drmModeClip clip { }; + clip.x1 = clip.y1 = 0; + clip.x2 = width(); + clip.y2 = height(); + + drmModeDirtyFB(card().fd(), id(), &clip, 1); +} + Framebuffer::~Framebuffer() { auto& fbs = card().m_framebuffers; -- cgit v1.2.3