Revert "egl: Factor some common terminate cleanup up to common code"

This reverts commit 04826cd9fc.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7497
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19145>
This commit is contained in:
Rob Clark 2022-10-18 13:36:02 -07:00 committed by Marge Bot
parent 210f19b004
commit 20f33a1cd9
4 changed files with 16 additions and 9 deletions

View File

@ -1230,6 +1230,7 @@ dri2_display_release(_EGLDisplay *disp)
if (!p_atomic_dec_zero(&dri2_dpy->ref_count))
return;
_eglCleanupDisplay(disp);
dri2_display_destroy(disp);
}
@ -1331,6 +1332,9 @@ dri2_egl_surface_free_local_buffers(struct dri2_egl_surface *dri2_surf)
static EGLBoolean
dri2_terminate(_EGLDisplay *disp)
{
/* Release all non-current Context/Surfaces. */
_eglReleaseDisplayResources(disp);
dri2_display_release(disp);
return EGL_TRUE;

View File

@ -358,6 +358,7 @@ wgl_display_release(_EGLDisplay *disp)
if (!p_atomic_dec_zero(&wgl_dpy->ref_count))
return;
_eglCleanupDisplay(disp);
wgl_display_destroy(disp);
}
@ -370,6 +371,9 @@ wgl_display_release(_EGLDisplay *disp)
static EGLBoolean
wgl_terminate(_EGLDisplay *disp)
{
/* Release all non-current Context/Surfaces. */
_eglReleaseDisplayResources(disp);
wgl_display_release(disp);
return EGL_TRUE;

View File

@ -779,9 +779,14 @@ eglTerminate(EGLDisplay dpy)
RETURN_EGL_ERROR(NULL, EGL_BAD_DISPLAY, EGL_FALSE);
if (disp->Initialized) {
_eglReleaseDisplayResources(disp);
disp->Driver->Terminate(disp);
_eglCleanupDisplay(disp);
/* do not reset disp->Driver */
disp->ClientAPIsString[0] = 0;
disp->Initialized = EGL_FALSE;
/* Reset blob cache funcs on terminate. */
disp->BlobCacheSet = NULL;
disp->BlobCacheGet = NULL;
}
simple_mtx_unlock(&disp->Mutex);

View File

@ -370,13 +370,7 @@ _eglCleanupDisplay(_EGLDisplay *disp)
disp->Configs = NULL;
}
/* do not reset disp->Driver */
disp->ClientAPIsString[0] = 0;
disp->Initialized = EGL_FALSE;
/* Reset blob cache funcs on terminate. */
disp->BlobCacheSet = NULL;
disp->BlobCacheGet = NULL;
/* XXX incomplete */
}