aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2017-05-11 17:13:33 +0100
committerEmil Velikov <[email protected]>2017-05-29 16:49:52 +0100
commit3e73c0245b2e24b9d593179d26b4bed80e1ac078 (patch)
treea4c2bdfadd30a04ec53915535c366ac33d704974
parent12196d1b76898bc51ad55e2ad69689df35b29494 (diff)
egl: split out a dri2_display_destroy() helper
Within dri2_display_release() we already tear down all the display specifics. Within the platform specific dri initialize however we badly and partially duplicate that. Let's stop that by fleshing out the required functionality into a helper and using it throughout the codebase. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Gurchetan Singh <[email protected]> Tested-by: Rob Herring <[email protected]>
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c9
-rw-r--r--src/egl/drivers/dri2/egl_dri2.h3
2 files changed, 11 insertions, 1 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index eefe3bfc583..1c3d00cf8c3 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -855,7 +855,6 @@ static void
dri2_display_release(_EGLDisplay *disp)
{
struct dri2_egl_display *dri2_dpy;
- unsigned i;
if (!disp)
return;
@@ -869,6 +868,14 @@ dri2_display_release(_EGLDisplay *disp)
return;
_eglCleanupDisplay(disp);
+ dri2_display_destroy(disp);
+}
+
+void
+dri2_display_destroy(_EGLDisplay *disp)
+{
+ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
+ unsigned i;
if (dri2_dpy->own_dri_screen)
dri2_dpy->core->destroyScreen(dri2_dpy->dri_screen);
diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index b3d48488494..c9c064b23fe 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -431,4 +431,7 @@ dri2_set_WL_bind_wayland_display(_EGLDriver *drv, _EGLDisplay *disp)
#endif
}
+void
+dri2_display_destroy(_EGLDisplay *disp);
+
#endif /* EGL_DRI2_INCLUDED */