Use buffer age to perform partial rendering
This commit makes uses of buffer age extension and recent
alacritty_terminal damage tracking to perform partial redraws on
platforms supporting GLX_EXT_buffer_age and EGL_EXT_buffer_age.
The alacritty_terminal damage tracking was enhanced in a way that it
reports damage only up to occ, so partial redraws during scrolling
are possible.
Fixes #5843.
-- List of known issues
[ ] Search and hints are broken [ ] Message bar is broken [ ] Clearing isn't optimal [ ] debug.highlight_damage is broken [ ] Glutin patch isn't upstreamed yet [ ] Glyphs which draw outside of their boundaries are not properly updated [ ] Config reload should invalidate damage.
If folks on Wayland/X11 could test this it'll help a lot.
When testing look for a glitches and if you found them describe what triggers and now they look.
For now I'd say that there're some related to clearing in edge cases, since it's not yet optimized. But most things should work and the latency is decreased dramatically.
@perfbot