diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-06-08 16:12:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-08 16:12:49 +0200 |
| commit | 78f5c5f8d23f8dc8e5650d776b5883252a31385d (patch) | |
| tree | 99dbe058c5299d47e28b9edd3d8a936ee7faaf38 /Source/Core/VideoCommon/PostProcessing.cpp | |
| parent | 3dbdf0472d4f0e9900c39c883034ede911c33020 (diff) | |
| parent | c9e61a79b7583f6f00966d4ac58c18eed126c810 (diff) | |
Merge pull request #11899 from Filoppi/patch-20
Video: Fix Post Process shader options issues
Diffstat (limited to 'Source/Core/VideoCommon/PostProcessing.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/PostProcessing.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/PostProcessing.cpp b/Source/Core/VideoCommon/PostProcessing.cpp index 601d340b0b..c2f311376b 100644 --- a/Source/Core/VideoCommon/PostProcessing.cpp +++ b/Source/Core/VideoCommon/PostProcessing.cpp @@ -255,7 +255,13 @@ void PostProcessingConfiguration::LoadOptionsConfiguration() std::string value; ini.GetOrCreateSection(section)->Get(it.second.m_option_name, &value); if (!value.empty()) - TryParseVector(value, &it.second.m_integer_values); + { + auto integer_values = it.second.m_integer_values; + if (TryParseVector(value, &integer_values)) + { + it.second.m_integer_values = integer_values; + } + } } break; case ConfigurationOption::OptionType::Float: @@ -263,7 +269,13 @@ void PostProcessingConfiguration::LoadOptionsConfiguration() std::string value; ini.GetOrCreateSection(section)->Get(it.second.m_option_name, &value); if (!value.empty()) - TryParseVector(value, &it.second.m_float_values); + { + auto float_values = it.second.m_float_values; + if (TryParseVector(value, &float_values)) + { + it.second.m_float_values = float_values; + } + } } break; } @@ -664,13 +676,13 @@ void PostProcessing::FillUniformBuffer(const MathUtil::Rectangle<int>& src, break; case PostProcessingConfiguration::ConfigurationOption::OptionType::Integer: - ASSERT(it.second.m_integer_values.size() < 4); + ASSERT(it.second.m_integer_values.size() <= 4); std::copy_n(it.second.m_integer_values.begin(), it.second.m_integer_values.size(), value.as_int); break; case PostProcessingConfiguration::ConfigurationOption::OptionType::Float: - ASSERT(it.second.m_float_values.size() < 4); + ASSERT(it.second.m_float_values.size() <= 4); std::copy_n(it.second.m_float_values.begin(), it.second.m_float_values.size(), value.as_float); break; |
