summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/PostProcessing.cpp
diff options
context:
space:
mode:
authorAdmiral H. Curtiss <pikachu025@gmail.com>2023-06-08 16:12:49 +0200
committerGitHub <noreply@github.com>2023-06-08 16:12:49 +0200
commit78f5c5f8d23f8dc8e5650d776b5883252a31385d (patch)
tree99dbe058c5299d47e28b9edd3d8a936ee7faaf38 /Source/Core/VideoCommon/PostProcessing.cpp
parent3dbdf0472d4f0e9900c39c883034ede911c33020 (diff)
parentc9e61a79b7583f6f00966d4ac58c18eed126c810 (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.cpp20
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;