Commit graph

8732 commits

Author SHA1 Message Date
Nekotekina
2acb6ed60d SPU LLVM: optimize SHUFB for permutation-only shuffles
Drop constant generation when unused.
2021-09-17 10:23:43 +03:00
Nekotekina
144244e902 SPU LLVM: implement missing constant mask handling in SHUFB 2021-09-17 10:23:43 +03:00
Nekotekina
7cf9d1380b LLVM DSL: add line number in get_const_vector automatically 2021-09-17 10:23:43 +03:00
Nekotekina
f188019244 LLVM DSL: reimpelement fsqrt, fabs 2021-09-17 10:23:43 +03:00
Nekotekina
38dfc88e8d LLVM DSL: reimplement avg 2021-09-17 10:23:43 +03:00
Nekotekina
95c36221fa LLVM DSL: reimplement ctlz, ctpop 2021-09-17 10:23:43 +03:00
NicknineTheEagle
4fcc1c0f31 Fully implement sceNpDrmVerifyUpgradeLicense 2021-09-16 23:54:53 +02:00
Megamouse
1a2fad4eac
cellSearch: more stubs and implementations (#10578) 2021-09-16 22:05:29 +01:00
Megamouse
da4f4dafbd overlays: Show feedback while stopping ppu compilation 2021-09-16 22:18:43 +02:00
Eladash
e5876b3a1b Fix BDVD path setting 2021-09-16 21:28:52 +03:00
Eladash
9c2d94ca1a sys_prx: Improve sys_prx_get_module_info error checking 2021-09-16 19:09:18 +03:00
Eladash
ae4f837f57 sys_prx: Implement sys_prx_get_module_id_by_address 2021-09-16 19:09:18 +03:00
xddxd
bcda172ae7 Switch from r16ui to r16 2021-09-16 14:09:21 +03:00
xddxd
d511e76a63 Enable the precise occlusion query feature 2021-09-16 14:09:21 +03:00
Megamouse
6378e16fdf Emu.Load: add more logging 2021-09-15 21:43:29 +02:00
Eladash
8b48fd95fe Fix sys_prx_start/stop_module for older firmware
The old structure is only 32 bytes long, not containing prologue/epilogue functions.
2021-09-15 18:08:58 +03:00
Eladash
5600430a05 Fix user_interface::alloc_thread_bit() usage 2021-09-13 22:36:53 +03: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
fe6cb4774e
Fixup default config-path (#10863)
Fixes #10862
2021-09-12 21:28:48 +03:00
Eladash
91fefd4671 Fix vm::try_alloc regression 2021-09-12 19:05:26 +03:00
Eladash
677d5f09ce Add debugging info for when sys_tty_write is executed 2021-09-12 19:05:26 +03:00
Eladash
c7f5475b56 Improve sys_fs_close logging 2021-09-12 19:05:26 +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
1cbcf7e1ad Reimplement config selection for game startup
* Implement manual selection of config file.
* Implement default config option.
* Fix bug which led to 'force global config' to not work in some games. (any game using process relaunch such most game collections, RDR, MGS4 etc)
* Relax CLI config purpose - instead the emulator forever ignoring any other config except for the one provided in arg, use it only for the CLI-booted game.
2021-09-09 21:56:50 +02:00
Eladash
df080fbc53 Ensure frozen emulation for special executables inspection modes 2021-09-09 19:30:54 +02: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
69faf14a79 System: remove deprecated custom config location 2021-09-08 21:56:50 +02:00
Megamouse
29256df5b1 input: make pad_thread a named_thread 2021-09-08 20:15:28 +02:00
Eladash
6a340afb8a Log emulation pause/unpause events 2021-09-07 08:51:59 +02:00
Eladash
dfbc49513d Debugger/Disasm: Name SPU Syscalls 2021-09-07 01:13:57 +02:00
Megamouse
7bb830a228
Enable PPU java mode handling by default (#10825)
I don't remember if we had decided to do this, so I'll just make a PR and Ani or Neko can merge if needed.
2021-09-06 20:26:23 +01:00
kd-11
b3f002f68f Add enums for zcull precision control 2021-09-06 20:04:03 +03:00
kd-11
ea949a5f28 Add ZCULL control options to the GUI 2021-09-06 20:04:03 +03:00
kd-11
53457262d4 rsx: Implement ZPASS results scaling for precise stats 2021-09-06 20:04:03 +03:00
kd-11
472efc08eb rsx: Implement precise ZCULL stats 2021-09-06 20:04:03 +03:00
Megamouse
0525070898 remove deprecated avcodec_register_all
We already use newer avcodec code anyway.
2021-09-06 10:00:34 +02:00
Megamouse
aca9884e76 input: fix custom pad config loading 2021-09-05 10:16:25 +02:00
Eladash
fe0c164de2 sys_net: Anti-log spam enhancement 2021-09-04 11:58:59 +02:00
Eladash
ea2c5294df cellCamera: Anti-Log spam enhancement 2021-09-04 11:58:59 +02:00
Megamouse
0debcfed0a Silence some warnings 2021-09-02 19:39:42 +02:00
Nekotekina
06f733a7f2 Fixup No.2 for #10779 2021-09-01 16:56:38 +03: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
Malcolm Jestadt
43cc62d267 SPU LLVM: Add m_use_vnni
- Alderlake and Sapphirerapids will require an update to the llvm fork before they can be detected
2021-08-31 14:02:05 +03:00
Malcolm Jestadt
d304b52391 SPU LLVM: Add VNNI optimized variant of sumb
- Uses vpdpbusd to horrizontally add values, for some reason this is much faster than the normal horizontal add instructions.
2021-08-31 14:02:05 +03:00
Malcolm Jestadt
a86b278115 SPU LLVM: Expand byteswap elimination to more instructions 2021-08-31 14:02:05 +03:00
kd-11
b5dcfb3431 rsx: Rework gamma override mask from RGBA to ARGB to match other per-channel mask registers 2021-08-30 11:41:19 +03:00
kd-11
a5e455d8ed rsx/fp: Handle signed operator precedence
This was marked TODO for a long time
- Unsigned remap seems to be overriden by gamma mask (Resistance 3)
- We already know sign mask overrides gamma mask from UE3 titles
2021-08-30 11:41:19 +03:00
Eladash
6781373727
Patch cooperate with system SPU group creation (#10791) 2021-08-29 22:03:17 +03:00