From ce7db2e32bb60d4ef5f107dc913ff19f9ad39057 Mon Sep 17 00:00:00 2001 From: iwubcode Date: Tue, 2 Feb 2021 23:04:33 -0600 Subject: InputCommon: When using dynamic input textures, only call force reload textures once for packs that have multiple configurations --- Source/Core/InputCommon/DynamicInputTextureManager.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Source/Core/InputCommon/DynamicInputTextureManager.cpp') diff --git a/Source/Core/InputCommon/DynamicInputTextureManager.cpp b/Source/Core/InputCommon/DynamicInputTextureManager.cpp index 437d083ee9..31d0ee2aeb 100644 --- a/Source/Core/InputCommon/DynamicInputTextureManager.cpp +++ b/Source/Core/InputCommon/DynamicInputTextureManager.cpp @@ -10,9 +10,11 @@ #include "Common/FileSearch.h" #include "Common/FileUtil.h" #include "Core/ConfigManager.h" +#include "Core/Core.h" #include "InputCommon/DynamicInputTextureConfiguration.h" #include "VideoCommon/HiresTextures.h" +#include "VideoCommon/RenderBase.h" namespace InputCommon { @@ -41,9 +43,13 @@ void DynamicInputTextureManager::Load() void DynamicInputTextureManager::GenerateTextures(const IniFile::Section* sec, const std::string& controller_name) { + bool any_dirty = false; for (const auto& configuration : m_configuration) { - configuration.GenerateTextures(sec, controller_name); + any_dirty |= configuration.GenerateTextures(sec, controller_name); } + + if (any_dirty && g_renderer && Core::GetState() != Core::State::Starting) + g_renderer->ForceReloadTextures(); } } // namespace InputCommon -- cgit v1.2.3