render: get rid of 'all-clean' detection

Instead of trying to figure out if we had to render
something (i.e. something in the grid was dirty), and using that to
determine whether to post a callback or not, we now let
render_refresh() set a flag indication we need to render another
frame.

This simplifies render_grid(), which now _always_ renders, and pushes
it to the compositor.

The callback handler checks the pending flag and simply doesn't call
render_grid() when there's no more pending state to render.

This ends up reducing the number of wakeups when e.g. having a
blinking cursor.
This commit is contained in:
Daniel Eklöf 2019-12-17 19:12:08 +01:00
parent 418ff5bcd9
commit c22ae98729
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 13 additions and 22 deletions

View file

@ -196,7 +196,8 @@ fdm_ptmx(struct fdm *fdm, int fd, int events, void *data)
NULL);
term->delayed_render_timer.is_armed = true;
}
}
} else
term->render.pending = true;
if (events & EPOLLHUP)
return term_shutdown(term);