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/VideoCommon/MainBase.cpp | 59 +++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) (limited to 'Source/Core/VideoCommon/MainBase.cpp') diff --git a/Source/Core/VideoCommon/MainBase.cpp b/Source/Core/VideoCommon/MainBase.cpp index 6b2e3c91c3..a084e0cc09 100644 --- a/Source/Core/VideoCommon/MainBase.cpp +++ b/Source/Core/VideoCommon/MainBase.cpp @@ -9,12 +9,22 @@ #include "Common/Event.h" #include "Common/Flag.h" #include "Common/Logging/Log.h" +#include "Core/Host.h" #include "VideoCommon/AsyncRequests.h" #include "VideoCommon/BPStructs.h" +#include "VideoCommon/CPMemory.h" +#include "VideoCommon/CommandProcessor.h" #include "VideoCommon/Fifo.h" +#include "VideoCommon/GeometryShaderManager.h" +#include "VideoCommon/IndexGenerator.h" +#include "VideoCommon/OnScreenDisplay.h" +#include "VideoCommon/OpcodeDecoding.h" +#include "VideoCommon/PixelEngine.h" +#include "VideoCommon/PixelShaderManager.h" #include "VideoCommon/RenderBase.h" #include "VideoCommon/TextureCacheBase.h" #include "VideoCommon/VertexLoaderManager.h" +#include "VideoCommon/VertexShaderManager.h" #include "VideoCommon/VideoBackendBase.h" #include "VideoCommon/VideoConfig.h" #include "VideoCommon/VideoState.h" @@ -149,11 +159,58 @@ u16 VideoBackendBase::Video_GetBoundingBox(int index) void VideoBackendBase::InitializeShared() { - VideoCommon_Init(); + memset(&g_main_cp_state, 0, sizeof(g_main_cp_state)); + memset(&g_preprocess_cp_state, 0, sizeof(g_preprocess_cp_state)); + memset(texMem, 0, TMEM_SIZE); + + // Do our OSD callbacks + OSD::DoCallbacks(OSD::CallbackType::Initialization); + + // do not initialize again for the config window + m_initialized = true; s_FifoShuttingDown.Clear(); memset((void*)&s_beginFieldArgs, 0, sizeof(s_beginFieldArgs)); m_invalid = false; + frameCount = 0; + + CommandProcessor::Init(); + Fifo::Init(); + OpcodeDecoder::Init(); + PixelEngine::Init(); + BPInit(); + VertexLoaderManager::Init(); + IndexGenerator::Init(); + VertexShaderManager::Init(); + GeometryShaderManager::Init(); + PixelShaderManager::Init(); + + 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) + GetConfigName() + ".ini"); + g_Config.GameIniLoad(); + g_Config.UpdateProjectionHack(); + g_Config.VerifyValidity(); + UpdateActiveConfig(); + + // Notify the core that the video backend is ready + Host_Message(WM_USER_CREATE); +} + +void VideoBackendBase::ShutdownShared() +{ + // Do our OSD callbacks + OSD::DoCallbacks(OSD::CallbackType::Shutdown); + + m_initialized = false; + + Fifo::Shutdown(); +} + +void VideoBackendBase::CleanupShared() +{ + VertexLoaderManager::Clear(); } // Run from the CPU thread -- 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/VideoCommon/MainBase.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'Source/Core/VideoCommon/MainBase.cpp') diff --git a/Source/Core/VideoCommon/MainBase.cpp b/Source/Core/VideoCommon/MainBase.cpp index a084e0cc09..c51515eb89 100644 --- a/Source/Core/VideoCommon/MainBase.cpp +++ b/Source/Core/VideoCommon/MainBase.cpp @@ -9,6 +9,7 @@ #include "Common/Event.h" #include "Common/Flag.h" #include "Common/Logging/Log.h" +#include "Core/ConfigManager.h" #include "Core/Host.h" #include "VideoCommon/AsyncRequests.h" #include "VideoCommon/BPStructs.h" @@ -157,6 +158,14 @@ u16 VideoBackendBase::Video_GetBoundingBox(int index) return result; } +void VideoBackendBase::ShowConfig(void* parent_handle) +{ + if (!m_initialized) + InitBackendInfo(); + + Host_ShowVideoConfig(parent_handle, GetDisplayName(), GetConfigName()); +} + void VideoBackendBase::InitializeShared() { memset(&g_main_cp_state, 0, sizeof(g_main_cp_state)); -- 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/VideoCommon/MainBase.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'Source/Core/VideoCommon/MainBase.cpp') diff --git a/Source/Core/VideoCommon/MainBase.cpp b/Source/Core/VideoCommon/MainBase.cpp index c51515eb89..eeed59e597 100644 --- a/Source/Core/VideoCommon/MainBase.cpp +++ b/Source/Core/VideoCommon/MainBase.cpp @@ -163,7 +163,7 @@ void VideoBackendBase::ShowConfig(void* parent_handle) if (!m_initialized) InitBackendInfo(); - Host_ShowVideoConfig(parent_handle, GetDisplayName(), GetConfigName()); + Host_ShowVideoConfig(parent_handle, GetDisplayName()); } void VideoBackendBase::InitializeShared() @@ -194,10 +194,7 @@ void VideoBackendBase::InitializeShared() GeometryShaderManager::Init(); PixelShaderManager::Init(); - 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) + GetConfigName() + ".ini"); + g_Config.Load(File::GetUserPath(D_CONFIG_IDX) + "GFX.ini"); g_Config.GameIniLoad(); g_Config.UpdateProjectionHack(); g_Config.VerifyValidity(); -- cgit v1.2.3