egl/drm: 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:
Emil Velikov 2017-11-09 19:04:25 +00:00 committed by Emil Velikov
parent 938fcab08b
commit 40a01c9a0e
3 changed files with 12 additions and 5 deletions

View File

@ -991,13 +991,9 @@ dri2_display_destroy(_EGLDisplay *disp)
case _EGL_PLATFORM_X11:
dri2_teardown_x11(dri2_dpy);
break;
#ifdef HAVE_DRM_PLATFORM
case _EGL_PLATFORM_DRM:
if (dri2_dpy->own_device) {
gbm_device_destroy(&dri2_dpy->gbm_dri->base);
}
dri2_teardown_drm(disp);
break;
#endif
#ifdef HAVE_WAYLAND_PLATFORM
case _EGL_PLATFORM_WAYLAND:
if (dri2_dpy->wl_drm)

View File

@ -418,12 +418,16 @@ dri2_teardown_x11(struct dri2_egl_display *dri2_dpy) {}
#ifdef HAVE_DRM_PLATFORM
EGLBoolean
dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp);
void
dri2_teardown_drm(struct dri2_egl_display *dri2_dpy);
#else
static inline EGLBoolean
dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
{
return _eglError(EGL_NOT_INITIALIZED, "GBM/DRM platform not built");
}
static inline void
dri2_teardown_drm(struct dri2_egl_display *dri2_dpy) {}
#endif
#ifdef HAVE_WAYLAND_PLATFORM

View File

@ -741,3 +741,10 @@ cleanup:
dri2_display_destroy(disp);
return _eglError(EGL_NOT_INITIALIZED, err);
}
void
dri2_teardown_drm(struct dri2_egl_display *dri2_dpy)
{
if (dri2_dpy->own_device)
gbm_device_destroy(&dri2_dpy->gbm_dri->base);
}