Ivan Chikish
39a0ff99b2
Fix lf_queue regression
2023-08-03 06:56:50 +03:00
Ivan Chikish
d34287b2cc
Linux: use futex_waitv syscall for atomic waiting
...
In order to make this possible, some unnecessary features were removed.
2023-08-02 21:46:06 +03:00
Ivan Chikish
831a9fe012
Remove thread pool
...
Prevents implementing thread priority on Linux.
2023-08-02 21:46:06 +03:00
Megamouse
d119cf6e96
Qt6 port
2023-07-31 20:03:24 +03:00
Eladash
1184d6aecb
Thread.cpp: Fixup SPU access violation log message
2023-07-31 11:55:31 +03:00
oltolm
bc40b61ef1
rename fs::stat to fs::get_stat
2023-07-25 12:15:08 +03:00
Eladash
95fb7859d2
Fixup patches
2023-07-24 17:07:15 +03:00
Eladash
12fe55a258
Thread.cpp: Always print SPU thread name in access violation
...
Suppress GUI log window prefix removal.
2023-07-23 17:58:54 +03:00
Eladash
9291e2777d
File.h: Implement fs::error::xdev
2023-07-21 12:27:35 +03:00
Eladash
eecadab387
Implement fs::file::get_id()
...
File descripor ID with 2 provided ways to compare between them:
1. is_mirror_of():
Test if identical:
For example: when LHS writes one byte to a file at X offset, RHS file be able to read that exact byte at X offset)
2. is_coherent_with():
Test if both files point to the same file:
For example: if a file descriptor pointing to the complete file exists and is being truncated to 0 bytes from non-
-zero size state: this has to affect both RHS and LHS files.
2023-07-17 08:09:09 +03:00
Megamouse
3381144d2e
Patches: improve location logging of some invalid nodes
2023-07-13 08:40:19 +02:00
Megamouse
a19883f875
Patches: do not allow empty patch names
2023-07-13 08:40:19 +02:00
Megamouse
02bac61c9c
Patches: validate yml patch offset values
2023-07-13 08:40:19 +02:00
Eladash
083b4f0d3b
Patches: Fix potential RPCS3 crashes due to invalid patches
2023-07-13 07:38:46 +03:00
oltolm
0c94606fcf
Make compile with msvc, clang and gcc on Windows
2023-07-11 21:40:30 +03:00
Eladash
17d8f2884e
Debug fixes
2023-07-09 13:33:03 +03:00
Eladash
554b27a82a
PPU LLVM: Implement SELF precompilation
...
Do not use PS3 memory for precompilation.
2023-06-28 18:34:33 +03:00
brian218
cf4ae38699
sys_fs: Implemented get_normalized_path()
2023-06-25 09:08:20 +02:00
Eladash
09f83e48ff
fs: Add get_parent_dir_view
...
string view version of the argument path, use with care.
2023-06-24 12:00:04 +03:00
Eladash
bcbce5dd48
File.cpp: revert get_parent_dir change
2023-06-24 12:00:04 +03:00
unknown
37bc73865d
jit: fix assertion in GDBJITRegistrationListener
2023-06-18 13:06:53 +03:00
Megamouse
a90858193e
Qt/logging: add format function for QString
2023-06-15 19:48:15 +02:00
Megamouse
635fed0427
fs/linux: fix potential copy_file issue
...
sendfile is meant to be run in a loop, since there is no guarantee that a single call copies all the data.
The current implementation may lead to corrupt files on linux.
2023-06-12 15:59:32 +03:00
Eladash
d5eebd6ab4
debugger: Fix trailing spaces in PPU register dump
2023-06-06 09:48:27 +02:00
brian218
a131a41874
Fixed a bug in fs::get_parent_dir()
2023-06-05 20:15:43 +02:00
brian218
c85775922e
sys_usbd: Implemented sys_usbd_unregister_extra_ldd()
2023-06-05 13:51:54 +03:00
brian218
6a570ae57e
sys_fs: Implemented sys_fs_mount(prot=1) read-only mounting & fixed up some operation and permission checks
2023-06-05 13:51:54 +03:00
Eladash
300701a06b
Make page faults entry enqueue and event atomic
2023-06-02 08:54:46 +03:00
Eladash
3d8d9ef61c
Threads.cpp: Fix infinite looping
2023-06-02 08:54:46 +03:00
Megamouse
f96a0ce9d2
Trophies: Add more sanity checks to pugixml backend
2023-05-30 19:11:57 +02:00
Megamouse
cb1b71bc57
Qt: fix emulated button reset
2023-05-25 20:37:15 +02:00
Eladash
f031cd9b42
Take advantage of WIN10 Thread Name API
2023-05-24 20:39:51 +02:00
Megamouse
f5c48a00b4
Fix log message
2023-05-18 09:15:49 +02:00
Dark
24dde5d42b
Implement support for emulating Rock Band 3's MIDI Pro Adapter
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2023-05-17 22:59:44 +02:00
oltolm
b7b87096d8
fix: make ASAN work on Windows
2023-05-06 10:17:58 +02:00
brian218
6a41b22a1b
sys_fs: Further implemented cellFsArcadeHddSerialNumber (0xc0000007)
2023-05-06 10:26:37 +03:00
Ivan Chikish
3cf8c629fa
X86 SigHandler: Add support for BEXTR instruction
...
BEXTR is emitted for znver CPUs in recent LLVM.
2023-05-05 18:03:50 +03:00
Megamouse
ad5a62b62d
Loader: split add_only into own function
...
The new code does not require any modifications apart from loading vfs
2023-04-28 17:16:04 +02:00
kd-11
b060165817
jit: Fix vec_cmp_eq<u32>
...
- Emit pcmpeqd instead of the incorrect pcmpeqw
2023-04-15 12:16:15 +03:00
Eladash
79d09d02ed
Add savestate buttons to home menu
2023-04-13 20:46:37 +02:00
Ivan Chikish
06b0e35fb9
Update to LLVM 16.0.1
...
Fix Zen4+ AVX-512 detection
2023-04-11 12:13:09 +03:00
Ivan Chikish
fb88e1c1c9
Update to LLVM 16.0.0, switch to upstream LLVM
2023-04-06 10:19:31 +03:00
RipleyTom
0f45a8c180
Fix inaccuracies pointed out by PVS-Studio
2023-03-25 08:45:30 +01:00
RipleyTom
c98158b460
Add buf_to_hexstring
2023-03-18 01:51:35 +01:00
oltolm
520524285a
llvm: update code to new API ( #13500 )
...
* llvm: update code to new API
* llvm: remove OLDLLVM define
2023-03-11 01:57:21 +03:00
Megamouse
cc145eaf2e
patches: fix move_file/hide_file error
2023-03-04 19:18:36 +01:00
Megamouse
92ae57c9ee
Windows: log more descriptive errors
2023-03-04 18:34:56 +01:00
Eladash
382a7c94a2
Patches: Virtual move/remove game files patches
2023-03-03 20:56:11 +01:00
Megamouse
e46dba43ad
config: try to fix float locale issues
2023-02-25 11:23:07 +01:00
Megamouse
afad96a52a
Qt: try to fix QString::toDouble locale nonsense
2023-02-25 11:23:07 +01:00
kd-11
7db6594358
rsx/overlays: Use lf_queue for a lock-free stack implementation
2023-02-24 00:46:53 +03:00
Megamouse
ccb7528a59
fix some warnings
2023-02-22 23:57:20 +01:00
Megamouse
f0c8f6d47b
patch_manager: check config values before applying them
2023-02-22 01:17:36 +01:00
Megamouse
a29dc3893f
patch_manager: change wording
2023-02-22 01:17:36 +01:00
Megamouse
c6f392bf6c
patch_manager: allow multiple dynamic values
2023-02-22 01:17:36 +01:00
Megamouse
f2ded2fdb7
patch_manager: Add dropdown labels
2023-02-22 01:17:36 +01:00
Megamouse
080737fd1f
patch_manager: add more dynamic to dynamic patches
2023-02-22 01:17:36 +01:00
Megamouse
1040757556
patch_manager: add ability to add dynamic patches
2023-02-22 01:17:36 +01:00
Margen67
5bb89328d0
Remove whitespace
2023-02-15 08:58:02 +01:00
Megamouse
9375e255e1
overlays: add pages to home menu
2023-02-09 20:36:35 +01:00
Jan Beich
3eaa29e7c2
Thread: silence -Wsign-compare on FreeBSD aarch64
...
Utilities/Thread.cpp:1805:48: error: comparison of integers of different signs: 'uptr' (aka 'unsigned long') and '__register_t' (aka 'long') [-Werror,-Wsign-compare]
const bool is_executing = uptr(info->si_addr) == RIP(context);
~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~
2023-01-19 18:49:06 +03:00
brian218
d2dc57585c
sys_fs: Improved sys_fs_fcntl(0xc0000015&0xc000001c)
2023-01-18 08:09:35 +01:00
kd-11
439bdde849
rsx: Fix printing of expected values
2023-01-11 16:48:53 +03:00
Megamouse
9b7eaf5117
Improve error logging
2023-01-09 21:06:51 +01:00
Elad Ashkenazi
382a27cb2f
Allow to cancel dir size calculation ( #13134 )
2022-12-30 09:34:35 +01:00
Nekotekina
eeda958f33
fs: fix read/read_at/write (Unix)
...
It's known that too huge read can require multiple syscalls.
2022-12-29 16:19:54 +03:00
Nekotekina
2f9cac8d18
fs: implement file::read_at
...
Reads from the given offset; does not seek; thread-safe.
2022-12-29 16:19:54 +03:00
Megamouse
96c6dc01eb
Qt: Implement config check in Utilities and log viewer
2022-12-22 09:09:51 +01:00
Elad Ashkenazi
baa2768a69
StrUtil.h: Prevent an overflow in strcpy_trunc
2022-12-17 19:55:16 +01:00
kd-11
04fb86556a
rsx: Fix surface metadata life-cycle
...
- Beware of clone operations. Blindly inheriting the parent's metadata is wrong.
- It is possible, especially when reusing a pre-existing slice, that the parent and child info has diverged
2022-12-17 20:16:58 +03:00
Eladash
8980fc5524
rsx: Fix exceptions
2022-12-17 14:27:20 +01:00
Eladash
7df093c94b
Make it work with LLVM
...
Allow multiple entries for a single code.
2022-12-09 21:16:05 +03:00
Eladash
f572e29a13
PPU: Add new patch function for SONIC 06
2022-12-09 21:16:05 +03:00
kd-11
0aaa40cd53
ux: Update vcredist links and optionally disable help text from error dialog
2022-12-06 20:46:35 +01:00
Megamouse
a6b44ea1bb
Qt: support fatal error as htmk
2022-12-06 20:46:35 +01:00
Elad Ashkenazi
ad3ea966cb
Add RPCS3/games/ for automatic games detection, support PSN games outside HDD0 ( #12982 )
...
* SFO: Do not load PARAM.SFO with illegal TITLE_ID
* Add support for PSN games outside HDD0
* Add RPCS3/games/ for automatic game detection
2022-12-02 13:18:07 +03:00
Eladash
e9e139c364
logs improvements
...
* Do not use unsafe pointer arithmetics exceeding existing memory. (exceeding m_fptr)
* Properly use the enire 32MB of the buffer, previously only 16MB were used for cuncurrent access.
* Fix a bug occurring after attempting to push 1TB (40 bits).
* Flush the log before hitting a debugging breakpoint.
2022-11-28 18:52:11 +03:00
Eladash
8b934abcf2
Improve error_code, make HDD1 errors be warnings
2022-11-26 16:33:47 +03:00
Nekotekina
bf388e5428
cfmt/StrFmt: support s128 formatting (untested)
2022-11-26 09:30:11 +03:00
Eladash
b57ab74ee7
cfg: Partial support for case-insensitivity for true-false settings
2022-11-05 10:36:46 +01:00
Eladash
0113224cb6
cfg: Implement float config entry
...
Add missing string empty checks
2022-10-24 00:10:37 +02:00
Nekotekina
6ff6a4989a
Implement at32() util
...
Works like .at() but uses source location for "exception".
2022-09-26 18:04:15 +03:00
Nekotekina
a604394b20
BufferUtils: fix regression on AVX path
...
primitive_restart_impl::upload_untouched was broken.
Bug in vec_broadcast_gpr on AVX path.
2022-09-24 17:23:12 +03:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
Nekotekina
a9437d69ab
simd_builder: fixups
...
Fix resetting vmask in reduce() step.
Fix AVX-512 loads in vec_load_unaligned().
Fix bzhi reg size in build_look().
2022-09-08 18:12:15 +03:00
Nekotekina
5d91caebe9
Linux: delete /tmp/perf.map on exit
2022-09-08 16:56:06 +03:00
Nekotekina
82258915da
BufferUtils: rewrite remaining intrinsic code with simd_builder
2022-09-07 17:59:07 +03:00
Nekotekina
11a1f090d3
BufferUtils: simd_builder refactoring
...
Some simplifications implemented.
2022-09-07 17:59:07 +03:00
Elad Ashkenazi
b7599c0f30
Update Thread.cpp
2022-08-31 22:19:05 +03:00
Elad Ashkenazi
d8494ef1ae
Update Thread.cpp
2022-08-31 22:19:05 +03:00
Elad Ashkenazi
727b32e886
RawSPU: Do not assume GPU memory fault on SPU MMIO
2022-08-31 22:19:05 +03:00
Nekotekina
80f0741103
simd_builder: fix constant locations
2022-08-29 14:32:56 +03:00
Nekotekina
e28707055b
Implement simd_builder for x86
...
ASMJIT-based tool for building vectorized loops (such as ones in BufferUtils.cpp)
2022-08-28 18:38:52 +03:00
Eladash
daf43989fc
Thread.h: Improve thread abort performance
2022-08-25 23:54:56 +03:00
Eladash
506b9deec5
Savestates/SPU LLVM: Improve saving performance
2022-08-25 23:54:56 +03:00
Eladash
ddba30988b
vm: Attempt to not remove cpu_flag::wait flag during access violation
2022-08-21 15:02:01 +03:00
Eladash
1dd1062be1
PPU LLVM: Fix HLE function injection
2022-08-21 15:02:01 +03:00
kd-11
edb39039dd
Fix linux build
2022-08-14 23:53:50 +03:00
kd-11
1244044647
util: Provide stack-trace utilities
2022-08-14 23:53:50 +03:00
Eladash
2ec039365f
shared_mutex: Optimize busy-waiting by detecting waiters and try to steal the notifying bit
...
Add an unused has_waiters() method.
2022-08-07 20:23:54 +03:00