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 */