[Mesa-dev] [PATCH 08/10] egl/wayland: remove dri2_surf width/height double init.
Eric Engestrom
eric.engestrom at imgtec.com
Tue Aug 29 14:40:01 UTC 2017
On Sunday, 2017-08-27 11:20:33 +0100, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> The dimensions are already set [to 0 or the value provided by the
> attributes list] by the _eglInitSurface() call further up.
>
> The values are updated, as the DRI driver calls the DRI2/IMAGE_LOADER'
> get_buffers, shortly before making use of the values.
>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> src/egl/drivers/dri2/platform_wayland.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
> index f9554fccde9..89e94e11f4f 100644
> --- a/src/egl/drivers/dri2/platform_wayland.c
> +++ b/src/egl/drivers/dri2/platform_wayland.c
> @@ -198,9 +198,6 @@ dri2_wl_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
> dri2_surf->wl_win->private = dri2_surf;
> dri2_surf->wl_win->destroy_window_callback = destroy_window_callback;
>
> - dri2_surf->base.Width = -1;
> - dri2_surf->base.Height = -1;
> -
We actually have a local patch here that replaces this `-1`
initialisation with the dimensions of the wayland `window`:
----8<----
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 85a11f4..7719407 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -183,8 +183,8 @@ dri2_wl_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
dri2_surf->wl_win->private = dri2_surf;
dri2_surf->wl_win->destroy_window_callback = destroy_window_callback;
- dri2_surf->base.Width = -1;
- dri2_surf->base.Height = -1;
+ dri2_surf->base.Width = window->width;
+ dri2_surf->base.Height = window->height;
config = dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT,
dri2_surf->base.GLColorspace);
---->8----
This apparently fixes dEQP crashes caused by an assert:
deRandom.hpp:93: Unknown function: Assertion `min <= max' failed.
No dEQP test is mentioned on our patch, but I think this happened on
dEQP-EGL.functional.resize.surface_size.*
> config = dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT,
> dri2_surf->base.GLColorspace);
>
> --
> 2.14.0
>
More information about the mesa-dev
mailing list