Unknown W. Brackets
f44852bb18
Global: Cleanup virtual/override specifiers.
...
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
efc3f4f5e4
Split CORE_ERROR into CORE_BOOT_ERROR and CORE_RUNTIME_ERROR
2020-07-12 15:25:20 +02:00
Henrik Rydgard
26a2d42731
Big mutex overhaul - remove our custom ones, make them non-recursive where possible
2017-02-28 11:40:29 +01:00
Unknown W. Brackets
e0f85a9c6b
Native merge part 1: skip native/ in includes.
2015-09-06 12:19:33 -07:00
Henrik Rydgard
828c740fd5
Correct a few comments, thanks unknown.
2015-07-24 23:27:23 +02:00
Henrik Rydgard
a154dc4b1b
Reduce some code duplication
2015-01-11 01:10:47 +01:00
Henrik Rydgard
bc3fb79fa2
If multithreading isn't enabled, don't bother synchronizing the ThreadEventQueue.
2015-01-11 00:45:57 +01:00
Unknown W. Brackets
b1b2c91eb3
Fix issues on win32 with multithreading.
...
We weren't properly rechecking based on spurious wakeups (which
technically can happen on x64 too.)
2014-07-06 14:02:00 -07:00
Unknown W. Brackets
e08fbfd0af
Fix hang on stop before run w/ multithreading.
...
And clarify logic.
2014-04-28 23:42:17 -07:00
Unknown W. Brackets
effcee475b
Fix another race condition.
...
If EVENT_FINISH is received, but coreState is still CORE_RUNNING and the
thread is still enabled, it would hang. Makes more sense to wait for
events before processing them anyhow...
2014-04-28 22:12:33 -07:00
Sacha
f29d9c0bf9
Blackberry: fix freezing due to overflow of nanoseconds in timer.
2013-11-11 04:53:08 +10:00
Unknown W. Brackets
113146302b
Don't schedule a finish event when not running.
...
Otherwise it'll get it when it does run, and stop early.
2013-11-09 23:08:44 -08:00
Unknown W. Brackets
afafa5fcd6
Make sure the gpu thread has a chance to run.
...
If the scheduler puts it on the same core, it may not even do anything
before we check if the framebuffer is dirty, so SyncThread will quit since
it's not even running.
Instead, let's wait until it's at least done something.
2013-11-09 23:08:28 -08:00
Unknown W. Brackets
879060f008
Use a CORE_POWERUP state when starting.
...
Otherwise, we could startup in CORE_POWERDOWN in a second game, which is
confusing.
2013-11-09 23:07:52 -08:00
Unknown W. Brackets
401400bb52
Fix uninitialized variable, oops.
2013-10-13 15:14:30 -07:00
Unknown W. Brackets
5687fa481b
Don't SyncThread while not running, wake more proactively.
...
Maybe the wait_for() is no longer needed there...
2013-10-13 12:13:11 -07:00
Unknown W. Brackets
479a9801d4
Shutdown issues: the legend continues.
...
If the gpu was slow (softgpu for example), it might still be accessing
memory. Need to let it wake, and ignoring coreState too.
2013-10-13 09:35:02 -07:00
Unknown W. Brackets
c83fa8a3bc
Fix MT locking, was not really right.
2013-09-28 20:56:38 -07:00
Unknown W. Brackets
086294b495
Listen for shutdown in thread loops.
...
This way we don't need to use wait_for(), much better.
Also because there are slightly more correct cond vars on win32.
2013-09-28 00:45:54 -07:00
Unknown W. Brackets
3570ea8dee
Fix condition variable misuse.
2013-08-12 02:41:37 -07:00
Henrik Rydgard
8e22554fb0
GCC buildfix (processes more of templates earlier than MSVC)
2013-08-12 00:51:13 +02:00
Unknown W. Brackets
e6b42768fe
Add a class to manage IO on a separate thread.
...
Also separate the logic for exiting the loop based on coreState. IO and
audio won't necessarily be tied to the frame.
2013-08-11 11:46:55 -07:00
Unknown W. Brackets
1b838c4403
Move ThreadEventQueue to its own file.
2013-08-10 09:08:31 -07:00