summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2017-11-09 19:04:25 +0000
committerEmil Velikov <[email protected]>2017-11-16 14:03:08 +0000
commit40a01c9a0ef2c8110d79c284976ef34c0f73be92 (patch)
treec6eeabfcb59f4fc5ceceb6b7f19640d3434a4d86 /src
parent938fcab08b863603834b37afaae6a253e670df24 (diff)
egl/drm: move teardown code to the platform file
Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c6
-rw-r--r--src/egl/drivers/dri2/egl_dri2.h4
-rw-r--r--src/egl/drivers/dri2/platform_drm.c7
3 files changed, 12 insertions, 5 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 280e70c137a..fc56e6357a6 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -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)
diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index ef5a458f5dd..9222fa122b2 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -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
diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c
index 9005f5dd9ec..416fd4cc657 100644
--- a/src/egl/drivers/dri2/platform_drm.c
+++ b/src/egl/drivers/dri2/platform_drm.c
@@ -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);
+}