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 <salidoa@xxxxxxxxxx> --- drmdisplaycomposition.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drmdisplaycomposition.cpp b/drmdisplaycomposition.cpp index 293160bfd012..0f8084b39706 100644 --- a/drmdisplaycomposition.cpp +++ b/drmdisplaycomposition.cpp @@ -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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel