Eladash
0c4b2ff06b
fs: Reimplement path resolving using std::filesystem::weakly_canonical
2022-01-12 03:37:39 +03:00
Silent
8c9090fd03
WolfSSL: Use a custom UTF-8 aware fopen on Windows
...
Fixes loading cacert.pem from Unicode directories
2022-01-12 03:35:15 +03:00
nastys
0d1c0e72a6
macOS: Increase thread stack size to 8 MiB
2022-01-11 08:05:17 +03:00
nastys
3571e6ef85
macOS: Set correct maxfiles (fixes shader cache and SPU LLVM)
2022-01-11 08:05:17 +03:00
Vestrel
1adc408ad7
More sys_uart packets ( #11332 )
...
* Additional sys_uart packets added
2022-01-10 03:43:54 +03:00
Nekotekina
cb2748ae08
Update ASMJIT (new upstream API)
2021-12-29 02:45:00 +03:00
Nekotekina
122555fb66
Add an error check in JITAnnouncer event listener
...
This is a bit strange one.
2021-12-26 22:01:20 +03:00
Nekotekina
d836033212
LLVM: enable some JIT events (Intel, Perf)
...
Made some related adjustments.
Currently incomplete.
2021-12-26 16:41:37 +03:00
Nekotekina
d36a715b24
Disable built_function on __APPLE__
...
Workaround for #11287
2021-12-26 14:40:21 +03:00
Nekotekina
3cd8891ab8
Re-refactor copy_data_swap_u32 again
...
Drop AVX2 path for now, since it usually operates on small data.
Rely on automatic SSE vectorization on recent compilers.
Side refactoring on JIT.h to workaround weird conflict issue.
2021-12-26 14:40:21 +03:00
Nekotekina
e3e6fb5489
Don't use vm::preallocated flag in patch enclave allocs
2021-12-26 14:40:21 +03:00
Nekotekina
dcd011048d
Implement "built_function" utility (runtime-generated assembly)
...
Similar to build_function_asm, but links without indirection.
Achieved by emitting code directly into a byte array.
2021-12-22 19:27:20 +03:00
nastys
08333e0876
macOS moltenVK support and SIGBUS handling ( #11252 )
2021-12-12 21:35:56 +01:00
Nekotekina
6b40d69a8f
Introduce coroutine support (util/coro.hpp)
...
Implement coroutine types `lazy` and `generator` in stx namespace.
Implement fs::list_dir_recursively.
2021-12-07 13:04:10 +03:00
Eladash
cb4711203b
logging: Tell apart PPU access violation caused by executing unmapped memory
2021-12-05 01:22:32 +03:00
DH
cccfb89aa0
[Config] Use std::less<> for std::map<...>
...
Reduces amount of string copies
[Utilities] fmt::replace_all: avoid creation of temporary strings
2021-12-02 21:36:57 +03:00
DH
813c3298ad
[Utilities] Fixed area_base operator* scalar type
2021-12-02 21:36:57 +03:00
Eladash
f16949c292
fs::file: always use strict reading mode for large reads ( #11206 )
2021-12-01 19:09:07 +03:00
Vestrel
37a722cc1d
Audio backend improvements
...
Callback based audio update.
Upgraded common backend interface.
Added Cubeb backend.
Support multiple audio providers.
Dropped pulse, alsa, openal backends.
2021-11-24 19:41:05 +01:00
Eladash
9afa960979
Fix possible fs::create_path recursion overflow
2021-10-22 15:37:47 +03:00
Eladash
24e76f2960
fs: Add fs::write_new, promotes safe file creation (no overwrite)
2021-10-10 09:34:50 +02:00
Eladash
75e66ab5e0
Make pad and patches config savinng atomic
2021-10-10 09:34:50 +02:00
Megamouse
f72d148d37
Fix config mode reset
2021-10-05 20:16:11 +02:00
Eladash
65c9cd99cd
Patches/PPU: Implement HLE/LLE/With-TOC function call patches
...
Example patches:
[ jumpf, 0x12340, "cellGcmSys:cellGcmSetFlip"] // Places a call to cellGcmSetFlip at 0x12340
[ jumpf, 0x12340, "cellGcmSys:0xDC09357E"] // Same, using FNID
[ jumpf, 0x12340, 0x2345678 ] # Function OPD based call eading OPD at 0x2345678
2021-09-26 20:49:57 +03:00
Eladash
e10c6cbaf7
SPU: cpu_work() fixup, fix recursion in AV handler
2021-09-18 19:43:55 +03:00
Megamouse
129ade2f73
System: only init fxo objects if a game is started
...
The progress_dialog and patch system aren't needed unless a game is started.
Before, they were both initialized everytime we added a single game to the game list or even when simply started RPCS3.
This both means that a thread was needlessly idling all the time and even worse: The patch.yml was read countless times when we didn't need it.
2021-09-17 22:45:14 +02:00
Eladash
73bdf7481e
Emu: Fix disc game move from hdd0/game
2021-09-17 22:15:48 +02:00
Eladash
50ad7ba1f6
vm: Fix vm::unmap
...
* Make vm::unmap atomic, squash the memory unmapping process inside this function while still using the same VM mutex ownership.
* Make vm::unmap not fail due to random vm::get calls, shared_ptr reference count is no longer a condition.
* Fix sys_mmapper_free_address spuriously failing with EBUSY due to random vm::get calls.
* Fix sys_vm_unmap race condition due to non-atomic vm::unmap.
* Add an optional verification block ptr arg to vm::unmap, used by patches.
2021-09-13 20:53:34 +03:00
Eladash
f98595bee5
Patches/PPU: Add jump_link patch type
2021-09-10 11:46:39 +03:00
Eladash
fafefb2cf5
Fixup No.3 after #10779
2021-09-10 11:46:39 +03:00
Eladash
bd66dfedc9
Do not allow to unpause after fatal error occured in emulation
...
* Plus fix #10590
2021-09-09 19:30:54 +02:00
Megamouse
76ac8ffbd6
input: fix custom pad config removal
2021-09-05 10:16:25 +02:00
Megamouse
3c0681ad6d
Qt: patch creator
2021-09-04 10:39:32 +02:00
Nekotekina
ad6a72e369
Fixup for #10779
2021-09-01 14:38:20 +03:00
Eladash
b40ed5bdb7
Patches/PPU: Extend and improve patching capabilities (code allocations, jumps to any address) ( #10779 )
...
* Patches/PPU: Implement dynamic code allocation + Any-Address jump patches
Also fix deallocation path of fixed allocation patches.
2021-09-01 13:38:17 +03:00
Eladash
ddb042148d
Patches/LLVM: Implement Complex Patches Support
2021-08-26 23:04:32 +03:00
Megamouse
72f0637efe
Windows/Audio: add listener for device change
...
For some reason XAudio2 doesn't automatically change the device anymore.
So let's just listen for the OnDefaultDeviceChanged event and update the cell audio thread if necessary.
2021-08-25 22:44:16 +02:00
Megamouse
cad96cef72
input: redesign pad profiles
2021-08-15 08:24:35 +02:00
Eladash
7fdbadf645
patch_manager: Prefer specific patches over global patches
2021-08-09 18:12:17 +02:00
Nekotekina
5ba8daf518
Fix thread time/cycles report with respect to thread pool
...
Fix all RUSAGE stats as well (POSIX)
2021-08-01 09:59:00 +03:00
Megamouse
0aa1aff6ba
StrFmt: fix comma placement in format_byte_array
2021-07-27 11:37:07 +02:00
Eladash
98e40d12ef
sys_ppu: Implement sys_ppu_thread_rename
2021-07-19 12:37:33 +02:00
Eladash
70a3c5d440
Fixup byte array formatter
2021-07-17 20:02:21 +02:00
Eladash
1e9afdc289
Formatting Library: Implement byte arrays formatting
2021-07-17 18:10:43 +02:00
Eladash
66368debf8
Win32 FS: Implement support for large reads/writes
2021-07-16 18:48:20 +03:00
Nekotekina
5dfa908835
fmt: add support for std::u8string
2021-07-15 17:07:41 +03:00
Nekotekina
ea0c559bc3
fmt: implement char8_t string support
2021-07-15 17:07:41 +03:00
Eladash
0aed00a758
Improve thread aborting mechanism ( #10490 )
...
Call pseudo-virtual operator=(thread_state) of thread context.
2021-06-27 11:43:48 +03:00
Megamouse
2c2003aa5b
move try_to_int64 to StrUtil
2021-06-25 09:41:32 +03:00
Nekotekina
3c614d95b8
fs: alternative fs::pending_file implementation (Win32)
...
Use MOVEFILE_WRITE_THROUGH instead of sync() on commit().
2021-06-20 22:08:24 +03:00