summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/bgfx
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-04-27 08:13:59 +0200
committer Miodrag Milanovic <mmicko@gmail.com>2016-04-27 08:13:59 +0200
commitcfee536f22f032c7ead65075f73cc6fd8549e68b (patch)
treef4b4703dd0295571684456c19668f508b3ddcb3a /src/osd/modules/render/bgfx
parentbe8159d01eaa7533e7758bf07384501dbc6214f3 (diff)
Cleanups and version bumpmame0173
Diffstat (limited to 'src/osd/modules/render/bgfx')
-rw-r--r--src/osd/modules/render/bgfx/chain.cpp4
-rw-r--r--src/osd/modules/render/bgfx/chain.h8
-rw-r--r--src/osd/modules/render/bgfx/chainentry.h2
-rw-r--r--src/osd/modules/render/bgfx/chainmanager.cpp544
-rw-r--r--src/osd/modules/render/bgfx/chainmanager.h62
-rw-r--r--src/osd/modules/render/bgfx/clear.h8
-rw-r--r--src/osd/modules/render/bgfx/target.h2
-rw-r--r--src/osd/modules/render/bgfx/targetmanager.cpp8
-rw-r--r--src/osd/modules/render/bgfx/targetmanager.h4
-rw-r--r--src/osd/modules/render/bgfx/targetreader.cpp12
-rw-r--r--src/osd/modules/render/bgfx/texturemanager.cpp1
11 files changed, 327 insertions, 328 deletions
diff --git a/src/osd/modules/render/bgfx/chain.cpp b/src/osd/modules/render/bgfx/chain.cpp
index 8c517c8dc2f..9e399fef255 100644
--- a/src/osd/modules/render/bgfx/chain.cpp
+++ b/src/osd/modules/render/bgfx/chain.cpp
@@ -63,13 +63,13 @@ bgfx_chain::~bgfx_chain()
void bgfx_chain::process(render_primitive* prim, int view, int screen, texture_manager& textures, osd_window& window, uint64_t blend)
{
screen_device_iterator screen_iterator(window.machine().root_device());
- screen_device* screen_device = screen_iterator.byindex(screen);
+ screen_device* screen_device = screen_iterator.byindex(screen);
render_container &screen_container = screen_device->container();
int current_view = view;
uint16_t screen_width(floor((prim->bounds.x1 - prim->bounds.x0) + 0.5f));
uint16_t screen_height(floor((prim->bounds.y1 - prim->bounds.y0) + 0.5f));
- uint32_t rotation_type =
+ uint32_t rotation_type =
(window.target()->orientation() & ROT90) == ROT90 ? 1 :
(window.target()->orientation() & ROT180) == ROT180 ? 2 :
(window.target()->orientation() & ROT270) == ROT270 ? 3 : 0;
diff --git a/src/osd/modules/render/bgfx/chain.h b/src/osd/modules/render/bgfx/chain.h
index 4e7a0587cd9..eff50f2aedb 100644
--- a/src/osd/modules/render/bgfx/chain.h
+++ b/src/osd/modules/render/bgfx/chain.h
@@ -42,15 +42,15 @@ public:
private:
std::string m_name;
std::string m_author;
- bool m_transform;
- target_manager& m_targets;
+ bool m_transform;
+ target_manager& m_targets;
std::vector<bgfx_slider*> m_sliders;
std::vector<bgfx_parameter*> m_params;
std::vector<bgfx_chain_entry*> m_entries;
- std::vector<bgfx_target*> m_target_list;
+ std::vector<bgfx_target*> m_target_list;
std::map<std::string, bgfx_slider*> m_slider_map;
int64_t m_current_time;
- uint32_t m_screen_index;
+ uint32_t m_screen_index;
};
#endif // __DRAWBGFX_CHAIN__
diff --git a/src/osd/modules/render/bgfx/chainentry.h b/src/osd/modules/render/bgfx/chainentry.h
index 271941537a7..4f4bede5327 100644
--- a/src/osd/modules/render/bgfx/chainentry.h
+++ b/src/osd/modules/render/bgfx/chainentry.h
@@ -61,7 +61,7 @@ private:
std::string m_name;
bgfx_effect* m_effect;
- clear_state* m_clear;
+ clear_state* m_clear;
std::vector<bgfx_suppressor*> m_suppressors;
std::vector<bgfx_input_pair*> m_inputs;
std::vector<bgfx_entry_uniform*> m_uniforms;
diff --git a/src/osd/modules/render/bgfx/chainmanager.cpp b/src/osd/modules/render/bgfx/chainmanager.cpp
index f1f530271f5..8614149b7eb 100644
--- a/src/osd/modules/render/bgfx/chainmanager.cpp
+++ b/src/osd/modules/render/bgfx/chainmanager.cpp
@@ -38,22 +38,22 @@ using namespace rapidjson;
const uint32_t chain_manager::CHAIN_NONE = 0;
chain_manager::chain_manager(running_machine& machine, osd_options& options, texture_manager& textures, target_manager& targets, effect_manager& effects, uint32_t window_index, slider_dirty_notifier& slider_notifier)
- : m_machine(machine)
- , m_options(options)
- , m_textures(textures)
- , m_targets(targets)
- , m_effects(effects)
- , m_window_index(window_index)
- , m_slider_notifier(slider_notifier)
- , m_screen_count(0)
+ : m_machine(machine)
+ , m_options(options)
+ , m_textures(textures)
+ , m_targets(targets)
+ , m_effects(effects)
+ , m_window_index(window_index)
+ , m_slider_notifier(slider_notifier)
+ , m_screen_count(0)
{
refresh_available_chains();
- parse_chain_selections(options.bgfx_screen_chains());
+ parse_chain_selections(options.bgfx_screen_chains());
}
chain_manager::~chain_manager()
{
- destroy_chains();
+ destroy_chains();
}
void chain_manager::refresh_available_chains()
@@ -181,280 +181,280 @@ bgfx_chain* chain_manager::load_chain(std::string name, uint32_t screen_index)
void chain_manager::parse_chain_selections(std::string chain_str)
{
- std::vector<std::string> chain_names = split_option_string(chain_str);
-
- while (m_current_chain.size() != chain_names.size())
- {
- m_screen_chains.push_back(nullptr);
- m_chain_names.push_back("");
- m_current_chain.push_back(CHAIN_NONE);
- }
-
- for (size_t index = 0; index < chain_names.size(); index++)
- {
- size_t chain_index = 0;
- for (chain_index = 0; chain_index < m_available_chains.size(); chain_index++)
- {
- if (m_available_chains[chain_index].m_name == chain_names[index])
- {
- break;
- }
- }
-
- if (chain_index < m_available_chains.size())
- {
- m_current_chain[index] = chain_index;
- m_chain_names[index] = m_available_chains[chain_index].m_name;
- }
- else
- {
- m_current_chain[index] = CHAIN_NONE;
- m_chain_names[index] = "";
- }
- }
+ std::vector<std::string> chain_names = split_option_string(chain_str);
+
+ while (m_current_chain.size() != chain_names.size())
+ {
+ m_screen_chains.push_back(nullptr);
+ m_chain_names.push_back("");
+ m_current_chain.push_back(CHAIN_NONE);
+ }
+
+ for (size_t index = 0; index < chain_names.size(); index++)
+ {
+ size_t chain_index = 0;
+ for (chain_index = 0; chain_index < m_available_chains.size(); chain_index++)
+ {
+ if (m_available_chains[chain_index].m_name == chain_names[index])
+ {
+ break;
+ }
+ }
+
+ if (chain_index < m_available_chains.size())
+ {
+ m_current_chain[index] = chain_index;
+ m_chain_names[index] = m_available_chains[chain_index].m_name;
+ }
+ else
+ {
+ m_current_chain[index] = CHAIN_NONE;
+ m_chain_names[index] = "";
+ }
+ }
}
std::vector<std::string> chain_manager::split_option_string(std::string chain_str) const
{
- std::vector<std::string> chain_names;
-
- uint32_t length = chain_str.length();
- uint32_t win = 0;
- uint32_t last_start = 0;
- for (uint32_t i = 0; i < length + 1; i++)
- {
- if (i == length || chain_str[i] == ',' || chain_str[i] == ':')
- {
- if (win == m_window_index)
- {
- chain_names.push_back(chain_str.substr(last_start, i - last_start));
- }
- last_start = i + 1;
- if (chain_str[i] == ':')
- {
- win++;
- }
- }
- }
-
- return chain_names;
+ std::vector<std::string> chain_names;
+
+ uint32_t length = chain_str.length();
+ uint32_t win = 0;
+ uint32_t last_start = 0;
+ for (uint32_t i = 0; i < length + 1; i++)
+ {
+ if (i == length || chain_str[i] == ',' || chain_str[i] == ':')
+ {
+ if (win == m_window_index)
+ {
+ chain_names.push_back(chain_str.substr(last_start, i - last_start));
+ }
+ last_start = i + 1;
+ if (chain_str[i] == ':')
+ {
+ win++;
+ }
+ }
+ }
+
+ return chain_names;
}
void chain_manager::load_chains()
{
- for (size_t chain = 0; chain < m_current_chain.size() && chain < m_screen_chains.size(); chain++)
- {
- if (m_current_chain[chain] != CHAIN_NONE)
- {
+ for (size_t chain = 0; chain < m_current_chain.size() && chain < m_screen_chains.size(); chain++)
+ {
+ if (m_current_chain[chain] != CHAIN_NONE)
+ {
chain_desc& desc = m_available_chains[m_current_chain[chain]];
m_chain_names[chain] = desc.m_name;
- m_screen_chains[chain] = load_chain(desc.m_path + "/" + desc.m_name, uint32_t(chain));
- }
- }
+ m_screen_chains[chain] = load_chain(desc.m_path + "/" + desc.m_name, uint32_t(chain));
+ }
+ }
}
void chain_manager::destroy_chains()
{
- for (size_t index = 0; index < m_screen_chains.size(); index++)
- {
- if (m_screen_chains[index] != nullptr)
- {
- delete m_screen_chains[index];
- m_screen_chains[index] = nullptr;
- }
- }
+ for (size_t index = 0; index < m_screen_chains.size(); index++)
+ {
+ if (m_screen_chains[index] != nullptr)
+ {
+ delete m_screen_chains[index];
+ m_screen_chains[index] = nullptr;
+ }
+ }
}
void chain_manager::reload_chains()
{
- destroy_chains();
- load_chains();
+ destroy_chains();
+ load_chains();
}
bgfx_chain* chain_manager::screen_chain(uint32_t screen)
{
- if (screen >= m_screen_chains.size())
- {
- return m_screen_chains[m_screen_chains.size() - 1];
- }
- else
- {
- return m_screen_chains[screen];
- }
+ if (screen >= m_screen_chains.size())
+ {
+ return m_screen_chains[m_screen_chains.size() - 1];
+ }
+ else
+ {
+ return m_screen_chains[screen];
+ }
}
void chain_manager::process_screen_quad(uint32_t view, uint32_t screen, render_primitive* prim, osd_window &window)
{
- uint16_t tex_width(prim->texture.width);
- uint16_t tex_height(prim->texture.height);
+ uint16_t tex_width(prim->texture.width);
+ uint16_t tex_height(prim->texture.height);
- const bgfx::Memory* mem = bgfx_util::mame_texture_data_to_bgfx_texture_data(prim->flags & PRIMFLAG_TEXFORMAT_MASK,
- tex_width, tex_height, prim->texture.rowpixels, prim->texture.palette, prim->texture.base);
+ const bgfx::Memory* mem = bgfx_util::mame_texture_data_to_bgfx_texture_data(prim->flags & PRIMFLAG_TEXFORMAT_MASK,
+ tex_width, tex_height, prim->texture.rowpixels, prim->texture.palette, prim->texture.base);
- std::string full_name = "screen" + std::to_string(screen);
- bgfx_texture *texture = new bgfx_texture(full_name, bgfx::TextureFormat::RGBA8, tex_width, tex_height, mem, BGFX_TEXTURE_U_CLAMP | BGFX_TEXTURE_V_CLAMP | BGFX_TEXTURE_MIN_POINT | BGFX_TEXTURE_MAG_POINT | BGFX_TEXTURE_MIP_POINT);
- m_textures.add_provider(full_name, texture);
+ std::string full_name = "screen" + std::to_string(screen);
+ bgfx_texture *texture = new bgfx_texture(full_name, bgfx::TextureFormat::RGBA8, tex_width, tex_height, mem, BGFX_TEXTURE_U_CLAMP | BGFX_TEXTURE_V_CLAMP | BGFX_TEXTURE_MIN_POINT | BGFX_TEXTURE_MAG_POINT | BGFX_TEXTURE_MIP_POINT);
+ m_textures.add_provider(full_name, texture);
- m_targets.update_target_sizes(screen, tex_width, tex_height, TARGET_STYLE_GUEST);
+ m_targets.update_target_sizes(screen, tex_width, tex_height, TARGET_STYLE_GUEST);
- bgfx_chain* chain = screen_chain(screen);
- chain->process(prim, view, screen, m_textures, window, bgfx_util::get_blend_state(PRIMFLAG_GET_BLENDMODE(prim->flags)));
- view += chain->applicable_passes();
+ bgfx_chain* chain = screen_chain(screen);
+ chain->process(prim, view, screen, m_textures, window, bgfx_util::get_blend_state(PRIMFLAG_GET_BLENDMODE(prim->flags)));
+ view += chain->applicable_passes();
- m_textures.add_provider(full_name, nullptr);
- delete texture;
+ m_textures.add_provider(full_name, nullptr);
+ delete texture;
}
std::vector<render_primitive*> chain_manager::count_screens(render_primitive* prim)
{
- std::vector<render_primitive*> screens;
+ std::vector<render_primitive*> screens;
- int screen_count = 0;
- while (prim != nullptr)
- {
- if (PRIMFLAG_GET_SCREENTEX(prim->flags))
- {
+ int screen_count = 0;
+ while (prim != nullptr)
+ {
+ if (PRIMFLAG_GET_SCREENTEX(prim->flags))
+ {
screen_count++;
screens.push_back(prim);
- }
- prim = prim->next();
- }
+ }
+ prim = prim->next();
+ }
- if (screen_count > 0)
- {
+ if (screen_count > 0)
+ {
update_screen_count(screen_count);
- m_targets.update_screen_count(screen_count);
- }
+ m_targets.update_screen_count(screen_count);
+ }
- return screens;
+ return screens;
}
void chain_manager::update_screen_count(uint32_t screen_count)
{
if (screen_count != m_screen_count)
{
- m_slider_notifier.set_sliders_dirty();
+ m_slider_notifier.set_sliders_dirty();
m_screen_count = screen_count;
- // Ensure we have one screen chain entry per screen
- while (m_screen_chains.size() < m_screen_count)
- {
- m_screen_chains.push_back(nullptr);
- m_chain_names.push_back("");
- m_current_chain.push_back(CHAIN_NONE);
- }
-
- // Ensure we have a screen chain selection slider per screen
- while (m_selection_sliders.size() < m_screen_count)
- {
- create_selection_slider(m_selection_sliders.size());
- }
-
- load_chains();
+ // Ensure we have one screen chain entry per screen
+ while (m_screen_chains.size() < m_screen_count)
+ {
+ m_screen_chains.push_back(nullptr);
+ m_chain_names.push_back("");
+ m_current_chain.push_back(CHAIN_NONE);
+ }
+
+ // Ensure we have a screen chain selection slider per screen
+ while (m_selection_sliders.size() < m_screen_count)
+ {
+ create_selection_slider(m_selection_sliders.size());
+ }
+
+ load_chains();
}
}
static INT32 update_trampoline(running_machine &machine, void *arg, int id, std::string *str, INT32 newval)
{
- if (arg != nullptr)
- {
- return reinterpret_cast<chain_manager*>(arg)->chain_changed(id, str, newval);
- }
- return 0;
+ if (arg != nullptr)
+ {
+ return reinterpret_cast<chain_manager*>(arg)->chain_changed(id, str, newval);
+ }
+ return 0;
}
int32_t chain_manager::chain_changed(int32_t id, std::string *str, int32_t newval)
{
- if (newval != SLIDER_NOCHANGE)
- {
- m_current_chain[id] = newval;
+ if (newval != SLIDER_NOCHANGE)
+ {
+ m_current_chain[id] = newval;
std::vector<std::vector<float>> settings = slider_settings();
- reload_chains();
- restore_slider_settings(id, settings);
+ reload_chains();
+ restore_slider_settings(id, settings);
- m_slider_notifier.set_sliders_dirty();
- }
+ m_slider_notifier.set_sliders_dirty();
+ }
- if (str != nullptr)
- {
- *str = string_format("%s", m_available_chains[m_current_chain[id]].m_name.c_str());
- }
+ if (str != nullptr)
+ {
+ *str = string_format("%s", m_available_chains[m_current_chain[id]].m_name.c_str());
+ }
- return m_current_chain[id];
+ return m_current_chain[id];
}
void chain_manager::create_selection_slider(uint32_t screen_index)
{
- if (screen_index < m_selection_sliders.size())
- {
- return;
- }
-
- std::string description = "Window " + std::to_string(m_window_index) + ", Screen " + std::to_string(screen_index) + " Effect:";
- size_t size = sizeof(slider_state) + description.length();
- slider_state *state = reinterpret_cast<slider_state *>(auto_alloc_array_clear(m_machine, UINT8, size));
-
- state->minval = 0;
- state->defval = m_current_chain[screen_index];
- state->maxval = m_available_chains.size() - 1;
- state->incval = 1;
- state->update = update_trampoline;
- state->arg = this;
- state->id = screen_index;
- strcpy(state->description, description.c_str());
-
- ui_menu_item item;
- item.text = state->description;
- item.subtext = "";
- item.flags = 0;
- item.ref = state;
- item.type = ui_menu_item_type::SLIDER;
- m_selection_sliders.push_back(item);
+ if (screen_index < m_selection_sliders.size())
+ {
+ return;
+ }
+
+ std::string description = "Window " + std::to_string(m_window_index) + ", Screen " + std::to_string(screen_index) + " Effect:";
+ size_t size = sizeof(slider_state) + description.length();
+ slider_state *state = reinterpret_cast<slider_state *>(auto_alloc_array_clear(m_machine, UINT8, size));
+
+ state->minval = 0;
+ state->defval = m_current_chain[screen_index];
+ state->maxval = m_available_chains.size() - 1;
+ state->incval = 1;
+ state->update = update_trampoline;
+ state->arg = this;
+ state->id = screen_index;
+ strcpy(state->description, description.c_str());
+
+ ui_menu_item item;
+ item.text = state->description;
+ item.subtext = "";
+ item.flags = 0;
+ item.ref = state;
+ item.type = ui_menu_item_type::SLIDER;
+ m_selection_sliders.push_back(item);
}
uint32_t chain_manager::handle_screen_chains(uint32_t view, render_primitive *starting_prim, osd_window& window)
{
- std::vector<render_primitive*> screens = count_screens(starting_prim);
-
- if (screens.size() == 0)
- {
- return 0;
- }
-
- // Process each screen as necessary
- uint32_t used_views = 0;
- uint32_t screen_index = 0;
- for (render_primitive* prim : screens)
- {
- if (m_current_chain[screen_index] == CHAIN_NONE || screen_chain(screen_index) == nullptr)
- {
+ std::vector<render_primitive*> screens = count_screens(starting_prim);
+
+ if (screens.size() == 0)
+ {
+ return 0;
+ }
+
+ // Process each screen as necessary
+ uint32_t used_views = 0;
+ uint32_t screen_index = 0;
+ for (render_primitive* prim : screens)
+ {
+ if (m_current_chain[screen_index] == CHAIN_NONE || screen_chain(screen_index) == nullptr)
+ {
screen_index++;
- continue;
- }
+ continue;
+ }
- uint16_t screen_width(floor((prim->bounds.x1 - prim->bounds.x0) + 0.5f));
- uint16_t screen_height(floor((prim->bounds.y1 - prim->bounds.y0) + 0.5f));
- if (window.swap_xy())
- {
- std::swap(screen_width, screen_height);
- }
+ uint16_t screen_width(floor((prim->bounds.x1 - prim->bounds.x0) + 0.5f));
+ uint16_t screen_height(floor((prim->bounds.y1 - prim->bounds.y0) + 0.5f));
+ if (window.swap_xy())
+ {
+ std::swap(screen_width, screen_height);
+ }
- m_targets.update_target_sizes(screen_index, screen_width, screen_height, TARGET_STYLE_NATIVE);
- process_screen_quad(view + used_views, screen_index, prim, window);
- used_views += screen_chain(screen_index)->applicable_passes();
+ m_targets.update_target_sizes(screen_index, screen_width, screen_height, TARGET_STYLE_NATIVE);
+ process_screen_quad(view + used_views, screen_index, prim, window);
+ used_views += screen_chain(screen_index)->applicable_passes();
- screen_index++;
- }
+ screen_index++;
+ }
- bgfx::setViewFrameBuffer(view + used_views, BGFX_INVALID_HANDLE);
+ bgfx::setViewFrameBuffer(view + used_views, BGFX_INVALID_HANDLE);
- return used_views;
+ return used_views;
}
bool chain_manager::has_applicable_chain(uint32_t screen)
{
- return screen < m_screen_count && m_current_chain[screen] != CHAIN_NONE && m_screen_chains[screen] != nullptr;
+ return screen < m_screen_count && m_current_chain[screen] != CHAIN_NONE && m_screen_chains[screen] != nullptr;
}
bool chain_manager::needs_sliders()
@@ -464,79 +464,79 @@ bool chain_manager::needs_sliders()
void chain_manager::restore_slider_settings(int32_t id, std::vector<std::vector<float>>& settings)
{
- if (!needs_sliders())
- {
- return;
- }
+ if (!needs_sliders())
+ {
+ return;
+ }
- for (size_t index = 0; index < m_screen_chains.size() && index < m_screen_count; index++)
- {
+ for (size_t index = 0; index < m_screen_chains.size() && index < m_screen_count; index++)
+ {
if (index == id)
{
continue;
}
- bgfx_chain* chain = m_screen_chains[index];
- if (chain == nullptr)
- {
- continue;
- }
+ bgfx_chain* chain = m_screen_chains[index];
+ if (chain == nullptr)
+ {
+ continue;
+ }
- std::vector<bgfx_slider*> chain_sliders = chain->sliders();
+ std::vector<bgfx_slider*> chain_sliders = chain->sliders();
for (size_t slider = 0; slider < chain_sliders.size(); slider++)
{
chain_sliders[slider]->import(settings[index][slider]);
}
- }
+ }
}
std::vector<std::vector<float>> chain_manager::slider_settings()
{
std::vector<std::vector<float>> curr;
- if (!needs_sliders())
- {
- return curr;
- }
+ if (!needs_sliders())
+ {
+ return curr;
+ }
- for (size_t index = 0; index < m_screen_chains.size() && index < m_screen_count; index++)
- {
+ for (size_t index = 0; index < m_screen_chains.size() && index < m_screen_count; index++)
+ {
curr.push_back(std::vector<float>());
- bgfx_chain* chain = m_screen_chains[index];
- if (chain == nullptr)
- {
- continue;
- }
+ bgfx_chain* chain = m_screen_chains[index];
+ if (chain == nullptr)
+ {
+ continue;
+ }
- std::vector<bgfx_slider*> chain_sliders = chain->sliders();
- for (bgfx_slider* slider : chain_sliders)
- {
+ std::vector<bgfx_slider*> chain_sliders = chain->sliders();
+ for (bgfx_slider* slider : chain_sliders)
+ {
curr[index].push_back(slider->value());
- }
- }
+ }
+ }
- return curr;
+ return curr;
}
std::vector<ui_menu_item> chain_manager::get_slider_list()
{
std::vector<ui_menu_item> sliders;
- if (!needs_sliders())
- {
- return sliders;
- }
+ if (!needs_sliders())
+ {
+ return sliders;
+ }
- for (size_t index = 0; index < m_screen_chains.size() && index < m_screen_count; index++)
- {
- bgfx_chain* chain = m_screen_chains[index];
+ for (size_t index = 0; index < m_screen_chains.size() && index < m_screen_count; index++)
+ {
+ bgfx_chain* chain = m_screen_chains[index];
sliders.push_back(m_selection_sliders[index]);
- if (chain == nullptr)
- {
- continue;
- }
+ if (chain == nullptr)
+ {
+ continue;
+ }
std::vector<bgfx_chain_entry*> chain_entries = chain->entries();
for (bgfx_chain_entry* entry : chain_entries)
@@ -552,34 +552,34 @@ std::vector<ui_menu_item> chain_manager::get_slider_list()
}
}
- std::vector<bgfx_slider*> chain_sliders = chain->sliders();
- for (bgfx_slider* slider : chain_sliders)
- {
- slider_state* core_slider = slider->core_slider();
-
- ui_menu_item item;
- item.text = core_slider->description;
- item.subtext = "";
- item.flags = 0;
- item.ref = core_slider;
- item.type = ui_menu_item_type::SLIDER;
- m_selection_sliders.push_back(item);
-
- sliders.push_back(item);
- }
-
- if (chain_sliders.size() > 0)
- {
- ui_menu_item item;
- item.text = MENU_SEPARATOR_ITEM;
- item.subtext = "";
- item.flags = 0;
- item.ref = nullptr;
- item.type = ui_menu_item_type::SEPARATOR;
-
- sliders.push_back(item);
+ std::vector<bgfx_slider*> chain_sliders = chain->sliders();
+ for (bgfx_slider* slider : chain_sliders)
+ {
+ slider_state* core_slider = slider->core_slider();
+
+ ui_menu_item item;
+ item.text = core_slider->description;
+ item.subtext = "";
+ item.flags = 0;
+ item.ref = core_slider;
+ item.type = ui_menu_item_type::SLIDER;
+ m_selection_sliders.push_back(item);
+
+ sliders.push_back(item);
+ }
+
+ if (chain_sliders.size() > 0)
+ {
+ ui_menu_item item;
+ item.text = MENU_SEPARATOR_ITEM;
+ item.subtext = "";
+ item.flags = 0;
+ item.ref = nullptr;
+ item.type = ui_menu_item_type::SEPARATOR;
+
+ sliders.push_back(item);
}
- }
+ }
- return sliders;
+ return sliders;
}
diff --git a/src/osd/modules/render/bgfx/chainmanager.h b/src/osd/modules/render/bgfx/chainmanager.h
index 0907cd27f57..979c487a237 100644
--- a/src/osd/modules/render/bgfx/chainmanager.h
+++ b/src/osd/modules/render/bgfx/chainmanager.h
@@ -49,10 +49,10 @@ public:
chain_manager(running_machine& machine, osd_options& options, texture_manager& textures, target_manager& targets, effect_manager& effects, uint32_t window_index, slider_dirty_notifier& slider_notifier);
~chain_manager();
- uint32_t handle_screen_chains(uint32_t view, render_primitive *starting_prim, osd_window& window);
- int32_t chain_changed(int32_t index, std::string *str, int32_t newval);
+ uint32_t handle_screen_chains(uint32_t view, render_primitive *starting_prim, osd_window& window);
+ int32_t chain_changed(int32_t index, std::string *str, int32_t newval);
- // Getters
+ // Getters
running_machine& machine() { return m_machine; }
osd_options& options() { return m_options; }
texture_manager& textures() { return m_textures; }
@@ -61,48 +61,48 @@ public:
slider_dirty_notifier& slider_notifier() { return m_slider_notifier; }
uint32_t window_index() { return m_window_index; }
uint32_t screen_count() { return m_screen_count; }
- bgfx_chain* screen_chain(uint32_t screen);
- bgfx_chain* load_chain(std::string name, uint32_t screen_index);
- bool has_applicable_chain(uint32_t screen);
- std::vector<ui_menu_item> get_slider_list();
- std::vector<std::vector<float>> slider_settings();
+ bgfx_chain* screen_chain(uint32_t screen);
+ bgfx_chain* load_chain(std::string name, uint32_t screen_index);
+ bool has_applicable_chain(uint32_t screen);
+ std::vector<ui_menu_item> get_slider_list();
+ std::vector<std::vector<float>> slider_settings();
- // Setters
- void restore_slider_settings(int32_t id, std::vector<std::vector<float>>& settings);
+ // Setters
+ void restore_slider_settings(int32_t id, std::vector<std::vector<float>>& settings);
private:
- void load_chains();
- void destroy_chains();
- void reload_chains();
+ void load_chains();
+ void destroy_chains();
+ void reload_chains();
void refresh_available_chains();
void destroy_unloaded_chains();
- void find_available_chains(std::string root, std::string path);
- void parse_chain_selections(std::string chain_str);
- std::vector<std::string> split_option_string(std::string chain_str) const;
+ void find_available_chains(std::string root, std::string path);
+ void parse_chain_selections(std::string chain_str);
+ std::vector<std::string> split_option_string(std::string chain_str) const;
void update_screen_count(uint32_t screen_count);
- void create_selection_slider(uint32_t screen_index);
- bool needs_sliders();
+ void create_selection_slider(uint32_t screen_index);
+ bool needs_sliders();
- std::vector<render_primitive*> count_screens(render_primitive* prim);
- void process_screen_quad(uint32_t view, uint32_t screen, render_primitive* prim, osd_window &window);
+ std::vector<render_primitive*> count_screens(render_primitive* prim);
+ void process_screen_quad(uint32_t view, uint32_t screen, render_primitive* prim, osd_window &window);
- running_machine& m_machine;
+ running_machine& m_machine;
osd_options& m_options;
texture_manager& m_textures;
target_manager& m_targets;
effect_manager& m_effects;
- uint32_t m_window_index;
- slider_dirty_notifier& m_slider_notifier;
- uint32_t m_screen_count;
- std::vector<chain_desc> m_available_chains;
- std::vector<bgfx_chain*> m_screen_chains;
- std::vector<std::string> m_chain_names;
- std::vector<ui_menu_item> m_selection_sliders;
- std::vector<int32_t> m_current_chain;
-
- static const uint32_t CHAIN_NONE;
+ uint32_t m_window_index;
+ slider_dirty_notifier& m_slider_notifier;
+ uint32_t m_screen_count;
+ std::vector<chain_desc> m_available_chains;
+ std::vector<bgfx_chain*> m_screen_chains;
+ std::vector<std::string> m_chain_names;
+ std::vector<ui_menu_item> m_selection_sliders;
+ std::vector<int32_t> m_current_chain;
+
+ static const uint32_t CHAIN_NONE;
};
#endif // __DRAWBGFX_CHAIN_MANAGER__
diff --git a/src/osd/modules/render/bgfx/clear.h b/src/osd/modules/render/bgfx/clear.h
index 3d45f9a7d62..01849a2cd90 100644
--- a/src/osd/modules/render/bgfx/clear.h
+++ b/src/osd/modules/render/bgfx/clear.h
@@ -21,10 +21,10 @@ public:
void bind(int view) const;
private:
- const uint64_t m_flags;
- const uint32_t m_color;
- const float m_depth;
- const uint8_t m_stencil;
+ const uint64_t m_flags;
+ const uint32_t m_color;
+ const float m_depth;
+ const uint8_t m_stencil;
};
#endif // __DRAWBGFX_CLEAR__
diff --git a/src/osd/modules/render/bgfx/target.h b/src/osd/modules/render/bgfx/target.h
index 17527f189a7..53fd70dd46b 100644
--- a/src/osd/modules/render/bgfx/target.h
+++ b/src/osd/modules/render/bgfx/target.h
@@ -52,7 +52,7 @@ public:
private:
std::string m_name;
bgfx::TextureFormat::Enum m_format;
- //bool m_readback;
+ //bool m_readback;
bgfx::FrameBufferHandle* m_targets;
bgfx::TextureHandle* m_textures;
diff --git a/src/osd/modules/render/bgfx/targetmanager.cpp b/src/osd/modules/render/bgfx/targetmanager.cpp
index 40895727437..4d56e33fc3e 100644
--- a/src/osd/modules/render/bgfx/targetmanager.cpp
+++ b/src/osd/modules/render/bgfx/targetmanager.cpp
@@ -176,12 +176,12 @@ void target_manager::create_target_if_nonexistent(uint32_t screen, std::string n
uint16_t target_manager::width(uint32_t style, uint32_t screen)
{
- std::vector<osd_dim>& sizes = style == TARGET_STYLE_GUEST ? m_guest_dims : m_native_dims;
- return screen < sizes.size() ? sizes[screen].width() : 0;
+ std::vector<osd_dim>& sizes = style == TARGET_STYLE_GUEST ? m_guest_dims : m_native_dims;
+ return screen < sizes.size() ? sizes[screen].width() : 0;
}
uint16_t target_manager::height(uint32_t style, uint32_t screen)
{
- std::vector<osd_dim>& sizes = style == TARGET_STYLE_GUEST ? m_guest_dims : m_native_dims;
- return screen < sizes.size() ? sizes[screen].height() : 0;
+ std::vector<osd_dim>& sizes = style == TARGET_STYLE_GUEST ? m_guest_dims : m_native_dims;
+ return screen < sizes.size() ? sizes[screen].height() : 0;
}
diff --git a/src/osd/modules/render/bgfx/targetmanager.h b/src/osd/modules/render/bgfx/targetmanager.h
index 0ab45e638d1..58007084080 100644
--- a/src/osd/modules/render/bgfx/targetmanager.h
+++ b/src/osd/modules/render/bgfx/targetmanager.h
@@ -39,8 +39,8 @@ public:
// Getters
bgfx_target* target(uint32_t screen, std::string name);
- uint16_t width(uint32_t style, uint32_t screen);
- uint16_t height(uint32_t style, uint32_t screen);
+ uint16_t width(uint32_t style, uint32_t screen);
+ uint16_t height(uint32_t style, uint32_t screen);
private:
void rebuild_targets(uint32_t screen, uint32_t style);
diff --git a/src/osd/modules/render/bgfx/targetreader.cpp b/src/osd/modules/render/bgfx/targetreader.cpp
index 9a8d6aebb63..71b82383a59 100644
--- a/src/osd/modules/render/bgfx/targetreader.cpp
+++ b/src/osd/modules/render/bgfx/targetreader.cpp
@@ -43,13 +43,13 @@ bgfx_target* target_reader::read_from_value(const Value& value, std::string pref
switch (mode)
{
case TARGET_STYLE_GUEST:
- width = chains.targets().width(TARGET_STYLE_GUEST, screen_index);
- height = chains.targets().height(TARGET_STYLE_GUEST, screen_index);
- break;
+ width = chains.targets().width(TARGET_STYLE_GUEST, screen_index);
+ height = chains.targets().height(TARGET_STYLE_GUEST, screen_index);
+ break;
case TARGET_STYLE_NATIVE:
- width = chains.targets().width(TARGET_STYLE_NATIVE, screen_index);
- height = chains.targets().height(TARGET_STYLE_NATIVE, screen_index);
- break;
+ width = chains.targets().width(TARGET_STYLE_NATIVE, screen_index);
+ height = chains.targets().height(TARGET_STYLE_NATIVE, screen_index);
+ break;
case TARGET_STYLE_CUSTOM:
if (!READER_CHECK(value.HasMember("width"), (prefix + "Target '" + target_name + "': Must have numeric value 'width'\n").c_str())) return nullptr;
if (!READER_CHECK(value["width"].IsNumber(), (prefix + "Target '" + target_name + "': Value 'width' must be a number\n").c_str())) return nullptr;
diff --git a/src/osd/modules/render/bgfx/texturemanager.cpp b/src/osd/modules/render/bgfx/texturemanager.cpp
index 0b2d0bb9969..2a637d3992d 100644
--- a/src/osd/modules/render/bgfx/texturemanager.cpp
+++ b/src/osd/modules/render/bgfx/texturemanager.cpp
@@ -120,4 +120,3 @@ void texture_manager::remove_provider(std::string name, bool delete_provider)
m_textures[name] = nullptr;
}
}
-