diff options
author | Sean Paul <seanpaul@chromium.org> | 2015-05-13 06:33:23 -0700 |
---|---|---|
committer | Sean Paul <seanpaul@google.com> | 2015-06-04 16:48:18 +0000 |
commit | b386f1b1b3716c06831d82493e9ba5a156094701 (patch) | |
tree | ed88760cfd807df3bf25e90fbce1029813e788b8 /drmcompositorworker.h | |
parent | 117e169cb9b5b3f0d45ad8ab300fb42712bac6c5 (diff) | |
download | drm_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.h | 40 |
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 |