diff options
Diffstat (limited to 'src/osd')
-rw-r--r-- | src/osd/eigccx86.h | 10 | ||||
-rw-r--r-- | src/osd/eivc.h | 4 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugimgui.cpp | 17 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/chainentry.cpp | 10 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/chainmanager.cpp | 4 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/effect.cpp | 2 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/effectmanager.cpp | 4 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/shadermanager.cpp | 8 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/target.cpp | 6 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/texture.cpp | 2 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/texturemanager.cpp | 2 | ||||
-rw-r--r-- | src/osd/modules/render/bgfx/uniform.cpp | 2 | ||||
-rw-r--r-- | src/osd/modules/render/drawbgfx.cpp | 23 |
13 files changed, 44 insertions, 50 deletions
diff --git a/src/osd/eigccx86.h b/src/osd/eigccx86.h index b67b646451e..b3831d21524 100644 --- a/src/osd/eigccx86.h +++ b/src/osd/eigccx86.h @@ -474,13 +474,12 @@ _count_leading_zeros(uint32_t value) __asm__ ( " bsrl %[value], %[result] ;" " cmovzl %[bias], %[result] ;" - " xorl $31, %[result] ;" : [result] "=&r" (result) // result can be in any register : [value] "rm" (value) // 'value' can be register or memory - , [bias] "rm" (uint32_t(63)) // 'bias' can be register or memory + , [bias] "rm" (~uint32_t(0)) // 'bias' can be register or memory : "cc" // clobbers condition codes ); - return result; + return 31U - result; } @@ -497,13 +496,12 @@ _count_leading_ones(uint32_t value) __asm__ ( " bsrl %[value], %[result] ;" " cmovzl %[bias], %[result] ;" - " xorl $31, %[result] ;" : [result] "=&r" (result) // result can be in any register : [value] "rm" (~value) // 'value' can be register or memory - , [bias] "rm" (uint32_t(63)) // 'bias' can be register or memory + , [bias] "rm" (~uint32_t(0)) // 'bias' can be register or memory : "cc" // clobbers condition codes ); - return result; + return 31U - result; } #endif // MAME_OSD_EIGCCX86_H diff --git a/src/osd/eivc.h b/src/osd/eivc.h index de4ea809a28..3fa34f51b3c 100644 --- a/src/osd/eivc.h +++ b/src/osd/eivc.h @@ -31,7 +31,7 @@ inline uint8_t _count_leading_zeros(uint32_t value) { unsigned long index; - return _BitScanReverse(&index, value) ? (index ^ 31) : 32; + return _BitScanReverse(&index, value) ? (31U - index) : 32U; } #endif @@ -46,7 +46,7 @@ inline uint8_t _count_leading_zeros(uint32_t value) inline uint8_t _count_leading_ones(uint32_t value) { unsigned long index; - return _BitScanReverse(&index, ~value) ? (index ^ 31) : 32; + return _BitScanReverse(&index, ~value) ? (31U - index) : 32U; } #endif diff --git a/src/osd/modules/debugger/debugimgui.cpp b/src/osd/modules/debugger/debugimgui.cpp index 293ac0229df..11e19b261eb 100644 --- a/src/osd/modules/debugger/debugimgui.cpp +++ b/src/osd/modules/debugger/debugimgui.cpp @@ -184,7 +184,6 @@ private: const char* font_name; float font_size; ImVec2 m_text_size; // size of character (assumes monospaced font is in use) - ImguiFontHandle m_font; uint8_t m_key_char; bool m_hide; int m_win_count; // number of active windows, does not decrease, used to ID individual windows @@ -677,7 +676,7 @@ void debug_imgui::draw_view(debug_area* view_ptr, bool exp_change) void debug_imgui::draw_bpoints(debug_area* view_ptr, bool* opened) { - ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiSetCond_Once); + ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiCond_Once); if(ImGui::Begin(view_ptr->title.c_str(),opened)) { view_ptr->is_collapsed = false; @@ -723,7 +722,7 @@ void debug_imgui::add_wpoints(int id) void debug_imgui::draw_log(debug_area* view_ptr, bool* opened) { - ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiSetCond_Once); + ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiCond_Once); if(ImGui::Begin(view_ptr->title.c_str(),opened)) { view_ptr->is_collapsed = false; @@ -757,7 +756,7 @@ void debug_imgui::draw_disasm(debug_area* view_ptr, bool* opened) { const debug_view_source* src; - ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiSetCond_Once); + ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiCond_Once); if(ImGui::Begin(view_ptr->title.c_str(),opened,ImGuiWindowFlags_MenuBar)) { int idx; @@ -844,7 +843,7 @@ void debug_imgui::draw_memory(debug_area* view_ptr, bool* opened) { const debug_view_source* src; - ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiSetCond_Once); + ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiCond_Once); if(ImGui::Begin(view_ptr->title.c_str(),opened,ImGuiWindowFlags_MenuBar)) { int idx; @@ -1241,7 +1240,7 @@ void debug_imgui::draw_console() rgb_t base(0xe6, 0xff, 0xff, 0xff); ImGuiWindowFlags flags = ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse; - ImGui::SetNextWindowSize(ImVec2(view_main_regs->width + view_main_disasm->width,view_main_disasm->height + view_main_console->height + ImGui::GetTextLineHeight()*3),ImGuiSetCond_Once); + ImGui::SetNextWindowSize(ImVec2(view_main_regs->width + view_main_disasm->width,view_main_disasm->height + view_main_console->height + ImGui::GetTextLineHeight()*3),ImGuiCond_Once); if(ImGui::Begin(view_main_console->title.c_str(), nullptr,flags)) { std::string str; @@ -1383,7 +1382,6 @@ void debug_imgui::update() ImGui::PushStyleColor(ImGuiCol_ScrollbarGrabHovered,ImVec4(0.7f,0.7f,0.7f,0.8f)); ImGui::PushStyleColor(ImGuiCol_ScrollbarGrabActive,ImVec4(0.9f,0.9f,0.9f,0.8f)); ImGui::PushStyleColor(ImGuiCol_Border,ImVec4(0.7f,0.7f,0.7f,0.8f)); - ImGui::PushStyleColor(ImGuiCol_ComboBg,ImVec4(0.4f,0.4f,0.4f,0.9f)); m_text_size = ImGui::CalcTextSize("A"); // hopefully you're using a monospaced font... draw_console(); // We'll always have a console window @@ -1425,7 +1423,7 @@ void debug_imgui::update() global_free(to_delete); } - ImGui::PopStyleColor(13); + ImGui::PopStyleColor(12); } void debug_imgui::init_debugger(running_machine &machine) @@ -1478,8 +1476,7 @@ void debug_imgui::init_debugger(running_machine &machine) io.Fonts->AddFontDefault(); else io.Fonts->AddFontFromFileTTF(font_name,font_size); // for now, font name must be a path to a TTF file - m_font = imguiCreate(); - imguiSetFont(m_font); + imguiCreate(); } void debug_imgui::wait_for_debugger(device_t &device, bool firststop) diff --git a/src/osd/modules/render/bgfx/chainentry.cpp b/src/osd/modules/render/bgfx/chainentry.cpp index a53ed759940..4e27cb8c00b 100644 --- a/src/osd/modules/render/bgfx/chainentry.cpp +++ b/src/osd/modules/render/bgfx/chainentry.cpp @@ -12,7 +12,7 @@ #include "emu.h" #include <bgfx/bgfx.h> -#include <bx/fpumath.h> +#include <bx/math.h> #include "chainentry.h" @@ -57,8 +57,6 @@ bgfx_chain_entry::~bgfx_chain_entry() void bgfx_chain_entry::submit(int view, render_primitive* prim, texture_manager& textures, uint16_t screen_count, uint16_t screen_width, uint16_t screen_height, float screen_scale_x, float screen_scale_y, float screen_offset_x, float screen_offset_y, uint32_t rotation_type, bool swap_xy, uint64_t blend, int32_t screen) { - bgfx::setViewSeq(view, true); - if (!setup_view(view, screen_width, screen_height, screen)) { return; @@ -71,7 +69,7 @@ void bgfx_chain_entry::submit(int view, render_primitive* prim, texture_manager& bgfx::TransientVertexBuffer buffer; put_screen_buffer(prim, &buffer); - bgfx::setVertexBuffer(&buffer); + bgfx::setVertexBuffer(0,&buffer); setup_auto_uniforms(prim, textures, screen_count, screen_width, screen_height, screen_scale_x, screen_scale_y, screen_offset_x, screen_offset_y, rotation_type, swap_xy, screen); @@ -260,8 +258,10 @@ bool bgfx_chain_entry::setup_view(int view, uint16_t screen_width, uint16_t scre bgfx::setViewFrameBuffer(view, handle); bgfx::setViewRect(view, 0, 0, width, height); + const bgfx::Caps* caps = bgfx::getCaps(); + float projMat[16]; - bx::mtxOrtho(projMat, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 100.0f); + bx::mtxOrtho(projMat, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 100.0f, 0.0f, caps->homogeneousDepth); bgfx::setViewTransform(view, nullptr, projMat); m_clear->bind(view); diff --git a/src/osd/modules/render/bgfx/chainmanager.cpp b/src/osd/modules/render/bgfx/chainmanager.cpp index f3b12dfa125..393344016e8 100644 --- a/src/osd/modules/render/bgfx/chainmanager.cpp +++ b/src/osd/modules/render/bgfx/chainmanager.cpp @@ -10,7 +10,7 @@ //============================================================ #include <bx/readerwriter.h> -#include <bx/crtimpl.h> +#include <bx/file.h> #include "emu.h" #include "../frontend/mame/ui/slider.h" @@ -143,7 +143,7 @@ bgfx_chain* chain_manager::load_chain(std::string name, uint32_t screen_index) osd_subst_env(path, util::string_format("%s" PATH_SEPARATOR "chains" PATH_SEPARATOR, m_options.bgfx_path())); path += name; - bx::CrtFileReader reader; + bx::FileReader reader; if (!bx::open(&reader, path.c_str())) { printf("Unable to open chain file %s, falling back to no post processing\n", path.c_str()); diff --git a/src/osd/modules/render/bgfx/effect.cpp b/src/osd/modules/render/bgfx/effect.cpp index 7e0750a73a2..fb3d7d933ba 100644 --- a/src/osd/modules/render/bgfx/effect.cpp +++ b/src/osd/modules/render/bgfx/effect.cpp @@ -36,7 +36,7 @@ bgfx_effect::~bgfx_effect() delete uniform.second; } m_uniforms.clear(); - bgfx::destroyProgram(m_program_handle); + bgfx::destroy(m_program_handle); } void bgfx_effect::submit(int view, uint64_t blend) diff --git a/src/osd/modules/render/bgfx/effectmanager.cpp b/src/osd/modules/render/bgfx/effectmanager.cpp index 8627650aae2..6462ae75f72 100644 --- a/src/osd/modules/render/bgfx/effectmanager.cpp +++ b/src/osd/modules/render/bgfx/effectmanager.cpp @@ -13,7 +13,7 @@ #include <rapidjson/error/en.h> #include <bx/readerwriter.h> -#include <bx/crtimpl.h> +#include <bx/file.h> #include "emu.h" @@ -55,7 +55,7 @@ bgfx_effect* effect_manager::load_effect(std::string name) osd_subst_env(path, util::string_format("%s" PATH_SEPARATOR "effects" PATH_SEPARATOR, m_options.bgfx_path())); path += full_name; - bx::CrtFileReader reader; + bx::FileReader reader; if (!bx::open(&reader, path.c_str())) { printf("Unable to open effect file %s\n", path.c_str()); diff --git a/src/osd/modules/render/bgfx/shadermanager.cpp b/src/osd/modules/render/bgfx/shadermanager.cpp index c4a92e1ff32..7583b58dec5 100644 --- a/src/osd/modules/render/bgfx/shadermanager.cpp +++ b/src/osd/modules/render/bgfx/shadermanager.cpp @@ -9,9 +9,9 @@ // //============================================================ -#include <bx/fpumath.h> +#include <bx/math.h> #include <bx/readerwriter.h> -#include <bx/crtimpl.h> +#include <bx/file.h> #include "emu.h" @@ -23,7 +23,7 @@ shader_manager::~shader_manager() { for (std::pair<std::string, bgfx::ShaderHandle> shader : m_shaders) { - bgfx::destroyShader(shader.second); + bgfx::destroy(shader.second); } m_shaders.clear(); } @@ -96,7 +96,7 @@ bgfx::ShaderHandle shader_manager::load_shader(std::string name) const bgfx::Memory* shader_manager::load_mem(std::string name) { - bx::CrtFileReader reader; + bx::FileReader reader; if (bx::open(&reader, name.c_str())) { uint32_t size(bx::getSize(&reader)); diff --git a/src/osd/modules/render/bgfx/target.cpp b/src/osd/modules/render/bgfx/target.cpp index 74b284dfb1d..a5feee73b2e 100644 --- a/src/osd/modules/render/bgfx/target.cpp +++ b/src/osd/modules/render/bgfx/target.cpp @@ -80,15 +80,15 @@ bgfx_target::~bgfx_target() { for (int page = 0; page < m_page_count; page++) { - bgfx::destroyFrameBuffer(m_targets[page]); - bgfx::destroyTexture(m_textures[page]); + bgfx::destroy(m_targets[page]); + bgfx::destroy(m_textures[page]); } delete [] m_textures; delete [] m_targets; } else { - bgfx::destroyFrameBuffer(m_targets[0]); + bgfx::destroy(m_targets[0]); delete [] m_targets; } } diff --git a/src/osd/modules/render/bgfx/texture.cpp b/src/osd/modules/render/bgfx/texture.cpp index ac2d9008568..ecbf51121ab 100644 --- a/src/osd/modules/render/bgfx/texture.cpp +++ b/src/osd/modules/render/bgfx/texture.cpp @@ -45,5 +45,5 @@ bgfx_texture::bgfx_texture(std::string name, bgfx::TextureFormat::Enum format, u bgfx_texture::~bgfx_texture() { - bgfx::destroyTexture(m_texture); + bgfx::destroy(m_texture); } diff --git a/src/osd/modules/render/bgfx/texturemanager.cpp b/src/osd/modules/render/bgfx/texturemanager.cpp index 3e404635bab..61be4f8f247 100644 --- a/src/osd/modules/render/bgfx/texturemanager.cpp +++ b/src/osd/modules/render/bgfx/texturemanager.cpp @@ -94,7 +94,7 @@ bgfx::TextureHandle texture_manager::handle(std::string name) handle = (iter->second)->texture(); } - assert(handle.idx != bgfx::invalidHandle); + assert(handle.idx != bgfx::kInvalidHandle); return handle; } diff --git a/src/osd/modules/render/bgfx/uniform.cpp b/src/osd/modules/render/bgfx/uniform.cpp index 780705d8371..ef33c11f128 100644 --- a/src/osd/modules/render/bgfx/uniform.cpp +++ b/src/osd/modules/render/bgfx/uniform.cpp @@ -23,7 +23,7 @@ bgfx_uniform::bgfx_uniform(std::string name, bgfx::UniformType::Enum type) bgfx_uniform::~bgfx_uniform() { - bgfx::destroyUniform(m_handle); + bgfx::destroy(m_handle); delete [] m_data; } diff --git a/src/osd/modules/render/drawbgfx.cpp b/src/osd/modules/render/drawbgfx.cpp index 31ddc58c145..b3c65db7b86 100644 --- a/src/osd/modules/render/drawbgfx.cpp +++ b/src/osd/modules/render/drawbgfx.cpp @@ -5,7 +5,7 @@ // drawbgfx.cpp - BGFX renderer // //============================================================ -#include <bx/fpumath.h> +#include <bx/math.h> #include <bx/readerwriter.h> #if defined(SDLMAME_WIN32) || defined(OSD_WINDOWS) || defined(OSD_UWP) @@ -103,7 +103,7 @@ renderer_bgfx::~renderer_bgfx() m_targets->destroy_target("avibuffer0"); m_avi_target = nullptr; - bgfx::destroyTexture(m_avi_texture); + bgfx::destroy(m_avi_texture); delete m_avi_writer; delete [] m_avi_data; @@ -341,7 +341,7 @@ void renderer_bgfx::record() m_avi_writer->stop(); m_targets->destroy_target("avibuffer0"); m_avi_target = nullptr; - bgfx::destroyTexture(m_avi_texture); + bgfx::destroy(m_avi_texture); } else { @@ -474,14 +474,13 @@ void renderer_bgfx::render_post_screen_quad(int view, render_primitive* prim, bg } uint32_t blend = PRIMFLAG_GET_BLENDMODE(prim->flags); - bgfx::setVertexBuffer(buffer); + bgfx::setVertexBuffer(0,buffer); bgfx::setTexture(0, m_screen_effect[blend]->uniform("s_tex")->handle(), m_targets->target(screen, "output")->texture(), texture_flags); m_screen_effect[blend]->submit(view); } void renderer_bgfx::render_avi_quad() { - bgfx::setViewSeq(s_current_view, true); bgfx::setViewRect(s_current_view, 0, 0, m_width[0], m_height[0]); bgfx::setViewClear(s_current_view, BGFX_CLEAR_COLOR | BGFX_CLEAR_DEPTH, 0x00000000, 1.0f, 0); @@ -504,7 +503,7 @@ void renderer_bgfx::render_avi_quad() vertex(&vertices[4], x[2], y[2], 0, rgba, u[2], v[2]); vertex(&vertices[5], x[0], y[0], 0, rgba, u[0], v[0]); - bgfx::setVertexBuffer(&buffer); + bgfx::setVertexBuffer(0,&buffer); bgfx::setTexture(0, m_gui_effect[PRIMFLAG_GET_BLENDMODE(BLENDMODE_NONE)]->uniform("s_tex")->handle(), m_avi_target->texture()); m_gui_effect[PRIMFLAG_GET_BLENDMODE(BLENDMODE_NONE)]->submit(s_current_view); s_current_view++; @@ -544,11 +543,11 @@ void renderer_bgfx::render_textured_quad(render_primitive* prim, bgfx::Transient bgfx_effect** effects = PRIMFLAG_GET_SCREENTEX(prim->flags) ? m_screen_effect : m_gui_effect; uint32_t blend = PRIMFLAG_GET_BLENDMODE(prim->flags); - bgfx::setVertexBuffer(buffer); + bgfx::setVertexBuffer(0,buffer); bgfx::setTexture(0, effects[blend]->uniform("s_tex")->handle(), texture); effects[blend]->submit(m_ui_view); - bgfx::destroyTexture(texture); + bgfx::destroy(texture); } #define MAX_TEMP_COORDS 100 @@ -830,7 +829,7 @@ int renderer_bgfx::draw(int update) if (status != BUFFER_EMPTY && status != BUFFER_SCREEN) { - bgfx::setVertexBuffer(&buffer); + bgfx::setVertexBuffer(0,&buffer); bgfx::setTexture(0, m_gui_effect[blend]->uniform("s_tex")->handle(), m_texture_cache->texture()); m_gui_effect[blend]->submit(m_ui_view); } @@ -948,7 +947,6 @@ void renderer_bgfx::setup_view(uint32_t view_index, bool screen) bgfx::setViewFrameBuffer(view_index, m_framebuffer->target()); } - bgfx::setViewSeq(view_index, true); bgfx::setViewRect(view_index, 0, 0, width, height); #if SCENE_VIEW @@ -983,6 +981,7 @@ void renderer_bgfx::setup_matrices(uint32_t view_index, bool screen) float proj[16]; float view[16]; + const bgfx::Caps* caps = bgfx::getCaps(); if (screen) { static float offset = 0.0f; @@ -995,12 +994,12 @@ void renderer_bgfx::setup_matrices(uint32_t view_index, bool screen) float eye[3] = { width * 0.5f, eye_height, cam_z }; bx::mtxLookAt(view, eye, at, up); - bx::mtxProj(proj, 90.0f, float(width) / float(height), 0.1f, 5000.0f); + bx::mtxProj(proj, 90.0f, float(width) / float(height), 0.1f, 5000.0f, bgfx::getCaps()->homogeneousDepth); } else { bx::mtxIdentity(view); - bx::mtxOrtho(proj, 0.0f, width, height, 0.0f, 0.0f, 100.0f); + bx::mtxOrtho(proj, 0.0f, width, height, 0.0f, 0.0f, 100.0f, 0.0f, caps->homogeneousDepth); } bgfx::setViewTransform(view_index, view, proj); |