From 7833ff25df5cb3bf10b363d30d7af8007094454a Mon Sep 17 00:00:00 2001 From: degasus Date: Wed, 13 Jan 2016 21:14:20 +0100 Subject: VideoBackends: Merge Initialize and Shutdown functions. --- Source/Core/VideoBackends/OGL/main.cpp | 64 ++++++++-------------------------- 1 file changed, 15 insertions(+), 49 deletions(-) (limited to 'Source/Core/VideoBackends/OGL/main.cpp') diff --git a/Source/Core/VideoBackends/OGL/main.cpp b/Source/Core/VideoBackends/OGL/main.cpp index 48b580ad2d..9f08f62601 100644 --- a/Source/Core/VideoBackends/OGL/main.cpp +++ b/Source/Core/VideoBackends/OGL/main.cpp @@ -91,6 +91,11 @@ std::string VideoBackend::GetDisplayName() const return "OpenGL"; } +std::string VideoBackend::GetConfigName() const +{ + return "gfx_opengl"; +} + static std::vector GetShaders(const std::string& sub_dir = "") { std::vector paths = @@ -116,6 +121,12 @@ static void InitBackendInfo() g_Config.backend_info.bSupportsPostProcessing = true; g_Config.backend_info.bSupportsSSAA = true; + // Overwritten in Render.cpp later + g_Config.backend_info.bSupportsDualSourceBlend = true; + g_Config.backend_info.bSupportsPrimitiveRestart = true; + g_Config.backend_info.bSupportsPaletteConversion = true; + g_Config.backend_info.bSupportsClipControl = true; + g_Config.backend_info.Adapters.clear(); // aamodes - 1 is to stay consistent with D3D (means no AA) @@ -131,35 +142,19 @@ void VideoBackend::ShowConfig(void* parent_handle) if (!m_initialized) InitBackendInfo(); - Host_ShowVideoConfig(parent_handle, GetDisplayName(), "gfx_opengl"); + Host_ShowVideoConfig(parent_handle, GetDisplayName(), GetConfigName()); } bool VideoBackend::Initialize(void* window_handle) { - InitializeShared(); InitBackendInfo(); - - frameCount = 0; - - if (File::Exists(File::GetUserPath(D_CONFIG_IDX) + "GFX.ini")) - g_Config.Load(File::GetUserPath(D_CONFIG_IDX) + "GFX.ini"); - else - g_Config.Load(File::GetUserPath(D_CONFIG_IDX) + "gfx_opengl.ini"); - g_Config.GameIniLoad(); - g_Config.UpdateProjectionHack(); - g_Config.VerifyValidity(); - UpdateActiveConfig(); + InitializeShared(); InitInterface(); GLInterface->SetMode(GLInterfaceMode::MODE_DETECT); if (!GLInterface->Create(window_handle)) return false; - // Do our OSD callbacks - OSD::DoCallbacks(OSD::CallbackType::Initialization); - - m_initialized = true; - return true; } @@ -171,65 +166,36 @@ void VideoBackend::Video_Prepare() g_renderer = std::make_unique(); - CommandProcessor::Init(); - PixelEngine::Init(); - - BPInit(); g_vertex_manager = std::make_unique(); g_perf_query = GetPerfQuery(); - Fifo::Init(); // must be done before OpcodeDecoder::Init() - OpcodeDecoder::Init(); - IndexGenerator::Init(); - VertexShaderManager::Init(); - PixelShaderManager::Init(); - GeometryShaderManager::Init(); ProgramShaderCache::Init(); g_texture_cache = std::make_unique(); g_sampler_cache = std::make_unique(); Renderer::Init(); - VertexLoaderManager::Init(); TextureConverter::Init(); BoundingBox::Init(); - - // Notify the core that the video backend is ready - Host_Message(WM_USER_CREATE); } void VideoBackend::Shutdown() { - m_initialized = false; - - // Do our OSD callbacks - OSD::DoCallbacks(OSD::CallbackType::Shutdown); - GLInterface->Shutdown(); GLInterface.reset(); + ShutdownShared(); } void VideoBackend::Video_Cleanup() { - if (!g_renderer) - return; - - Fifo::Shutdown(); - // The following calls are NOT Thread Safe // And need to be called from the video thread + CleanupShared(); Renderer::Shutdown(); BoundingBox::Shutdown(); TextureConverter::Shutdown(); - VertexLoaderManager::Shutdown(); g_sampler_cache.reset(); g_texture_cache.reset(); ProgramShaderCache::Shutdown(); - VertexShaderManager::Shutdown(); - PixelShaderManager::Shutdown(); - GeometryShaderManager::Shutdown(); - g_perf_query.reset(); g_vertex_manager.reset(); - - OpcodeDecoder::Shutdown(); g_renderer.reset(); GLInterface->ClearCurrent(); } -- cgit v1.2.3 From 5f2f4620676198bb63eeb169358435037491d4ad Mon Sep 17 00:00:00 2001 From: degasus Date: Wed, 13 Jan 2016 21:38:11 +0100 Subject: VideoBackends: Merge ShowConfig functions. --- Source/Core/VideoBackends/OGL/main.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'Source/Core/VideoBackends/OGL/main.cpp') diff --git a/Source/Core/VideoBackends/OGL/main.cpp b/Source/Core/VideoBackends/OGL/main.cpp index 9f08f62601..142004cbc3 100644 --- a/Source/Core/VideoBackends/OGL/main.cpp +++ b/Source/Core/VideoBackends/OGL/main.cpp @@ -111,7 +111,7 @@ static std::vector GetShaders(const std::string& sub_dir = "") return result; } -static void InitBackendInfo() +void VideoBackend::InitBackendInfo() { g_Config.backend_info.APIType = API_OPENGL; g_Config.backend_info.bSupportsExclusiveFullscreen = false; @@ -137,14 +137,6 @@ static void InitBackendInfo() g_Config.backend_info.AnaglyphShaders = GetShaders(ANAGLYPH_DIR DIR_SEP); } -void VideoBackend::ShowConfig(void* parent_handle) -{ - if (!m_initialized) - InitBackendInfo(); - - Host_ShowVideoConfig(parent_handle, GetDisplayName(), GetConfigName()); -} - bool VideoBackend::Initialize(void* window_handle) { InitBackendInfo(); -- cgit v1.2.3 From d79aeaa1e9b224b3bb147c605fb8ffd6e2bfc890 Mon Sep 17 00:00:00 2001 From: degasus Date: Sun, 26 Jun 2016 08:06:23 +0200 Subject: VideoCommon: Drop GetConfigName. We're past 5.0 now, so there is no need to look for old inis. --- Source/Core/VideoBackends/OGL/main.cpp | 5 ----- 1 file changed, 5 deletions(-) (limited to 'Source/Core/VideoBackends/OGL/main.cpp') diff --git a/Source/Core/VideoBackends/OGL/main.cpp b/Source/Core/VideoBackends/OGL/main.cpp index 142004cbc3..7fc91f86bf 100644 --- a/Source/Core/VideoBackends/OGL/main.cpp +++ b/Source/Core/VideoBackends/OGL/main.cpp @@ -91,11 +91,6 @@ std::string VideoBackend::GetDisplayName() const return "OpenGL"; } -std::string VideoBackend::GetConfigName() const -{ - return "gfx_opengl"; -} - static std::vector GetShaders(const std::string& sub_dir = "") { std::vector paths = -- cgit v1.2.3