Hi,

On Tue, Aug 7, 2018 at 5:50 PM Juan A. Suarez Romero
<jasua...@igalia.com> wrote:
>
> When creating a windows surface with eglCreateWindowSurface(), the
> width and height returned by eglQuerySurface(EGL_{WIDTH,HEIGHT}) is
> invalid until buffers are updated (like calling glClear()).
>
> But according to EGL 1.5 spec, section 3.5.6 ("Surface Attributes"):
>
>   "Querying EGL_WIDTH and EGL_HEIGHT returns respectively the width and
>    height, in pixels, of the surface. For a window or pixmap surface,
>    these values are initially equal to the width and height of the
>    native window or pixmap with respect to which the surface was
>    created"
>
> This fixes dEQP-EGL.functional.color_clears.* CTS tests
>
> v2:
> - Do not modify attached_{width,height} (Daniel)
> - Do not update size on resizing window (Brendan)
>
> CC: Daniel Stone <dan...@fooishbar.org>
> CC: Brendan King <brendan.k...@imgtec.com>
> CC: mesa-sta...@lists.freedesktop.org
> Tested-by: Eric Engestrom <e...@engestrom.ch>
> ---
>  src/egl/drivers/dri2/platform_wayland.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/src/egl/drivers/dri2/platform_wayland.c 
> b/src/egl/drivers/dri2/platform_wayland.c
> index dca099500a8..a5d43094cf3 100644
> --- a/src/egl/drivers/dri2/platform_wayland.c
> +++ b/src/egl/drivers/dri2/platform_wayland.c
> @@ -258,6 +258,9 @@ dri2_wl_create_window_surface(_EGLDriver *drv, 
> _EGLDisplay *disp,
>        goto cleanup_surf;
>     }
>
> +   dri2_surf->base.Width = window->width;
> +   dri2_surf->base.Height = window->height;
> +
>     visual_idx = dri2_wl_visual_idx_from_config(dri2_dpy, config);
>     assert(visual_idx != -1);
>
> --
> 2.17.1

Just a quick heads up, this patch is causing a regression with
"swrast" which does not have DRI2flushExtension.

Easiest way to demonstrate the issue is to use totem with "swrast" on
mesa-18.2.x (e.g. Fedora 29) under Wayland:

  $ LIBGL_ALWAYS_SOFTWARE=true CLUTTER_BACKEND=gdk totem

Play a video and resize the totem toplevel window, the size of the EGL
surface remains unchanged...

Reverting that patch fixes the issue, as using a DRI driver which
supports DRI2flushExtension. Nevertheless, that's a regression.

Cheers,
Olivier
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to