diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2021-02-02 23:04:33 -0600 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2021-02-11 19:18:38 -0600 |
| commit | ce7db2e32bb60d4ef5f107dc913ff19f9ad39057 (patch) | |
| tree | f7b1050e259f2a4a6f6d07b0a1986a3ea439aa54 /Source/Core/InputCommon/DynamicInputTextureManager.cpp | |
| parent | 0a9c764dc4973cf17e982ee142b9929690b1aa73 (diff) | |
InputCommon: When using dynamic input textures, only call force reload textures once for packs that have multiple configurations
Diffstat (limited to 'Source/Core/InputCommon/DynamicInputTextureManager.cpp')
| -rw-r--r-- | Source/Core/InputCommon/DynamicInputTextureManager.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
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 |
