mesa/src/egl/drivers/dri2
Carlos Garnacho 30a01cd923 wayland/egl: Ensure EGL surface is resized on DRI update_buffers()
Fullscreening and unfullscreening a totem window while playing a video
sometimes results in the video subsurface not changing size along. This
is also reproducible with epiphany.

If a surface gets resized while we have an active back buffer for it, the
resized dimensions won't get neither immediately applied on the resize
callback, nor correctly synchronized on update_buffers(), as the
(now stale) surface size and currently attached buffer size still do match.

There's actually 2 things to synchronize here, first the surface query
size might not be updated yet to the wl_egl_window's (i.e. resize_callback
happened while there is a back buffer), and second the wayland buffers
would need dropping if new surface size differs with the currently attached
buffer. These are done in separate steps now.

https://bugzilla.redhat.com/show_bug.cgi?id=1650929
https://bugs.freedesktop.org/show_bug.cgi?id=109594

Fixes: a9fb331ea7 ("wayland/egl: update surface size on window resize")
Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Tested-by: Bastien Nocera <hadess@hadess.net>
Tested-by: Denys Kostin <denys.kostin@globallogic.com>
2019-02-20 12:04:33 +01:00
..
.gitignore
egl_dri2.c drm-uapi: use local files, not system libdrm 2019-02-14 11:20:00 +00:00
egl_dri2.h egl: use coherent variable names 2019-02-06 11:53:24 +00:00
egl_dri2_fallbacks.h egl: use coherent variable names 2019-02-06 11:53:24 +00:00
platform_android.c egl: use coherent variable names 2019-02-06 11:53:24 +00:00
platform_drm.c egl: Move loader_set_logger() up to egl_dri2.c. 2018-11-16 15:38:18 -08:00
platform_surfaceless.c egl: use coherent variable names 2019-02-06 11:53:24 +00:00
platform_wayland.c wayland/egl: Ensure EGL surface is resized on DRI update_buffers() 2019-02-20 12:04:33 +01:00
platform_x11.c egl: use coherent variable names 2019-02-06 11:53:24 +00:00
platform_x11_dri3.c egl: use coherent variable names 2019-02-06 11:53:24 +00:00
platform_x11_dri3.h egl/x11: Handle both depth 30 formats for eglCreateImage(). (v4) 2018-08-01 12:55:37 +01:00