summaryrefslogtreecommitdiff
path: root/drmdisplaycompositor.h
diff options
context:
space:
mode:
authorZach Reizner <zachr@google.com>2015-07-31 15:12:44 -0700
committerZach Reizner <zachr@google.com>2015-08-07 15:49:33 -0700
commit713a6788528d4cc4cd477b2f546c8b922beb6dde (patch)
tree6bd39b93a08a71ce7cf5f392c4254e68671ad78e /drmdisplaycompositor.h
parentcbe9c01336e23a63259db65d22d63d6a697b8813 (diff)
Revert "Revert "drm_hwcomposer: have DrmDisplayCompositor do its own OpenGL composition""
This reverts commit cbe9c01336e23a63259db65d22d63d6a697b8813.
Diffstat (limited to 'drmdisplaycompositor.h')
-rw-r--r--drmdisplaycompositor.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drmdisplaycompositor.h b/drmdisplaycompositor.h
index 9f50664..46d71ae 100644
--- a/drmdisplaycompositor.h
+++ b/drmdisplaycompositor.h
@@ -20,6 +20,7 @@
#include "drm_hwcomposer.h"
#include "drmcomposition.h"
#include "drmcompositorworker.h"
+#include "drmframebuffer.h"
#include <pthread.h>
#include <queue>
@@ -28,8 +29,12 @@
#include <hardware/hardware.h>
#include <hardware/hwcomposer.h>
+#define DRM_DISPLAY_BUFFERS 2
+
namespace android {
+class GLWorkerCompositor;
+
class DrmDisplayCompositor {
public:
DrmDisplayCompositor();
@@ -46,6 +51,7 @@ class DrmDisplayCompositor {
private:
DrmDisplayCompositor(const DrmDisplayCompositor &) = delete;
+ int ApplyPreComposite(DrmDisplayComposition *display_comp);
int ApplyFrame(DrmDisplayComposition *display_comp);
int ApplyDpms(DrmDisplayComposition *display_comp);
@@ -62,6 +68,10 @@ class DrmDisplayCompositor {
bool initialized_;
bool active_;
+ int framebuffer_index_;
+ DrmFramebuffer framebuffers_[DRM_DISPLAY_BUFFERS];
+ std::unique_ptr<GLWorkerCompositor> pre_compositor_;
+
// mutable since we need to acquire in HaveQueuedComposites
mutable pthread_mutex_t lock_;