diff options
author | 2016-04-10 02:25:11 +0200 | |
---|---|---|
committer | 2016-04-10 02:38:08 +0200 | |
commit | 8719535cbc8341254f0b89cb5d834c7e8aa4483a (patch) | |
tree | 7b54b8a59a11257570cfc445bf0e9ca2e528c769 /src/osd/modules/render/drawd3d.cpp | |
parent | 74a8e5d1dd20dd7dca94425245fe7c65587a99ac (diff) |
Make sliders use an std::vector instead of a linked list, nw
Diffstat (limited to 'src/osd/modules/render/drawd3d.cpp')
-rw-r--r-- | src/osd/modules/render/drawd3d.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/osd/modules/render/drawd3d.cpp b/src/osd/modules/render/drawd3d.cpp index 2da64508647..020e4ee3de5 100644 --- a/src/osd/modules/render/drawd3d.cpp +++ b/src/osd/modules/render/drawd3d.cpp @@ -598,7 +598,8 @@ int renderer_d3d9::pre_window_draw_check() // if we're restarting the renderer, leave things alone if (m_restarting) { - m_shaders->toggle(); + m_sliders.clear(); + m_shaders->toggle(m_sliders); m_restarting = false; } @@ -896,14 +897,16 @@ try_again: m_shaders = (shaders*)global_alloc_clear<shaders>(); m_shaders->init(d3dintf, &window().machine(), this); - m_sliders_dirty = true; - int failed = m_shaders->create_resources(false); + m_sliders.clear(); + int failed = m_shaders->create_resources(false, m_sliders); if (failed) { return failed; } + m_sliders_dirty = true; + return device_create_resources(); } @@ -1002,6 +1005,7 @@ void renderer_d3d9::device_delete() if (m_shaders != nullptr) { // free our effects + m_sliders.clear(); m_shaders->delete_resources(false); // delete the HLSL interface @@ -1130,6 +1134,7 @@ int renderer_d3d9::device_test_cooperative() osd_printf_verbose("Direct3D: resetting device\n"); // free all existing resources and call reset on the device + m_sliders.clear(); m_shaders->delete_resources(true); device_delete_resources(); result = (*d3dintf->device.reset)(m_device, &m_presentation); @@ -1149,7 +1154,8 @@ int renderer_d3d9::device_test_cooperative() return 1; } - if (m_shaders->create_resources(true)) + m_sliders.clear(); + if (m_shaders->create_resources(true, m_sliders)) { osd_printf_verbose("Direct3D: failed to recreate HLSL resources for device; failing permanently\n"); device_delete(); |