diff options
author | Zach Reizner <zachr@google.com> | 2015-08-07 16:00:01 -0700 |
---|---|---|
committer | Zach Reizner <zachr@google.com> | 2015-08-07 17:59:35 -0700 |
commit | b44fd10aef978ff4f77258803f86d76244349333 (patch) | |
tree | b5b35b364e48924200f3c795611920c6ffdd0f8b /drmdisplaycomposition.h | |
parent | 46ddd45e334b61e15a86cc333cc35e8cb64fc0b8 (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.h | 4 |
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_; |