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: | |||
26 | uint32_t size(unsigned plane) const { return m_planes[plane].size; } | 26 | uint32_t size(unsigned plane) const { return m_planes[plane].size; } |
27 | uint32_t offset(unsigned plane) const { return m_planes[plane].offset; } | 27 | uint32_t offset(unsigned plane) const { return m_planes[plane].offset; } |
28 | uint8_t* map(unsigned plane); | 28 | uint8_t* map(unsigned plane); |
29 | int prime_fd(unsigned plane); | ||
29 | 30 | ||
30 | private: | 31 | private: |
31 | struct FramebufferPlane { | 32 | 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) | |||
102 | return p.map; | 102 | return p.map; |
103 | } | 103 | } |
104 | 104 | ||
105 | int ExtFramebuffer::prime_fd(unsigned plane) | ||
106 | { | ||
107 | FramebufferPlane& p = m_planes[plane]; | ||
108 | |||
109 | if (!p.prime_fd) | ||
110 | throw invalid_argument("no primefb for non-dmabuf fb"); | ||
111 | |||
112 | return p.prime_fd; | ||
113 | } | ||
114 | |||
105 | } | 115 | } |