[client] egl: stop aliasing damage tracking layouts

Pass damage rectangle arrays and counts explicitly to the EGL mesh
updater instead of casting DesktopDamage to DamageRects.
This commit is contained in:
Geoffrey McRae
2026-08-04 10:54:45 +10:00
parent 2aaf923e48
commit ad53a5e4ee
5 changed files with 28 additions and 23 deletions

View File

@@ -508,7 +508,9 @@ bool egl_desktopRender(EGL_Desktop * desktop, unsigned int outputWidth,
egl_desktopRectsMatrix(desktop->matrix,
width, height, x, y, scaleX, scaleY, rotate);
egl_desktopRectsUpdate(desktop->mesh, rects, width, height);
egl_desktopRectsUpdate(desktop->mesh,
rects ? rects->rects : NULL, rects ? rects->count : -1,
width, height);
const bool hdr = desktop->hdr && !desktop->useSpice;
uint32_t hdrPeak = 0;
@@ -539,7 +541,7 @@ bool egl_desktopRender(EGL_Desktop * desktop, unsigned int outputWidth,
{
/* The filter output may have changed everywhere, but this only applies
* to the render that actually evaluated the filter. */
egl_desktopRectsUpdate(desktop->mesh, NULL, width, height);
egl_desktopRectsUpdate(desktop->mesh, NULL, -1, width, height);
*fullFrame = true;
}
}