summaryrefslogtreecommitdiff
path: root/drmdisplaycomposition.h
diff options
context:
space:
mode:
authorSean Paul <seanpaul@chromium.org>2015-06-24 18:43:01 -0700
committerSean Paul <seanpaul@chromium.org>2015-07-13 11:57:56 -0400
commitacb2a4494e79f0026f8615acc561257276a71062 (patch)
tree4a11dcad21d7b06b2ba12b19c541ac3c44bd5410 /drmdisplaycomposition.h
parent98e73c89a683a92f44c99fb8dc85e51bdda243ba (diff)
drm_hwcomposer: Add composition type to DrmComposition
This allows us to have different types of compositions. This will enable injection of non-frame related compositions such as dpms and mode. Change-Id: Ia62421c114c0c6bebccef3ce6ae936366b6aafe2 Signed-off-by: Sean Paul <seanpaul@chromium.org>
Diffstat (limited to 'drmdisplaycomposition.h')
-rw-r--r--drmdisplaycomposition.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drmdisplaycomposition.h b/drmdisplaycomposition.h
index cf03360..bc8cf2e 100644
--- a/drmdisplaycomposition.h
+++ b/drmdisplaycomposition.h
@@ -28,6 +28,11 @@
namespace android {
+enum DrmCompositionType {
+ DRM_COMPOSITION_TYPE_EMPTY,
+ DRM_COMPOSITION_TYPE_FRAME,
+};
+
typedef struct DrmCompositionLayer {
DrmCompositionLayer();
~DrmCompositionLayer();
@@ -46,6 +51,8 @@ class DrmDisplayComposition {
int Init(DrmResources *drm, Importer *importer);
+ DrmCompositionType type() const;
+
int AddLayer(hwc_layer_1_t *layer, hwc_drm_bo_t *bo, DrmCrtc *crtc,
DrmPlane *plane);
@@ -56,9 +63,13 @@ class DrmDisplayComposition {
private:
DrmDisplayComposition(const DrmDisplayComposition &) = delete;
+ bool validate_composition_type(DrmCompositionType desired);
+
DrmResources *drm_;
Importer *importer_;
+ DrmCompositionType type_;
+
int timeline_fd_;
int timeline_;