drm_hwcomposer: reorder source layers according to zorder
PATCH 1/1 drm_hwcomposer: reorder source layers according to zorder
Precomp layers may be added to the back at different points which may cause elements to be unsorted. Make sure that these are sorted after provisioning planes to ensure right composition based on zorder.
--- drmdisplaycomposition.cpp | 3 +++ 1 file changed, 3 insertions(+)
drmdisplaycomposition.cpp +3 -0
@@ -379,6 +379,9 @@ int DrmDisplayComposition::Plan(SquashState *squash, if (!i.plane()) continue; + // make sure that source layers are ordered based on zorder + std::sort(i.source_layers().begin(), i.source_layers().end()); + std::vector<DrmPlane *> *container; if (i.plane()->type() == DRM_PLANE_TYPE_PRIMARY) container = primary_planes;
Signature · 6 lines
2.14.1.821.g8fa685d3b7-goog _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 5 lines · Adrian Salido
Precomp layers may be added to the back at different points which may cause elements to be unsorted. Make sure that these are sorted after provisioning planes to ensure right composition based on zorder.
Signed-off-by Adrian Salido <[email protected]>
Quoted 21 lines
--- drmdisplaycomposition.cpp | 3 +++ 1 file changed, 3 insertions(+)drmdisplaycomposition.cpp +3
-1@@ -379,6 +379,9 @@ int DrmDisplayComposition::Plan(SquashState *squash, if (!i.plane()) continue; + // make sure that source layers are ordered based on zorder + std::sort(i.source_layers().begin(), i.source_layers().end()); + std::vector<DrmPlane *> *container; if (i.plane()->type() == DRM_PLANE_TYPE_PRIMARY) container = primary_planes; --2.14.1.821.g8fa685d3b7-goog
Quoted 4 lines
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Sean Paul
AppliedQuoted 7 lines · Zach Reizner
Quoted 5 lines · Adrian Salido
Precomp layers may be added to the back at different points which may cause elements to be unsorted. Make sure that these are sorted after provisioning planes to ensure right composition based on zorder.
Signed-off-by Adrian Salido <[email protected]>Reviewed-by Zach Reizner <[email protected]>
Applied.
Sean
Quoted 29 lines
Quoted 21 lines
--- drmdisplaycomposition.cpp | 3 +++ 1 file changed, 3 insertions(+)drmdisplaycomposition.cpp +3
-1@@ -379,6 +379,9 @@ int DrmDisplayComposition::Plan(SquashState *squash, if (!i.plane()) continue; + // make sure that source layers are ordered based on zorder + std::sort(i.source_layers().begin(), i.source_layers().end()); + std::vector<DrmPlane *> *container; if (i.plane()->type() == DRM_PLANE_TYPE_PRIMARY) container = primary_planes; --2.14.1.821.g8fa685d3b7-goog
Quoted 4 lines
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Signature · 5 lines
Sean Paul, Software Engineer, Google / Chromium OS _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel