mesa/src/egl
Derek Foreman 28d12716e8 egl/wayland: Properly clear stale buffers on resize
The following chain of events results in an incorrectly sized buffer
persisting beyond its useful lifetime, and causing visual artifacts.

buffer is attached at size A
window is resized to size B
rendering takes place for size B
window is resized back to size A
swapbuffers with damage is called

In this scenario, update_buffers fails to recognize that the surface it's
about to commit is a different size than it has rendered. The
attached_width and attached_height are set incorrectly, and periodic
flickering is observed.

Instead, we set a boolean flag at time of resize and use this at the time
we latch the window dimensions as surface dimensions to decide whether to
discard stale buffers.

Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13270>
2021-10-16 19:13:58 +00:00
..
drivers egl/wayland: Properly clear stale buffers on resize 2021-10-16 19:13:58 +00:00
generate Remove the shebang from eglFunctionList.py. 2021-10-13 05:34:27 +00:00
main egl: set TSD as NULL after deinit 2021-10-15 06:22:13 +00:00
wayland egl/wayland: add a NULL guard for the authenticate callback 2020-12-16 13:48:48 +00:00
egl-entrypoint-check.py python: explicitly require python3 2021-08-14 21:44:31 +00:00
egl-glvnd-symbols.txt egl: add glvnd symbols check 2019-07-10 11:27:51 +00:00
egl-symbols.txt egl: use new symbols check script 2019-07-10 11:27:51 +00:00
meson.build egl: Use the .def file for Windows 2021-09-15 20:17:31 +00:00