From b141ae7acc753481d050ebb16d20fc44000c55e7 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Mon, 31 Oct 2022 18:37:37 +0000 Subject: kmsxx: Also report format of framebuffer Signed-off-by: Dom Cobley --- kms++/inc/kms++/framebuffer.h | 2 ++ kms++/src/framebuffer.cpp | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'kms++') diff --git a/kms++/inc/kms++/framebuffer.h b/kms++/inc/kms++/framebuffer.h index 1bd477c..fc50b02 100644 --- a/kms++/inc/kms++/framebuffer.h +++ b/kms++/inc/kms++/framebuffer.h @@ -40,6 +40,7 @@ public: uint32_t width() const override { return m_width; } uint32_t height() const override { return m_height; } + PixelFormat format() const override { return m_format; } void flush(uint32_t x, uint32_t y, uint32_t width, uint32_t height); void flush(); @@ -50,6 +51,7 @@ protected: private: uint32_t m_width; uint32_t m_height; + PixelFormat m_format; }; } // namespace kms diff --git a/kms++/src/framebuffer.cpp b/kms++/src/framebuffer.cpp index 72e1a73..3a76b73 100644 --- a/kms++/src/framebuffer.cpp +++ b/kms++/src/framebuffer.cpp @@ -20,13 +20,14 @@ Framebuffer::Framebuffer(Card& card, uint32_t width, uint32_t height) Framebuffer::Framebuffer(Card& card, uint32_t id) : DrmObject(card, id, DRM_MODE_OBJECT_FB) { - auto fb = drmModeGetFB(card.fd(), id); + auto fb = drmModeGetFB2(card.fd(), id); if (fb) { m_width = fb->width; m_height = fb->height; + m_format = (PixelFormat)fb->pixel_format; - drmModeFreeFB(fb); + drmModeFreeFB2(fb); } else { m_width = m_height = 0; } -- cgit v1.2.3