summaryrefslogtreecommitdiff
path: root/drmdisplaycomposition.h
diff options
context:
space:
mode:
authorZach Reizner <zachr@google.com>2015-08-07 16:00:01 -0700
committerZach Reizner <zachr@google.com>2015-08-07 17:59:35 -0700
commitb44fd10aef978ff4f77258803f86d76244349333 (patch)
treeb5b35b364e48924200f3c795611920c6ffdd0f8b /drmdisplaycomposition.h
parent46ddd45e334b61e15a86cc333cc35e8cb64fc0b8 (diff)
drm_hwcomposer: duplicate buffer_handles before hwc_set returns
This is needed because SF will sometimes release buffer_handles before GL gets to using them for composition. Change-Id: I01db0975cc82d6b59bf4f9521a24071baf89c38a
Diffstat (limited to 'drmdisplaycomposition.h')
-rw-r--r--drmdisplaycomposition.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drmdisplaycomposition.h b/drmdisplaycomposition.h
index 7202c7c..76da993 100644
--- a/drmdisplaycomposition.h
+++ b/drmdisplaycomposition.h
@@ -23,6 +23,7 @@
#include <vector>
+#include <hardware/gralloc.h>
#include <hardware/hardware.h>
#include <hardware/hwcomposer.h>
@@ -42,6 +43,7 @@ typedef struct DrmCompositionLayer {
hwc_drm_bo_t bo;
DrmCrtc *crtc;
DrmPlane *plane;
+ native_handle_t *handle;
} DrmCompositionLayer_t;
typedef std::vector<DrmCompositionLayer_t> DrmCompositionLayerVector_t;
@@ -62,6 +64,7 @@ class DrmDisplayComposition {
int AddPlaneDisable(DrmPlane *plane);
int AddDpmsMode(uint32_t dpms_mode);
+ void RemoveNoPlaneLayers();
int FinishComposition();
DrmCompositionLayerVector_t *GetCompositionLayers();
@@ -76,6 +79,7 @@ class DrmDisplayComposition {
DrmResources *drm_;
Importer *importer_;
+ const gralloc_module_t *gralloc_;
DrmCompositionType type_;