From 9eb44254a75e9fba86613739eb8f3cd7a8f57a24 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Sat, 22 Mar 2025 20:14:33 +0200 Subject: [PATCH] compositor: Mark pnode accordingly when buffer type is direct As we exit early we never have the chance to mark it as is_direct when the buffer type is direct_display. This is required as is_direct is never checked in GL attach part we end up tripping on invalid renderer_private causing it to assert. Fixes 2db4f17244f, "compositor: re-order paint node placeholder checks" Signed-off-by: Marius Vlad (cherry picked from commit 9d841e39e87671d4b78a00bfa5be8c88fe0dec20) --- libweston/compositor.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libweston/compositor.c b/libweston/compositor.c index c10e0b738..84c25b6fe 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -237,6 +237,10 @@ maybe_replace_paint_node(struct weston_paint_node *pnode) pnode->draw_solid = true; pnode->is_fully_opaque = true; pnode->is_fully_blended = false; + + if (buffer->direct_display) + pnode->is_direct = true; + pnode->solid = (struct weston_solid_buffer_values) { 0.0, 0.0, 0.0, 0.0 };