diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2019-11-01 01:30:24 -0500 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2020-10-03 17:10:36 -0500 |
| commit | 4fff04db3ce16c72d8b3b95df2285a129605fde4 (patch) | |
| tree | 5037e621f92d916e79a504c6b0d85ecc6df73180 /Source/Core | |
| parent | fd3af4c5d32a34b27c45b478c74fa1127b6438b9 (diff) | |
Core: Load custom textures after inputs has been loaded and avoid sending force texture reload during startup for dynamic textures. This ensures that custom texture loading only happens once and users don't see any weird flashes on startup
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/Core.cpp | 5 | ||||
| -rw-r--r-- | Source/Core/InputCommon/DynamicInputTextureConfiguration.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/HiresTextures.cpp | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/Source/Core/Core/Core.cpp b/Source/Core/Core/Core.cpp index e92c01ab08..25cbd5955b 100644 --- a/Source/Core/Core/Core.cpp +++ b/Source/Core/Core/Core.cpp @@ -79,6 +79,7 @@ #include "VideoCommon/AsyncRequests.h" #include "VideoCommon/Fifo.h" +#include "VideoCommon/HiresTextures.h" #include "VideoCommon/OnScreenDisplay.h" #include "VideoCommon/RenderBase.h" #include "VideoCommon/VideoBackendBase.h" @@ -542,6 +543,10 @@ static void EmuThread(std::unique_ptr<BootParameters> boot, WindowSystemInfo wsi return; } + // Inputs loading may have generated custom dynamic textures + // it's now ok to initialize any custom textures + HiresTexture::Update(); + AudioCommon::InitSoundStream(); Common::ScopeGuard audio_guard{&AudioCommon::ShutdownSoundStream}; diff --git a/Source/Core/InputCommon/DynamicInputTextureConfiguration.cpp b/Source/Core/InputCommon/DynamicInputTextureConfiguration.cpp index ad200e70a4..58c2c84d18 100644 --- a/Source/Core/InputCommon/DynamicInputTextureConfiguration.cpp +++ b/Source/Core/InputCommon/DynamicInputTextureConfiguration.cpp @@ -17,6 +17,7 @@ #include "Common/Logging/Log.h" #include "Common/StringUtil.h" #include "Core/ConfigManager.h" +#include "Core/Core.h" #include "InputCommon/ControllerEmu/ControllerEmu.h" #include "InputCommon/ImageOperations.h" #include "VideoCommon/RenderBase.h" @@ -259,6 +260,8 @@ void DynamicInputTextureConfiguration::GenerateTextures(const IniFile::Section* if (!any_dirty) return; + if (Core::GetState() == Core::State::Starting) + return; if (!g_renderer) return; g_renderer->ForceReloadTextures(); diff --git a/Source/Core/VideoCommon/HiresTextures.cpp b/Source/Core/VideoCommon/HiresTextures.cpp index d1ced9e307..039bc87c5e 100644 --- a/Source/Core/VideoCommon/HiresTextures.cpp +++ b/Source/Core/VideoCommon/HiresTextures.cpp @@ -51,7 +51,7 @@ static std::thread s_prefetcher; void HiresTexture::Init() { - Update(); + // Note: Update is not called here so that we handle dynamic textures on startup more gracefully } void HiresTexture::Shutdown() |
