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 <marius.vlad@collabora.com>
(cherry picked from commit 9d841e39e8)
This commit is contained in:
Marius Vlad 2025-03-22 20:14:33 +02:00
parent 8eb0ff8a19
commit 9eb44254a7

View file

@ -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
};