mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-16 11:06:49 +01:00
[KMSDRM] Unload GL/EGL libs and destroy GBM only when we are destroying the last window.
This commit is contained in:
parent
c35e71892e
commit
82ff6045fa
@ -1079,7 +1079,7 @@ KMSDRM_DestroyWindow(_THIS, SDL_Window *window)
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !is_vulkan && viddata->gbm_init ) {
|
||||
if ( !is_vulkan && viddata->gbm_init) {
|
||||
|
||||
/* Destroy the window display's cursor GBM BO. */
|
||||
KMSDRM_DestroyCursorBO(_this, SDL_GetDisplayForWindow(window));
|
||||
@ -1087,6 +1087,9 @@ KMSDRM_DestroyWindow(_THIS, SDL_Window *window)
|
||||
/* Destroy GBM surface and buffers. */
|
||||
KMSDRM_DestroySurfaces(_this, window);
|
||||
|
||||
/* Unload library and deinit GBM, but only if this is the last remaining window.*/
|
||||
if (viddata->num_windows < 2) {
|
||||
|
||||
/* Unload EGL/GL library and free egl_data. */
|
||||
if (_this->egl_data) {
|
||||
SDL_EGL_UnloadLibrary(_this);
|
||||
@ -1095,6 +1098,7 @@ KMSDRM_DestroyWindow(_THIS, SDL_Window *window)
|
||||
|
||||
/* Free display plane, and destroy GBM device. */
|
||||
KMSDRM_GBMDeinit(_this, dispdata);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user