Re: [Mesa-dev] [PATCH 08/10] egl/wayland: remove dri2_surf width/height double init.
On 29 August 2017 17:33:57 BST, Emil Velikov wrote: > On 29 August 2017 at 15:40, Eric Engestrom > wrote: > > On Sunday, 2017-08-27 11:20:33 +0100, Emil Velikov wrote: > >> From: Emil Velikov > >> > >> 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 > >> --- > >> 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.* > > > Having another look, we seems to be rather inconsistent when we set > them - see below. > At the same time, I doubt any !X11 dEQP resize tests work: > - iirc there's no wayland/drm/surfaceless support > - none of the three has a .query_surface hook > > -Emil > > X11/dri2 > - create_*_surface, all but !pbuffer > - query_surface via xcb_get_geometry > > X11/dri3: > - create_*_surface, all > - query_surface via xcb_get_geometry > > drm > - create_*_surface, all (window only) > - query_surface - no hook > > surfaceless > - create_*_surface, none (pbuffer only) > - query_surface - no hook > > wayland > - create_*_surface, none (window only) > - query_surface - no hook Oh, uh… I think this might also be in a local patch ^^ We have a bunch of patches like that, that I want to upstream, but not enough bandwidth and too many high priority tasks lining up. I'll try and have a look tomorrow for the query_surface hook. Cheers, Eric ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 08/10] egl/wayland: remove dri2_surf width/height double init.
On 29 August 2017 at 15:40, Eric Engestrom wrote: > On Sunday, 2017-08-27 11:20:33 +0100, Emil Velikov wrote: >> From: Emil Velikov >> >> 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 >> --- >> 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.* > Having another look, we seems to be rather inconsistent when we set them - see below. At the same time, I doubt any !X11 dEQP resize tests work: - iirc there's no wayland/drm/surfaceless support - none of the three has a .query_surface hook -Emil X11/dri2 - create_*_surface, all but !pbuffer - query_surface via xcb_get_geometry X11/dri3: - create_*_surface, all - query_surface via xcb_get_geometry drm - create_*_surface, all (window only) - query_surface - no hook surfaceless - create_*_surface, none (pbuffer only) - query_surface - no hook wayland - create_*_surface, none (window only) - query_surface - no hook ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 08/10] egl/wayland: remove dri2_surf width/height double init.
On Sunday, 2017-08-27 11:20:33 +0100, Emil Velikov wrote: > From: Emil Velikov > > 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 > --- > 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 > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 08/10] egl/wayland: remove dri2_surf width/height double init.
From: Emil Velikov 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 --- 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; - config = dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT, dri2_surf->base.GLColorspace); -- 2.14.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev