summaryrefslogtreecommitdiff
path: root/kms++
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2017-05-30 13:57:53 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2017-05-30 14:22:00 +0300
commit21bc24b7aee138bd1f43a11eb8b86e96039fdacf (patch)
treeeafb0f1615b751b20dd0bc8e378fb9a7e3a1b39f /kms++
parent2d86678f0a78abf67cdef6be375f7d787c4f017d (diff)
omapfb: add flags for memory alloc
Diffstat (limited to 'kms++')
-rw-r--r--kms++/inc/kms++/omap/omapframebuffer.h3
-rw-r--r--kms++/src/omap/omapframebuffer.cpp9
2 files changed, 12 insertions, 0 deletions
diff --git a/kms++/inc/kms++/omap/omapframebuffer.h b/kms++/inc/kms++/omap/omapframebuffer.h
index 02ac79f..d1152b5 100644
--- a/kms++/inc/kms++/omap/omapframebuffer.h
+++ b/kms++/inc/kms++/omap/omapframebuffer.h
@@ -16,6 +16,9 @@ public:
{
None = 0,
Tiled = 1 << 0,
+ MemContig = 1 << 1,
+ MemTiler = 1 << 2,
+ MemPin = 1 << 3,
};
OmapFramebuffer(OmapCard& card, uint32_t width, uint32_t height, const std::string& fourcc, Flags flags = Flags::None);
diff --git a/kms++/src/omap/omapframebuffer.cpp b/kms++/src/omap/omapframebuffer.cpp
index 4aa1cdb..b27ca22 100644
--- a/kms++/src/omap/omapframebuffer.cpp
+++ b/kms++/src/omap/omapframebuffer.cpp
@@ -54,6 +54,15 @@ void OmapFramebuffer::Create(Flags buffer_flags)
uint32_t flags = OMAP_BO_SCANOUT | OMAP_BO_WC;
+#if defined(OMAP_BO_MEM_CONTIG)
+ if (buffer_flags & Flags::MemContig)
+ flags |= OMAP_BO_MEM_CONTIG;
+ if (buffer_flags & Flags::MemTiler)
+ flags |= OMAP_BO_MEM_TILER;
+ if (buffer_flags & Flags::MemPin)
+ flags |= OMAP_BO_MEM_PIN;
+#endif
+
struct omap_bo* bo;
uint32_t stride;