mesa/src/egl
Daniel Stone 2ce020120a egl/wayland: Reset buffer age when destroying buffers
A buffer age of 0 means that the buffer is uninitialised or has unknown
content. We rely on the buffer age initially being 0 through zalloc when
the surface is first created; when they are first used for a swap, we
set their age to 1, and then we increment the age of every buffer in the
chain with a non-zero age when we swap.

Now that we can release buffers, both through dmabuf-feedback as well as
detecting when we're using a deeper swapchain than the compositor needs,
make sure to reset their age as they are released. Without doing this,
the age will stay as it was before it was released and be incremented,
returning the wrong age to the user the first time a previously-released
buffer slot has been reused.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5977
Fixes: 22d796feb8 ("egl/wayland: break double/tripple buffering feedback loops")
Fixes: b5848b2dac ("egl/wayland: use surface dma-buf feedback to allocate surface buffers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14873>
(cherry picked from commit 3da8300562)
2022-02-07 21:49:41 -08:00
..
drivers egl/wayland: Reset buffer age when destroying buffers 2022-02-07 21:49:41 -08:00
generate Remove the shebang from eglFunctionList.py. 2021-10-13 05:34:27 +00:00
main replace 0 with NULL for NULL pointers 2022-01-10 22:53:32 +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: add config debug printout 2021-12-11 00:25:04 +00:00