mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 05:58:05 +02:00
egl/wayland: move teardown code to the platform file
Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
This commit is contained in:
parent
40a01c9a0e
commit
8d745abc00
3 changed files with 27 additions and 20 deletions
|
|
@ -994,28 +994,9 @@ dri2_display_destroy(_EGLDisplay *disp)
|
||||||
case _EGL_PLATFORM_DRM:
|
case _EGL_PLATFORM_DRM:
|
||||||
dri2_teardown_drm(disp);
|
dri2_teardown_drm(disp);
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_WAYLAND_PLATFORM
|
|
||||||
case _EGL_PLATFORM_WAYLAND:
|
case _EGL_PLATFORM_WAYLAND:
|
||||||
if (dri2_dpy->wl_drm)
|
dri2_teardown_wayland(disp);
|
||||||
wl_drm_destroy(dri2_dpy->wl_drm);
|
|
||||||
if (dri2_dpy->wl_dmabuf)
|
|
||||||
zwp_linux_dmabuf_v1_destroy(dri2_dpy->wl_dmabuf);
|
|
||||||
if (dri2_dpy->wl_shm)
|
|
||||||
wl_shm_destroy(dri2_dpy->wl_shm);
|
|
||||||
if (dri2_dpy->wl_registry)
|
|
||||||
wl_registry_destroy(dri2_dpy->wl_registry);
|
|
||||||
if (dri2_dpy->wl_queue)
|
|
||||||
wl_event_queue_destroy(dri2_dpy->wl_queue);
|
|
||||||
if (dri2_dpy->wl_dpy_wrapper)
|
|
||||||
wl_proxy_wrapper_destroy(dri2_dpy->wl_dpy_wrapper);
|
|
||||||
u_vector_finish(&dri2_dpy->wl_modifiers.argb8888);
|
|
||||||
u_vector_finish(&dri2_dpy->wl_modifiers.xrgb8888);
|
|
||||||
u_vector_finish(&dri2_dpy->wl_modifiers.rgb565);
|
|
||||||
if (dri2_dpy->own_device) {
|
|
||||||
wl_display_disconnect(dri2_dpy->wl_dpy);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -433,12 +433,16 @@ dri2_teardown_drm(struct dri2_egl_display *dri2_dpy) {}
|
||||||
#ifdef HAVE_WAYLAND_PLATFORM
|
#ifdef HAVE_WAYLAND_PLATFORM
|
||||||
EGLBoolean
|
EGLBoolean
|
||||||
dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp);
|
dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp);
|
||||||
|
void
|
||||||
|
dri2_teardown_wayland(struct dri2_egl_display *dri2_dpy);
|
||||||
#else
|
#else
|
||||||
static inline EGLBoolean
|
static inline EGLBoolean
|
||||||
dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp)
|
dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp)
|
||||||
{
|
{
|
||||||
return _eglError(EGL_NOT_INITIALIZED, "Wayland platform not built");
|
return _eglError(EGL_NOT_INITIALIZED, "Wayland platform not built");
|
||||||
}
|
}
|
||||||
|
static inline void
|
||||||
|
dri2_teardown_wayland(struct dri2_egl_display *dri2_dpy) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ANDROID_PLATFORM
|
#ifdef HAVE_ANDROID_PLATFORM
|
||||||
|
|
|
||||||
|
|
@ -2008,3 +2008,25 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp)
|
||||||
return initialized;
|
return initialized;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
dri2_teardown_wayland(struct dri2_egl_display *dri2_dpy)
|
||||||
|
{
|
||||||
|
if (dri2_dpy->wl_drm)
|
||||||
|
wl_drm_destroy(dri2_dpy->wl_drm);
|
||||||
|
if (dri2_dpy->wl_dmabuf)
|
||||||
|
zwp_linux_dmabuf_v1_destroy(dri2_dpy->wl_dmabuf);
|
||||||
|
if (dri2_dpy->wl_shm)
|
||||||
|
wl_shm_destroy(dri2_dpy->wl_shm);
|
||||||
|
if (dri2_dpy->wl_registry)
|
||||||
|
wl_registry_destroy(dri2_dpy->wl_registry);
|
||||||
|
if (dri2_dpy->wl_queue)
|
||||||
|
wl_event_queue_destroy(dri2_dpy->wl_queue);
|
||||||
|
if (dri2_dpy->wl_dpy_wrapper)
|
||||||
|
wl_proxy_wrapper_destroy(dri2_dpy->wl_dpy_wrapper);
|
||||||
|
u_vector_finish(&dri2_dpy->wl_modifiers.argb8888);
|
||||||
|
u_vector_finish(&dri2_dpy->wl_modifiers.xrgb8888);
|
||||||
|
u_vector_finish(&dri2_dpy->wl_modifiers.rgb565);
|
||||||
|
if (dri2_dpy->own_device)
|
||||||
|
wl_display_disconnect(dri2_dpy->wl_dpy);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue