diff options
-rw-r--r-- | kms++/inc/kms++/extframebuffer.h | 1 | ||||
-rw-r--r-- | kms++/src/extframebuffer.cpp | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/kms++/inc/kms++/extframebuffer.h b/kms++/inc/kms++/extframebuffer.h index cee82d3..1ec614f 100644 --- a/kms++/inc/kms++/extframebuffer.h +++ b/kms++/inc/kms++/extframebuffer.h @@ -26,6 +26,7 @@ public: uint32_t size(unsigned plane) const { return m_planes[plane].size; } uint32_t offset(unsigned plane) const { return m_planes[plane].offset; } uint8_t* map(unsigned plane); + int prime_fd(unsigned plane); private: struct FramebufferPlane { diff --git a/kms++/src/extframebuffer.cpp b/kms++/src/extframebuffer.cpp index 51f3611..f50c36e 100644 --- a/kms++/src/extframebuffer.cpp +++ b/kms++/src/extframebuffer.cpp @@ -102,4 +102,14 @@ uint8_t* ExtFramebuffer::map(unsigned plane) return p.map; } +int ExtFramebuffer::prime_fd(unsigned plane) +{ + FramebufferPlane& p = m_planes[plane]; + + if (!p.prime_fd) + throw invalid_argument("no primefb for non-dmabuf fb"); + + return p.prime_fd; +} + } |