summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/drawbgfx.h
diff options
context:
space:
mode:
author ImJezze <jezze@gmx.net>2016-04-21 07:52:29 +0200
committer ImJezze <jezze@gmx.net>2016-04-21 07:52:29 +0200
commitb1c06acb61c741fc9bcb1bd7428728e291510a39 (patch)
tree4c94fc0083fb832462b0b746fb98277551f4e87c /src/osd/modules/render/drawbgfx.h
parenta72ad0c4fe65b507bc4fd17aac580683e289e2fd (diff)
Implemented handling for u_screen_scale and u_screen_offset (nw)
Diffstat (limited to 'src/osd/modules/render/drawbgfx.h')
-rw-r--r--src/osd/modules/render/drawbgfx.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/osd/modules/render/drawbgfx.h b/src/osd/modules/render/drawbgfx.h
index a6f66a6eff3..1a21b5c8259 100644
--- a/src/osd/modules/render/drawbgfx.h
+++ b/src/osd/modules/render/drawbgfx.h
@@ -12,6 +12,8 @@
#include "binpacker.h"
#include "bgfx/vertex.h"
+#include "bgfx/chain.h"
+#include "bgfx/chainmanager.h"
#include "sliderdirtynotifier.h"
class texture_manager;
@@ -53,8 +55,19 @@ public:
virtual render_primitive_list *get_primitives() override
{
+ // 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 = window().get_size();
window().target()->set_bounds(wdim.width(), wdim.height(), window().pixel_aspect());
+ window().target()->set_transform_container(!chain_transform);
return &window().target()->get_primitives();
}