summaryrefslogtreecommitdiff
path: root/kms++/src
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2017-02-07 13:58:52 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2017-02-10 10:42:53 +0200
commit03a6821950bc85d5ae36dbd5fcc8d22b7e0c1d72 (patch)
tree066b3eb94f49b2bac3287801f90441abf2dca1a8 /kms++/src
parent3fb72a77fa1d2fc5c685109eb7bd4b791a863d4f (diff)
PlaneType to bitmask
Diffstat (limited to 'kms++/src')
-rw-r--r--kms++/src/plane.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/kms++/src/plane.cpp b/kms++/src/plane.cpp
index 10aaeda..e19910b 100644
--- a/kms++/src/plane.cpp
+++ b/kms++/src/plane.cpp
@@ -50,10 +50,20 @@ bool Plane::supports_format(PixelFormat fmt) const
PlaneType Plane::plane_type() const
{
- if (card().has_has_universal_planes())
- return (PlaneType)get_prop_value("type");
- else
+ if (card().has_has_universal_planes()) {
+ switch (get_prop_value("type")) {
+ case DRM_PLANE_TYPE_OVERLAY:
+ return PlaneType::Overlay;
+ case DRM_PLANE_TYPE_PRIMARY:
+ return PlaneType::Primary;
+ case DRM_PLANE_TYPE_CURSOR:
+ return PlaneType::Cursor;
+ default:
+ throw invalid_argument("Bad plane type");
+ }
+ } else {
return PlaneType::Overlay;
+ }
}
vector<PixelFormat> Plane::get_formats() const