summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/bgfx/entryuniformreader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/modules/render/bgfx/entryuniformreader.cpp')
-rw-r--r--src/osd/modules/render/bgfx/entryuniformreader.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/osd/modules/render/bgfx/entryuniformreader.cpp b/src/osd/modules/render/bgfx/entryuniformreader.cpp
index 949fc202bc3..c9a11086817 100644
--- a/src/osd/modules/render/bgfx/entryuniformreader.cpp
+++ b/src/osd/modules/render/bgfx/entryuniformreader.cpp
@@ -17,12 +17,18 @@
bgfx_entry_uniform* entry_uniform_reader::read_from_value(const Value& value, std::string prefix, bgfx_effect* effect, std::map<std::string, bgfx_slider*>& sliders, std::map<std::string, bgfx_parameter*>& params)
{
- validate_parameters(value, prefix);
+ if (!validate_parameters(value, prefix))
+ {
+ return nullptr;
+ }
std::string name = value["uniform"].GetString();
bgfx_uniform* uniform = effect->uniform(name);
- READER_ASSERT(uniform != nullptr, (prefix + "Uniform '" + name + " does not appear to exist\n").c_str());
+ if (!READER_CHECK(uniform != nullptr, (prefix + "Uniform '" + name + " does not appear to exist\n").c_str()))
+ {
+ return nullptr;
+ }
if (value.HasMember("slider"))
{
@@ -36,12 +42,18 @@ bgfx_entry_uniform* entry_uniform_reader::read_from_value(const Value& value, st
{
return param_uniform_reader::read_from_value(value, prefix, uniform, params);
}
+ else
+ {
+ READER_CHECK(false, (prefix + "Unrecognized uniform type for uniform binding " + name).c_str());
+ }
+
return nullptr;
}
-void entry_uniform_reader::validate_parameters(const Value& value, std::string prefix)
+bool entry_uniform_reader::validate_parameters(const Value& value, std::string prefix)
{
- READER_ASSERT(value.HasMember("uniform"), (prefix + "Must have string value 'uniform' (what uniform are we mapping?)\n").c_str());
- READER_ASSERT(value["uniform"].IsString(), (prefix + "Value 'effect' must be a string\n").c_str());
+ if (!READER_CHECK(value.HasMember("uniform"), (prefix + "Must have string value 'uniform' (what uniform are we mapping?)\n").c_str())) return false;
+ if (!READER_CHECK(value["uniform"].IsString(), (prefix + "Value 'effect' must be a string\n").c_str())) return false;
+ return true;
}