diff options
author | Emil Velikov <[email protected]> | 2017-11-09 19:04:25 +0000 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-11-16 14:03:08 +0000 |
commit | 40a01c9a0ef2c8110d79c284976ef34c0f73be92 (patch) | |
tree | c6eeabfcb59f4fc5ceceb6b7f19640d3434a4d86 /src/egl | |
parent | 938fcab08b863603834b37afaae6a253e670df24 (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/egl')
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 6 | ||||
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.h | 4 | ||||
-rw-r--r-- | src/egl/drivers/dri2/platform_drm.c | 7 |
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); +} |