[Mesa-dev] [PATCH 7/9] egl/wayland: assume EGL_WINDOW_BIT
Dave Airlie
airlied at gmail.com
Tue May 5 18:00:13 PDT 2015
On 2 May 2015 at 20:15, Axel Davy <axel.davy at ens.fr> wrote:
> Only EGL_WINDOW_BIT is supported. Remove tests related.
Is this there no plans to support pixmap/pbuffer/ or any of the other bits?
Seems like a step in the wrong direction if we really should be supporting
other things than WINDOW_BIT in the future.
Dave.
>
> Signed-off-by: Axel Davy <axel.davy at ens.fr>
> ---
> src/egl/drivers/dri2/platform_wayland.c | 38 +++++++++++----------------------
> 1 file changed, 13 insertions(+), 25 deletions(-)
>
> diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
> index 84482da..9603c32 100644
> --- a/src/egl/drivers/dri2/platform_wayland.c
> +++ b/src/egl/drivers/dri2/platform_wayland.c
> @@ -120,7 +120,7 @@ resize_callback(struct wl_egl_window *wl_win, void *data)
> * Called via eglCreateWindowSurface(), drv->API.CreateWindowSurface().
> */
> static _EGLSurface *
> -dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
> +dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp,
> _EGLConfig *conf, void *native_window,
> const EGLint *attrib_list)
> {
> @@ -137,7 +137,7 @@ dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
> return NULL;
> }
>
> - if (!_eglInitSurface(&dri2_surf->base, disp, type, conf, attrib_list))
> + if (!_eglInitSurface(&dri2_surf->base, disp, EGL_WINDOW_BIT, conf, attrib_list))
> goto cleanup_surf;
>
> if (conf->RedSize == 5)
> @@ -147,25 +147,17 @@ dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
> else
> dri2_surf->format = WL_DRM_FORMAT_ARGB8888;
>
> - switch (type) {
> - case EGL_WINDOW_BIT:
> - dri2_surf->wl_win = window;
> + dri2_surf->wl_win = window;
>
> - dri2_surf->wl_win->private = dri2_surf;
> - dri2_surf->wl_win->resize_callback = resize_callback;
> + dri2_surf->wl_win->private = dri2_surf;
> + dri2_surf->wl_win->resize_callback = resize_callback;
>
> - dri2_surf->base.Width = -1;
> - dri2_surf->base.Height = -1;
> - break;
> - default:
> - goto cleanup_surf;
> - }
> + dri2_surf->base.Width = -1;
> + dri2_surf->base.Height = -1;
>
> dri2_surf->dri_drawable =
> (*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen,
> - type == EGL_WINDOW_BIT ?
> - dri2_conf->dri_double_config :
> - dri2_conf->dri_single_config,
> + dri2_conf->dri_double_config,
> dri2_surf);
> if (dri2_surf->dri_drawable == NULL) {
> _eglError(EGL_BAD_ALLOC, "dri2->createNewDrawable");
> @@ -193,8 +185,7 @@ dri2_wl_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
> struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
> _EGLSurface *surf;
>
> - surf = dri2_wl_create_surface(drv, disp, EGL_WINDOW_BIT, conf,
> - native_window, attrib_list);
> + surf = dri2_wl_create_surface(drv, disp, conf, native_window, attrib_list);
>
> if (surf != NULL)
> dri2_wl_swap_interval(drv, disp, surf, dri2_dpy->default_swap_interval);
> @@ -253,10 +244,8 @@ dri2_wl_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
> if (dri2_surf->throttle_callback)
> wl_callback_destroy(dri2_surf->throttle_callback);
>
> - if (dri2_surf->base.Type == EGL_WINDOW_BIT) {
> - dri2_surf->wl_win->private = NULL;
> - dri2_surf->wl_win->resize_callback = NULL;
> - }
> + dri2_surf->wl_win->private = NULL;
> + dri2_surf->wl_win->resize_callback = NULL;
>
> free(surf);
>
> @@ -428,9 +417,8 @@ update_buffers(struct dri2_egl_surface *dri2_surf)
> dri2_egl_display(dri2_surf->base.Resource.Display);
> int i;
>
> - if (dri2_surf->base.Type == EGL_WINDOW_BIT &&
> - (dri2_surf->base.Width != dri2_surf->wl_win->width ||
> - dri2_surf->base.Height != dri2_surf->wl_win->height)) {
> + if (dri2_surf->base.Width != dri2_surf->wl_win->width ||
> + dri2_surf->base.Height != dri2_surf->wl_win->height) {
>
> dri2_wl_release_buffers(dri2_surf);
>
> --
> 2.3.7
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list