diff options
Diffstat (limited to 'kms++')
| -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; +} +  } | 
