Commit Graph

73 Commits

Author SHA1 Message Date
Adrien Moulin
3a1d9cff9a Add an instrumentation option for performance profiling
Not built by default, this allows printing the emulation speed on stdout and exiting after a certain emulation time.
2022-08-06 14:23:11 +02:00
Cacodemon345
ac12ad2243 Revert "Fix crash at exit due to a unreleased mutex."
This reverts commit 80e5470006.

std::unique_lock is incapable of recursively locking a mutex, which is needed for multi-monitor setups.
As a result it will crash/show undefined behaviour when switching renderers. Switch to instead calling
endblit() after pc_close to avoid crashes; at this point the CPU thread is now terminated so the mutex
no longer remains held by it.
2022-08-01 13:29:54 +06:00
Cacodemon345
27e4124574 qt: Fix performance regression 2022-07-12 14:41:38 +06:00
Cacodemon345
20d3f0971c Use atomic_bool instead of atomic_flag for doresizes
atomic_flag seems to be broken on Windows for clearing them outside the
thread they were tested and set in
2022-07-06 01:25:39 +06:00
Cacodemon345
a809942d4f Fix window coordinate saving and loading 2022-07-05 16:40:04 +06:00
Cacodemon345
fb5ed3fffd qt: Don't resize non-existent monitors 2022-07-04 23:37:19 +06:00
Cacodemon345
e8ffc699ba qt: Implement per-monitor resizing 2022-07-04 17:54:38 +06:00
Cacodemon345
7ab71cafd3 Working multimonitor 2022-07-04 01:50:42 +06:00
OBattler
f834caca9b Temporarily reverted main thread delays to the old way to reduce CPU usage until we figure out a better way that gives more accuracy at comparably reduced CPU usage. 2022-06-25 15:37:41 +02:00
RichardG867
71ba610366 Merge branch 'master' of ssh://github.com/86Box/86Box into cleanup30
# Conflicts:
#	.ci/build.sh
#	.ci/dependencies_msys.txt
#	src/sound/snd_audiopci.c
2022-03-16 00:39:53 -03:00
RichardG867
f57cbe36b1 GDB Stub: More progress 2022-03-16 00:33:01 -03:00
Miran Grča
c1ccee6abd Merge pull request #2214 from Cacodemon345/c345/haiku
qt: Add support for Haiku
2022-03-11 20:11:50 +01:00
Cacodemon345
c1f9d35de8 qt: Add support for Haiku
* OpenAL backend is enabled by default on Haiku
* bswap include now makes use of builtins if they exist
* Use a local fgetws method for Haiku to avoid crashes
* OpenGL renderers are completely disabled on Haiku (they do not work)
* Software renderer is a widget, not a window on Haiku (fixes blank screen)
* Add option to disable System MIDI at compile time
2022-03-11 12:13:08 +06:00
ts-korhonen
bc86fdd0b5 qt: Fix a typo connecting to resetVM signal on unix manager socket 2022-03-06 18:00:23 +02:00
Cacodemon345
ed22399f4b qt: Actually make client-side Unix manager functional 2022-02-28 12:16:43 +06:00
Cacodemon345
06fc26ccab qt: Add Unix manager support (client-side interface) 2022-02-27 15:30:40 +06:00
Jasmine Iwanek
8597e4e4d7 Merge branch 'master' into more-updates 2022-02-20 16:28:50 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
Cacodemon345
be900f1d32 qt: Fix high CPU usage when paused 2022-02-20 15:04:24 +06:00
Cacodemon345
0d31bb0cc6 qt: X11 Xinput2 mouse motion backend 2022-02-15 02:34:13 +06:00
Cacodemon345
eb91c899c6 qt: Group with the manager on taskbar on settings mode 2022-02-13 00:35:46 +06:00
ts-korhonen
7e0596558a qt: Unify VM manager requested shutdown behavior with Win32.
Add implementation for -N commandline switch.
Save nvr on close.
2022-02-12 17:31:28 +02:00
Cacodemon345
fe0e6c3a04 qt: Set font after loading translations 2022-02-12 20:15:21 +06:00
Cacodemon345
c2ec86a111 Update qt_main.cpp 2022-02-12 01:50:50 +06:00
Cacodemon345
286399461b qt: Set font immediately after QApplication initialization 2022-02-12 01:50:04 +06:00
Cacodemon345
351e14023a qt: Use C (English) locale
No translations so far make use of non-standard digits
2022-02-11 16:24:59 +06:00
Cacodemon345
bfebbd05d3 qt: Compatibility improvements
* Patch to build with Qt 5.11 and later by jriwanek
* Attempt to fix viewport on hardware renderers
2022-02-11 13:49:45 +06:00
Cacodemon345
c3a86b0482 qt: Use non-integer HiDPI scaling on Qt 5 2022-02-10 12:59:33 +06:00
Cacodemon345
bd6c92c592 qt: Don't disable HiDPI scaling at all 2022-02-09 20:57:58 +06:00
Cacodemon345
a1f027a242 qt: Set Application attributes before construction 2022-02-09 20:49:11 +06:00
Cacodemon345
de0a603916 qt: Status bar and window fixes
* Fix remember window option
* Status bar pixmaps are now scaled when building with Qt 5
2022-02-09 16:45:57 +06:00
Cacodemon345
a637f61d4f Add missing copyright notices 2022-02-07 15:00:02 +06:00
ts-korhonen
7b3eaac6cf qt: don't load discord dll if only starting settings 2022-02-06 11:48:56 +02:00
Cacodemon345
01a7dd8845 Attempt to reduce fluctations in percentage display 2022-02-06 14:41:25 +06:00
Cacodemon345
34b9c824e0 Settings mode behaviour now identical to Win32 2022-02-06 12:45:55 +06:00
ts-korhonen
d890cd2ebb qt: Update pause action status when paused without using action 2022-01-22 22:02:57 +02:00
ts-korhonen
5f8fc15afb qt: Add missing address-of operators 2022-01-22 12:40:15 +02:00
ts-korhonen
3d0b100199 qt: Send dialog status to VM-manager & fix pause
- Manager is notified of modal dialogs blocking the main window.
- Pause command from manager uses action to prevent desyncing pause status
in the menus and toolbar.
2022-01-22 02:41:02 +02:00
ts-korhonen
7995be4adb qt: Add VM-manager message handling on windows 2022-01-22 01:10:11 +02:00
ts-korhonen
09cfd79c60 qt: disable automatic mnemonics
Fixes alt entering menu
2022-01-13 00:48:52 +02:00
Cacodemon345
62a4a025b1 Port Win32 Discord integration to Linux and macOS 2022-01-09 01:04:59 +06:00
Cacodemon345
f2f06aa958 Add runtime language switching 2022-01-08 17:14:03 +06:00
Cacodemon345
c07ef406e8 Fix Menu text bugs on macOS
Fix cutoff bugs on Sound Gain dialog
2022-01-08 00:53:45 +06:00
Cacodemon345
abefa65e26 Even more strings changes to be in line with Win32 2022-01-06 01:41:57 +06:00
Cacodemon345
2f0f947596 More string changes to fit in line with Win32 more 2022-01-04 16:57:07 +06:00
Cacodemon345
5d76822d59 Begin .po work 2022-01-04 15:03:33 +06:00
Cacodemon345
81055c03e2 Begin Qt translation framework 2021-12-31 12:39:55 +06:00
Cacodemon345
1bdff37e38 * Turned the software renderer into a window as well
* Fix inability to move window on GNOME
* Fix status bar icons being frozen after icon set switch
2021-12-29 23:49:09 +06:00
Cacodemon345
07af487acb * Fix rare crash when switching renderers
* Abandon QPainter in hardware renderers in favour of OpenGL
* Disable VSync in the application globally
2021-12-25 15:34:00 +06:00
Cacodemon345
9671469778 * Implement settings-only mode
* Show correct directory to place ROMs in on macOS
2021-12-24 15:02:16 +06:00