summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/mac
diff options
context:
space:
mode:
author antonioginer <antonioginer@users.noreply.github.com>2019-11-16 22:06:13 +0100
committer R. Belmont <rb6502@users.noreply.github.com>2019-11-16 16:06:13 -0500
commiteab5bcac0029e4e298e1f194133c21580098508d (patch)
tree6f7f3fd423089b85f15b09956ce7912f180bed0b /src/osd/mac
parent7fc2f6805118f1e25c5e0b2a971f31e4f1b3b251 (diff)
Remove up to one frame of input latency. (#5901)
* Remove up to one frame of input latency. Makes MAME virtually lagless on VRR monitors. * Use empty parentheses and clean interface member calls * Add new option -instant_blit to make this feature optional * Rename new option to -lowlatency, -ll
Diffstat (limited to 'src/osd/mac')
-rw-r--r--src/osd/mac/osdmac.h1
-rw-r--r--src/osd/mac/video.cpp16
-rw-r--r--src/osd/mac/window.cpp3
3 files changed, 13 insertions, 7 deletions
diff --git a/src/osd/mac/osdmac.h b/src/osd/mac/osdmac.h
index 1ed9e6b8a5b..13b680cf271 100644
--- a/src/osd/mac/osdmac.h
+++ b/src/osd/mac/osdmac.h
@@ -44,6 +44,7 @@ public:
// general overridables
virtual void init(running_machine &machine) override;
virtual void update(bool skip_redraw) override;
+ virtual void input_update() override;
// input overridables
virtual void customize_input_type_list(simple_list<input_type_entry> &typelist) override;
diff --git a/src/osd/mac/video.cpp b/src/osd/mac/video.cpp
index 638e7a949b3..3f585458f8d 100644
--- a/src/osd/mac/video.cpp
+++ b/src/osd/mac/video.cpp
@@ -108,16 +108,24 @@ void mac_osd_interface::update(bool skip_redraw)
// profiler_mark(PROFILER_END);
}
- // poll the joystick values here
- downcast<mac_osd_interface&>(machine().osd()).poll_inputs(machine());
-
- check_osd_inputs(machine());
// if we're running, disable some parts of the debugger
if ((machine().debug_flags & DEBUG_FLAG_OSD_ENABLED) != 0)
debugger_update();
}
//============================================================
+// input_update
+//============================================================
+
+void mac_osd_interface::input_update()
+{
+ // poll the joystick values here
+ process_events_buf();
+ poll_inputs(machine());
+ check_osd_inputs(machine());
+}
+
+//============================================================
// check_osd_inputs
//============================================================
diff --git a/src/osd/mac/window.cpp b/src/osd/mac/window.cpp
index 3993b3502d2..d22268f86f4 100644
--- a/src/osd/mac/window.cpp
+++ b/src/osd/mac/window.cpp
@@ -499,9 +499,6 @@ void mac_window_info::update()
// and redraw now
- // Some configurations require events to be polled in the worker thread
- downcast< mac_osd_interface& >(machine().osd()).process_events_buf();
-
// Check whether window has vector screens
{