aboutsummaryrefslogtreecommitdiff
path: root/drmcompositorworker.h
diff options
context:
space:
mode:
authorSean Paul <seanpaul@chromium.org>2015-05-13 06:33:23 -0700
committerSean Paul <seanpaul@google.com>2015-06-04 16:48:18 +0000
commitb386f1b1b3716c06831d82493e9ba5a156094701 (patch)
treeed88760cfd807df3bf25e90fbce1029813e788b8 /drmcompositorworker.h
parent117e169cb9b5b3f0d45ad8ab300fb42712bac6c5 (diff)
downloaddrm_hwcomposer-b386f1b1b3716c06831d82493e9ba5a156094701.tar.gz
drm_hwcomposer: Use hw planes + drm atomic interface
Replace the basic, single overlay, modeset/flip implementation with a new Compositor instantiation for drm. The new compositor uses the drm atomic interface to composite layers to multiple hardware planes. This change also introduces an importer argument in Compositor::CreateComposition. By specifying the importer, Compositor instances are responsible for cleaning up buffer objects submitted via Composition::AddLayer. Change-Id: Ic292829cd93475d754294b00428de132301092b2 Signed-off-by: Sean Paul <seanpaul@chromium.org>
Diffstat (limited to 'drmcompositorworker.h')
-rw-r--r--drmcompositorworker.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/drmcompositorworker.h b/drmcompositorworker.h
new file mode 100644
index 0000000..8b485bf
--- /dev/null
+++ b/drmcompositorworker.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_DRM_COMPOSITOR_WORKER_H_
+#define ANDROID_DRM_COMPOSITOR_WORKER_H_
+
+#include "worker.h"
+
+namespace android {
+
+class DrmCompositor;
+
+class DrmCompositorWorker : public Worker {
+ public:
+ DrmCompositorWorker(DrmCompositor *compositor);
+ ~DrmCompositorWorker();
+
+ int Init();
+
+ protected:
+ virtual void Routine();
+
+ DrmCompositor *compositor_;
+};
+}
+
+#endif