summaryrefslogtreecommitdiff
path: root/kms++/inc
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2017-10-03 12:32:52 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2017-10-03 12:33:11 +0300
commitfab9bb700372008130e5026fa9fe5fd22ac6ec4e (patch)
tree1e83b437762697ab833bd8c22896b8733593ca5f /kms++/inc
parent33f343d18d5d1886dd04314bded1781c3e46f7e7 (diff)
Rework framebuffer classes
Drop (I)MappedFramebuffer, as it doesn't really provide any value, and have most of the methods be present in IFramebuffer with default exception throwing implementation. This gives us simpler way to use the framebuffers, as almost always we can just use a pointer to IFramebuffer.
Diffstat (limited to 'kms++/inc')
-rw-r--r--kms++/inc/kms++/dumbframebuffer.h4
-rw-r--r--kms++/inc/kms++/extframebuffer.h4
-rw-r--r--kms++/inc/kms++/framebuffer.h35
-rw-r--r--kms++/inc/kms++/kms++.h1
-rw-r--r--kms++/inc/kms++/mappedframebuffer.h23
-rw-r--r--kms++/inc/kms++/omap/omapframebuffer.h4
6 files changed, 24 insertions, 47 deletions
diff --git a/kms++/inc/kms++/dumbframebuffer.h b/kms++/inc/kms++/dumbframebuffer.h
index 15d25d1..fb99d0e 100644
--- a/kms++/inc/kms++/dumbframebuffer.h
+++ b/kms++/inc/kms++/dumbframebuffer.h
@@ -1,12 +1,12 @@
#pragma once
-#include "mappedframebuffer.h"
+#include "framebuffer.h"
#include "pixelformats.h"
namespace kms
{
-class DumbFramebuffer : public MappedFramebuffer
+class DumbFramebuffer : public Framebuffer
{
public:
DumbFramebuffer(Card& card, uint32_t width, uint32_t height, const std::string& fourcc);
diff --git a/kms++/inc/kms++/extframebuffer.h b/kms++/inc/kms++/extframebuffer.h
index 1ec614f..5f0660c 100644
--- a/kms++/inc/kms++/extframebuffer.h
+++ b/kms++/inc/kms++/extframebuffer.h
@@ -1,12 +1,12 @@
#pragma once
-#include "mappedframebuffer.h"
+#include "framebuffer.h"
#include "pixelformats.h"
namespace kms
{
-class ExtFramebuffer : public MappedFramebuffer
+class ExtFramebuffer : public Framebuffer
{
public:
ExtFramebuffer(Card& card, uint32_t width, uint32_t height, PixelFormat format,
diff --git a/kms++/inc/kms++/framebuffer.h b/kms++/inc/kms++/framebuffer.h
index faf2e71..3d43d08 100644
--- a/kms++/inc/kms++/framebuffer.h
+++ b/kms++/inc/kms++/framebuffer.h
@@ -5,7 +5,24 @@
namespace kms
{
-class Framebuffer : public DrmObject
+class IFramebuffer {
+public:
+ virtual ~IFramebuffer() { }
+
+ virtual uint32_t width() const = 0;
+ virtual uint32_t height() const = 0;
+
+ virtual PixelFormat format() const { throw std::runtime_error("not implemented"); }
+ virtual unsigned num_planes() const { throw std::runtime_error("not implemented"); }
+
+ virtual uint32_t stride(unsigned plane) const { throw std::runtime_error("not implemented"); }
+ virtual uint32_t size(unsigned plane) const { throw std::runtime_error("not implemented"); }
+ virtual uint32_t offset(unsigned plane) const { throw std::runtime_error("not implemented"); }
+ virtual uint8_t* map(unsigned plane) { throw std::runtime_error("not implemented"); }
+ virtual int prime_fd(unsigned plane) { throw std::runtime_error("not implemented"); }
+};
+
+class Framebuffer : public DrmObject, public IFramebuffer
{
public:
Framebuffer(Card& card, uint32_t id);
@@ -23,20 +40,4 @@ private:
uint32_t m_height;
};
-class IMappedFramebuffer {
-public:
- virtual ~IMappedFramebuffer() { }
-
- virtual uint32_t width() const = 0;
- virtual uint32_t height() const = 0;
-
- virtual PixelFormat format() const = 0;
- virtual unsigned num_planes() const = 0;
-
- virtual uint32_t stride(unsigned plane) const = 0;
- virtual uint32_t size(unsigned plane) const = 0;
- virtual uint32_t offset(unsigned plane) const = 0;
- virtual uint8_t* map(unsigned plane) = 0;
-};
-
}
diff --git a/kms++/inc/kms++/kms++.h b/kms++/inc/kms++/kms++.h
index 6fc6977..3365ef7 100644
--- a/kms++/inc/kms++/kms++.h
+++ b/kms++/inc/kms++/kms++.h
@@ -8,7 +8,6 @@
#include "framebuffer.h"
#include "dumbframebuffer.h"
#include "extframebuffer.h"
-#include "mappedframebuffer.h"
#include "plane.h"
#include "property.h"
#include "blob.h"
diff --git a/kms++/inc/kms++/mappedframebuffer.h b/kms++/inc/kms++/mappedframebuffer.h
deleted file mode 100644
index 2905136..0000000
--- a/kms++/inc/kms++/mappedframebuffer.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#pragma once
-
-#include "framebuffer.h"
-
-namespace kms
-{
-
-class MappedFramebuffer : public Framebuffer, public IMappedFramebuffer
-{
-public:
- virtual ~MappedFramebuffer() { }
-
-protected:
- MappedFramebuffer(Card& card, uint32_t id);
- MappedFramebuffer(Card& card, uint32_t width, uint32_t height);
-
-public:
- virtual uint32_t width() const = 0;
- virtual uint32_t height() const = 0;
-
-};
-
-}
diff --git a/kms++/inc/kms++/omap/omapframebuffer.h b/kms++/inc/kms++/omap/omapframebuffer.h
index d1152b5..70bf946 100644
--- a/kms++/inc/kms++/omap/omapframebuffer.h
+++ b/kms++/inc/kms++/omap/omapframebuffer.h
@@ -1,6 +1,6 @@
#pragma once
-#include <kms++/mappedframebuffer.h>
+#include <kms++/framebuffer.h>
#include <kms++/pixelformats.h>
struct omap_bo;
@@ -9,7 +9,7 @@ namespace kms
{
class OmapCard;
-class OmapFramebuffer : public MappedFramebuffer
+class OmapFramebuffer : public Framebuffer
{
public:
enum Flags