void VideoSoftware::Video_Cleanup() { CleanupShared(); SWRenderer::Shutdown(); DebugUtil::Shutdown(); // The following calls are NOT Thread Safe // And need to be called from the video thread SWRenderer::Shutdown(); g_framebuffer_manager.reset(); g_texture_cache.reset(); g_perf_query.reset(); g_vertex_manager.reset(); g_renderer.reset(); }
void VideoBackend::Video_Cleanup() { // The following calls are NOT Thread Safe // And need to be called from the video thread CleanupShared(); Renderer::Shutdown(); BoundingBox::Shutdown(); TextureConverter::Shutdown(); g_sampler_cache.reset(); g_texture_cache.reset(); ProgramShaderCache::Shutdown(); g_perf_query.reset(); g_vertex_manager.reset(); g_renderer.reset(); GLInterface->ClearCurrent(); }
void VideoBackend::Video_Cleanup() { g_command_buffer_mgr->WaitForGPUIdle(); // Save all cached pipelines out to disk for next time. g_object_cache->SavePipelineCache(); g_perf_query.reset(); g_texture_cache.reset(); g_vertex_manager.reset(); g_framebuffer_manager.reset(); StateTracker::DestroyInstance(); g_renderer.reset(); CleanupShared(); }
void VideoBackend::Video_Cleanup() { CleanupShared(); }