mesa/src/egl
Pierre-Eric Pelloux-Prayer 6cd32859d0 egl/drm: flush before calling get_back_bo
Similar to what was done for Wayland in 58f90fd03f:
the glthread unmarhsal thread needs to be idle to avoid
concurrent calls to get_back_bo.

Also the existing code flushed after setting dri2_surf->back
to NULL so a new back buffer was always allocated by the
glthread flush:

|---------------> dri2_drm_swap_buffers
| get_back_bo (back=0x55eb93c6c488) >       # First get_back_bo call
| get_back_bo (back=0x55eb93c6c488 age: 0)<
|                                           # dri2_surf->back = NULL
|-----> FLUSH
| get_back_bo (back=nil) >                  # Another get_back_bo call
| get_back_bo (back=0x55eb93c6c4c8 age: 3)<
|-----< FLUSH
|---------------< dri2_drm_swap_buffers

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10437
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27143>
(cherry picked from commit 6f47e87a60)
2024-02-02 16:50:10 +00:00
..
drivers egl/drm: flush before calling get_back_bo 2024-02-02 16:50:10 +00:00
generate egl: Export the MESA GL Interop functions through eglGetProcAddress 2023-08-19 01:08:30 +00:00
main egl/glx: fallback to software when Zink is forced and fails 2023-12-20 00:05:03 +00:00
wayland meson: work around meson 0.62 issue 2023-12-04 21:36:35 +00:00
.clang-format clang-format: Disable formatting by default 2023-08-13 16:48:49 +02:00
egl-entrypoint-check.py egl: Export the MESA GL Interop functions through eglGetProcAddress 2023-08-19 01:08:30 +00:00
egl-glvnd-symbols.txt
egl-symbols.txt egl/dri2: Implement the new flush method 2022-11-02 18:11:41 +00:00
meson.build meson: support installation tags 2023-09-11 13:00:45 +00:00