From 9700ec3bc46fa9b03ba41c4b3a36a2255baed7d3 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Wed, 15 Oct 2025 13:32:57 -0500 Subject: [PATCH] gl-renderer: Fix clear optimization This should be checking for a valid transform so it doesn't use corners of an axis aligned bounding box for free-form transformed views. It should still check surf_xform for color management, but it should only do that when surf_xform_valid is true. Signed-off-by: Derek Foreman --- libweston/renderer-gl/gl-renderer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c index b3c117884..655d24aa6 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c @@ -2076,7 +2076,8 @@ draw_paint_node(struct weston_paint_node *pnode, } if (!gr->debug_mode && pnode->draw_solid && pnode->is_fully_opaque && - pnode->view->alpha == 1.0f && !pnode->surf_xform.transform) { + pnode->view->alpha == 1.0f && pnode->valid_transform && + (pnode->surf_xform_valid && !pnode->surf_xform.transform)) { clear_region(gr, pnode, &repaint); gs->used_in_output_repaint = true; goto out;