diff options
Diffstat (limited to 'kms++')
| -rw-r--r-- | kms++/inc/kms++/framebuffer.h | 2 | ||||
| -rw-r--r-- | kms++/src/framebuffer.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
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; } |
