diff options
| author | 2016-03-10 16:03:43 +0100 | |
|---|---|---|
| committer | 2016-03-13 15:51:17 +0100 | |
| commit | ad1e6ef899eb856f14354fa952b2a2b0c8aafaa7 (patch) | |
| tree | b744f9d5ca18d6a56c7e5e1d543623983094c493 /src/osd/modules/render/bgfx/chainreader.cpp | |
| parent | 47bdc0f2541571e3032b0b951783e9838680cedd (diff) | |
Add dynamic skipping of shader chain passes, nw
Diffstat (limited to 'src/osd/modules/render/bgfx/chainreader.cpp')
| -rw-r--r-- | src/osd/modules/render/bgfx/chainreader.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/osd/modules/render/bgfx/chainreader.cpp b/src/osd/modules/render/bgfx/chainreader.cpp index 19e476ccb03..00eb77eaa59 100644 --- a/src/osd/modules/render/bgfx/chainreader.cpp +++ b/src/osd/modules/render/bgfx/chainreader.cpp @@ -71,6 +71,7 @@ bgfx_chain* chain_reader::read_from_value(const Value& value, running_machine& m if (value.HasMember("targets")) { const Value& target_array = value["targets"]; + // TODO: Move into its own reader for (UINT32 i = 0; i < target_array.Size(); i++) { assert(target_array[i].HasMember("name")); @@ -115,14 +116,18 @@ bgfx_chain* chain_reader::read_from_value(const Value& value, running_machine& m // Parse chain entries std::vector<bgfx_chain_entry*> entries; - if (value.HasMember("passes")) { + if (value.HasMember("passes")) + { const Value& entry_array = value["passes"]; - for (UINT32 i = 0; i < entry_array.Size(); i++) { + for (UINT32 i = 0; i < entry_array.Size(); i++) + { entries.push_back(chain_entry_reader::read_from_value(entry_array[i], textures, targets, effects, slider_map)); } } - return new bgfx_chain(name, author, sliders, parameters, entries); + std::string output = value["output"].GetString(); + + return new bgfx_chain(name, author, sliders, parameters, entries, output); } void chain_reader::validate_parameters(const Value& value) @@ -132,4 +137,7 @@ void chain_reader::validate_parameters(const Value& value) assert(value.HasMember("author")); assert(value["author"].IsString()); assert(value.HasMember("passes")); + assert(value["passes"].IsArray()); + assert(value.HasMember("output")); + assert(value["output"].IsString()); } |
