[client] overlay: restore every splash fade frame

Mark the active fade as requiring a fully restored render target.
This also covers guest-driven renders between animation ticks so they
cannot blend over stale splash content.
This commit is contained in:
Geoffrey McRae
2026-08-05 10:53:52 +10:00
parent 606a06535e
commit d815ef87d5
5 changed files with 40 additions and 6 deletions

View File

@@ -1030,6 +1030,27 @@ bool app_overlayNeedsRender(void)
return result;
}
bool app_overlayNeedsFullRender(void)
{
bool result = false;
struct Overlay * overlay;
ll_lock(g_state.overlays);
ll_forEachNL(g_state.overlays, item, overlay)
{
if (!overlay->ops->needs_full_render)
continue;
if (overlay->ops->needs_full_render(overlay->udata))
{
result = true;
break;
}
}
ll_unlock(g_state.overlays);
return result;
}
int app_renderOverlay(struct Rect * rects, int maxRects)
{
int totalRects = 0;