/* ================== R_Free_OpenGL ================== */ void R_Free_OpenGL( void ) { GL_DeleteContext (); VID_DestroyWindow (); SDL_GL_UnloadLibrary (); // now all extensions are disabled Q_memset( glConfig.extension, 0, sizeof( glConfig.extension[0] ) * GL_EXTCOUNT ); glw_state.initialized = false; }
/* ================== R_Free_OpenGL ================== */ void R_Free_OpenGL( void ) { VID_RestoreGamma (); GL_DeleteContext (); VID_DestroyWindow (); #ifdef XASH_SDL SDL_GL_UnloadLibrary (); #endif // now all extensions are disabled Q_memset( glConfig.extension, 0, sizeof( glConfig.extension[0] ) * GL_EXTCOUNT ); glw_state.initialized = false; }
void KMSDRM_VideoQuit(_THIS) { SDL_VideoData *vdata = ((SDL_VideoData *)_this->driverdata); SDL_LogDebug(SDL_LOG_CATEGORY_VIDEO, "KMSDRM_VideoQuit()"); if (_this->gl_config.driver_loaded) { SDL_GL_UnloadLibrary(); } if(vdata->saved_crtc != NULL) { if(vdata->drm_fd > 0 && vdata->saved_conn_id > 0) { /* Restore saved CRTC settings */ drmModeCrtc *crtc = vdata->saved_crtc; if(KMSDRM_drmModeSetCrtc(vdata->drm_fd, crtc->crtc_id, crtc->buffer_id, crtc->x, crtc->y, &vdata->saved_conn_id, 1, &crtc->mode) != 0) { SDL_LogWarn(SDL_LOG_CATEGORY_VIDEO, "Could not restore original CRTC mode"); } } KMSDRM_drmModeFreeCrtc(vdata->saved_crtc); vdata->saved_crtc = NULL; } if (vdata->gbm != NULL) { KMSDRM_gbm_device_destroy(vdata->gbm); vdata->gbm = NULL; } if (vdata->drm_fd >= 0) { close(vdata->drm_fd); SDL_LogDebug(SDL_LOG_CATEGORY_VIDEO, "Closed DRM FD %d", vdata->drm_fd); vdata->drm_fd = -1; } #ifdef SDL_INPUT_LINUXEV SDL_EVDEV_Quit(); #endif }