aboutsummaryrefslogtreecommitdiffstats
path: root/drm/DrmDisplayPipeline.h
diff options
context:
space:
mode:
authorRoman Stratiienko <roman.o.stratiienko@globallogic.com>2022-02-02 09:53:50 +0200
committerRoman Stratiienko <roman.o.stratiienko@globallogic.com>2022-02-04 11:19:40 +0200
commit9362cef4c34b9d23018d75be0cbb6ef0486bf75b (patch)
tree26e2c98e3a18d93ad165398f6d60377265b9ec5d /drm/DrmDisplayPipeline.h
parentd0c035b44a844af5017c0c3b2507af2f3907c36c (diff)
downloaddrm-hwcomposer-9362cef4c34b9d23018d75be0cbb6ef0486bf75b.tar.gz
drm-hwcomposer-9362cef4c34b9d23018d75be0cbb6ef0486bf75b.tar.bz2
drm-hwcomposer-9362cef4c34b9d23018d75be0cbb6ef0486bf75b.zip
drm_hwcomposer: Rework KMS composition planner + plane sharing support
Rewrite Layer-to-Plane planner. Get rid of ~200 redundant lines of code + added plane sharing functionality. Closes: https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/-/issues/11 Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
Diffstat (limited to 'drm/DrmDisplayPipeline.h')
-rw-r--r--drm/DrmDisplayPipeline.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drm/DrmDisplayPipeline.h b/drm/DrmDisplayPipeline.h
index a3e2dd9..f055c85 100644
--- a/drm/DrmDisplayPipeline.h
+++ b/drm/DrmDisplayPipeline.h
@@ -72,13 +72,15 @@ struct DrmDisplayPipeline {
static auto CreatePipeline(DrmConnector &connector)
-> std::unique_ptr<DrmDisplayPipeline>;
+ auto GetUsablePlanes()
+ -> std::vector<std::shared_ptr<BindingOwner<DrmPlane>>>;
+
DrmDevice *device;
std::shared_ptr<BindingOwner<DrmConnector>> connector;
std::shared_ptr<BindingOwner<DrmEncoder>> encoder;
std::shared_ptr<BindingOwner<DrmCrtc>> crtc;
std::shared_ptr<BindingOwner<DrmPlane>> primary_plane;
- std::vector<std::shared_ptr<BindingOwner<DrmPlane>>> overlay_planes;
std::unique_ptr<DrmDisplayCompositor> compositor;
};