summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/drawbgfx.cpp
diff options
context:
space:
mode:
author ajrhacker <ajrhacker@users.noreply.github.com>2022-07-04 20:46:05 -0400
committer GitHub <noreply@github.com>2022-07-04 20:46:05 -0400
commit0d22ff1a9bec7e980a55a5ae346a6b746e298112 (patch)
tree1af2136a83ae349b09f257e854a3cfad262967cd /src/osd/modules/render/drawbgfx.cpp
parent09f33c2ba35ff83006ea8efd80a8f95d20ca65aa (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.cpp27
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;