summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2017-12-01 13:22:27 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2017-12-01 13:22:27 +0100
commit39176274946d70ff520f265dee8fbd16d5fe0000 (patch)
tree318801d93146752050c9a492654ae3738820e3b9 /src/osd
parent6829ecb3b037d6bfbe0b84e818d17d712f71bce6 (diff)
Updated GENie, BGFX, BX, added BIMG since it is separated now, updated all shader binaries and MAME part of code to support new interfaces [Miodrag Milanovic]
Diffstat (limited to 'src/osd')
-rw-r--r--src/osd/modules/debugger/debugimgui.cpp17
-rw-r--r--src/osd/modules/render/bgfx/chainentry.cpp10
-rw-r--r--src/osd/modules/render/bgfx/chainmanager.cpp4
-rw-r--r--src/osd/modules/render/bgfx/effect.cpp2
-rw-r--r--src/osd/modules/render/bgfx/effectmanager.cpp4
-rw-r--r--src/osd/modules/render/bgfx/shadermanager.cpp8
-rw-r--r--src/osd/modules/render/bgfx/target.cpp6
-rw-r--r--src/osd/modules/render/bgfx/texture.cpp2
-rw-r--r--src/osd/modules/render/bgfx/texturemanager.cpp2
-rw-r--r--src/osd/modules/render/bgfx/uniform.cpp2
-rw-r--r--src/osd/modules/render/drawbgfx.cpp23
11 files changed, 38 insertions, 42 deletions
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);