diff options
author | 2022-07-04 20:46:05 -0400 | |
---|---|---|
committer | 2022-07-04 20:46:05 -0400 | |
commit | 0d22ff1a9bec7e980a55a5ae346a6b746e298112 (patch) | |
tree | 1af2136a83ae349b09f257e854a3cfad262967cd /src/osd/modules/render/drawbgfx.cpp | |
parent | 09f33c2ba35ff83006ea8efd80a8f95d20ca65aa (diff) |
Clean up #includes in src/osd (#10029)
* Clean up #includes in src/osd
* render/bgfx/view.cpp: Add license header
Diffstat (limited to 'src/osd/modules/render/drawbgfx.cpp')
-rw-r--r-- | src/osd/modules/render/drawbgfx.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/osd/modules/render/drawbgfx.cpp b/src/osd/modules/render/drawbgfx.cpp index 1806d749d66..fc9214fe446 100644 --- a/src/osd/modules/render/drawbgfx.cpp +++ b/src/osd/modules/render/drawbgfx.cpp @@ -25,6 +25,7 @@ extern void *GetOSWindow(void *wincontroller); // MAMEOS headers #include "emu.h" #include "window.h" +#include "render.h" #include "rendutil.h" #include "aviwrite.h" @@ -49,6 +50,8 @@ extern void *GetOSWindow(void *wincontroller); #include "bgfx/target.h" #include "bgfx/view.h" +#include "modules/lib/osdobj_common.h" + #include "imgui/imgui.h" //============================================================ @@ -1047,6 +1050,30 @@ void renderer_bgfx::setup_ortho_view() m_ortho_view->update(); } +render_primitive_list *renderer_bgfx::get_primitives() +{ + auto win = try_getwindow(); + if (win == nullptr) + return nullptr; + + // determines whether the screen container is transformed by the chain's shaders + bool chain_transform = false; + + // check the first chain + bgfx_chain* chain = this->m_chains->screen_chain(0); + if (chain != nullptr) + { + chain_transform = chain->transform(); + } + + osd_dim wdim = win->get_size(); + if (wdim.width() > 0 && wdim.height() > 0) + win->target()->set_bounds(wdim.width(), wdim.height(), win->pixel_aspect()); + + win->target()->set_transform_container(!chain_transform); + return &win->target()->get_primitives(); +} + renderer_bgfx::buffer_status renderer_bgfx::buffer_primitives(bool atlas_valid, render_primitive** prim, bgfx::TransientVertexBuffer* buffer, int32_t screen) { int vertices = 0; |