Nekotekina
61450335a5
named_thread: use concepts, improve constructors
...
Better default thread name detection.
2021-04-21 17:19:53 +03:00
Nekotekina
0c9c481cee
Use requires syntax in more places
...
Change style in some places.
2021-04-19 16:51:40 +03:00
David Carlier
b6732fbae9
MacOs build fix proposal.
...
Made on Big Sur, removing few unnecessary old specifics.
Build with LLVM homebrew.
2021-04-18 17:18:09 +03:00
Nekotekina
fb26da1cb0
bs_t<>: create BitSetEnum concept
...
Try concepts instead of SFINAE.
2021-04-17 19:23:19 +03:00
Nekotekina
9d4fcbf946
bs_t<>: fix/cleanup some operators
2021-04-17 15:54:33 +03:00
Eladash
67e2e154fa
Replace simple_type with std::common_type
2021-04-17 10:27:55 +03:00
Nekotekina
a211895e28
shared_ptr.hpp: use for fs::virtual_device
...
Add new constructors for single_ptr and shared_ptr.
Change virtual device prefix format.
2021-04-15 17:26:47 +03:00
p01arst0rm
c9d2aed286
small collection of fixes
2021-04-15 11:05:15 +03:00
p01arst0rm
1de7ac3c67
added inline suggestion to patch_engine_version to prevent duplicate includes
2021-04-13 09:14:53 +03:00
Megamouse
a16d8ba3ea
More random changes
2021-04-11 14:01:51 +03:00
Eladash
56d34e0e80
Enforce backslash at the end of emulated drives paths
2021-04-10 23:51:49 +03:00
Eladash
11824b3916
Win32 FS: Improve fs::create_dir
2021-04-10 23:51:49 +03:00
Eladash
49c5ce30cc
Emulation: Fix boot path resolving
...
* Fix /dev_flash executables path arg. (/host_root is wrong for it)
* Fix usage of /host_root for homebrew applications when it is not mounted, use /app_home.
* Fix path source detection. (don't get fooled by path slashes repetitions, symlinks, '.', ".." and ('\' on Windows))
* Unescape tail of /dev_hdd0 paths.
2021-04-08 23:57:00 +03:00
Nekotekina
95725bf7fc
Add -Werror=missing-noreturn (GCC, clang)
...
May be useful to diagnose functions which fail assertions unconditionally.
2021-04-08 10:29:47 +03:00
Nekotekina
963d150e93
Fix some -Weffc++ warnings (part 2)
2021-04-03 21:54:15 +03:00
Eladash
73320d4180
Output all fatal log messages to Console/debugger as well
2021-04-03 08:47:58 +02:00
Nekotekina
2212a131ef
Fix some -Weffc++ warnings (part 1)
2021-03-31 11:27:09 +03:00
Eladash
5a3c218239
thread-pool: Fix default rounding mode
2021-03-30 11:13:47 +03:00
xddxd
9d895e6b15
Scheduler overhaul
2021-03-26 00:29:44 +03:00
Nekotekina
b3fb6d7d18
Add and fix -Wredundant-decls (GCC)
2021-03-23 22:48:57 +03:00
Eladash
2f333424a6
Improve ELF/Trophy loader's error checking
2021-03-23 16:05:23 +03:00
Eladash
a67b347966
debugger: Fix SPU memory viewing ( #10007 )
...
* debugger: Fix SPU memory viewing
* Fix terminal recovery from page faults (hack allocation)
2021-03-23 13:33:07 +03:00
Megamouse
2c05e9719d
cfg: simplify get_nodes
2021-03-20 20:54:26 +03:00
Megamouse
ae01e1d2c3
cfg: move get_name to _base
2021-03-20 20:54:26 +03:00
Eladash
4c7fc8a70a
Improve fs::container_stream::write ( #9976 )
...
Add overflow condition.
2021-03-16 14:03:58 +03:00
Eladash
a5bb925a3d
Thread.cpp: Add missing newline
2021-03-15 20:41:33 +03:00
Nekotekina
ccdea1c4ad
Enable -Wduplicated-branches (GCC)
2021-03-13 18:03:08 +03:00
Eladash
cd6ef2958b
Add information about unnamed/main threads in logs and fatal dialog
...
* If thread is unnamed, keep log name empty for main thread, otherwise print thread id. In fatal dialog, main thread can be handled differently (with special remark that it's main thread).
* Always print thread id in fatal dialog, regardless of thread type.
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-11 22:55:06 +03:00
Nekotekina
a6350d5dd1
Fixup write_gather (Linux, BSD)
...
Split iovec into small portions (256 for now)
2021-03-09 15:54:04 +03:00
Nekotekina
a4fdbf0a88
Enable -Wstrict-aliasing=1 (GCC)
...
Fixed partially.
2021-03-09 03:10:15 +03:00
Nekotekina
5bdd1cf837
Remove some redundant code
...
Potential fix for future warnings.
2021-03-09 03:09:50 +03:00
Nekotekina
3609eb25c9
Implement thread_ctrl::is_main()
2021-03-06 23:10:31 +03:00
Nekotekina
55c75d2c87
Implement thread_ctrl::get_tid()
2021-03-06 23:10:31 +03:00
Nekotekina
c69c70cf5f
Another minor fix for fmt::split
...
Doesn't affect existing code.
If there are 2 or more separator, choose closest.
2021-03-06 19:30:09 +03:00
Nekotekina
7cd79714fa
Minor fix for fmt::split with empty string
...
Doesn't affect existing code, I believe.
Return at least 1 empty string if is_skip_empty=false.
2021-03-06 19:26:41 +03:00
Nekotekina
87af905018
Enable -Wunused-parameter
2021-03-06 18:07:08 +03:00
Nekotekina
52fe86b56c
fixed_typemap.hpp: make it a bit fool-proof
...
Require objects to be non-copyable (move is still allowed).
2021-03-02 21:58:49 +03:00
Nekotekina
ea5e837bd6
fixed_typemap.hpp: return reference
2021-03-02 16:08:14 +03:00
Nekotekina
bbf52f3cea
named_thread: fix bugs in std::forward usage
...
Fix few misused threads and other bugs.
2021-03-02 16:08:14 +03:00
Eladash
ff211a9508
LLVM: Do not crash on failure to create cache file
2021-03-02 16:07:51 +03:00
Eladash
48cd56acc2
Report deadlocked thread names in failures to stop emulation ( #9865 )
...
* Report deadlocked thread names in failures to stop emulation
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-01 01:06:48 +03:00
Nekotekina
de9d859f4a
named_thread: implement task queue
...
atomic_ptr: implement push_head()
thread_ctrl::state() triggers task queue execution.
2021-02-28 20:20:17 +03:00
Nekotekina
3aaa0172d5
named_thread: implement "default" event loop
...
Fixup "sleepy" thread at startup on Windows.
Permit threads which lack operator()() overload.
2021-02-28 20:16:13 +03:00
Nekotekina
29e7eda887
named_thread: rewrite result_storage
...
Use SFINAE as permitted by std::invoke_result_t<>
2021-02-28 20:16:13 +03:00
Nekotekina
cd01a1eb09
Move CPUStats.h -> util/cpu_stats.cpp
2021-02-23 18:24:50 +03:00
Nekotekina
090a769bf6
Implement fs::sync (Linux/POSIX)
2021-02-23 18:24:50 +03:00
Nekotekina
014846cf31
cellSaveData: fix minor issues
2021-02-23 18:24:50 +03:00
Megamouse
663b2c9c5e
overlays: Fix frametime graph spikes
...
The frametime_timer was restarted at the end of the update method, instead of immediately after reading its value.
This means that the frametime was lower than expected when an expensive task was executed in-between.
2021-02-23 13:27:54 +03:00
Eladash
d4af8dd89a
Fix atomicity of savedata/trophy data writes
2021-02-23 11:29:23 +03:00
Eladash
932f31e37b
Atomic PARAM.SFO writes
2021-02-23 11:29:23 +03:00