[Mesa-dev] [PATCH][v2] wayland/egl: initialize window surface size to window size
Juan A. Suarez Romero
jasuarez at igalia.com
Mon Jun 4 11:52:54 UTC 2018
Forgot to say this is an V2 patch.
J.A.
On Mon, 2018-06-04 at 12:27 +0200, Juan A. Suarez Romero 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 <daniel at fooishbar.org>
> CC: Brendan King <brendan.king at imgtec.com>
> ---
> 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 63da21cdf55..f62cbbc5c02 100644
> --- a/src/egl/drivers/dri2/platform_wayland.c
> +++ b/src/egl/drivers/dri2/platform_wayland.c
> @@ -255,6 +255,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);
>
More information about the mesa-dev
mailing list