Commit graph

2329 commits

Author SHA1 Message Date
Nekotekina
1b9a3e6077 SPU: internal refactoring, add spu_program
Use struct (spu_program) instead of std::vector<u32>.
2019-11-26 00:01:38 +03:00
Nekotekina
4caf747729 SPU LLVM: detect mpy32 pattern 2019-11-26 00:01:38 +03:00
Eladash
70ace4bb83 Fix cellAudioCreateNotifyEventQueue queue depth
TODO: global sdk value used is set in cellAudioInit, which means sdk var value is 0 before it's initialization, currently safely set queue size to 8 in this case.
2019-11-25 09:04:56 +00:00
Eladash
17ae70b935 Implement cellAudioCreateNotifyEventQueueEx 2019-11-25 09:04:56 +00:00
Eladash
40db205f5d Fix cellVoiceCreatePort 2019-11-25 09:04:56 +00:00
Eladash
1233c48d92 cellAudio: Implement event source 2019-11-25 09:04:56 +00:00
Eladash
f4ac8a2e0c cellVoice: Fix NOT_INIT checks, implement 0 event source handling 2019-11-25 09:04:56 +00:00
Eladash
c9066e7236 cellVoice Update
* Use shared lock wherever possible.
* Fix cellVoiceSetVolume.
* Fix error logging of cellVoiceCreateNotifyEventQueue, cellAudioCreateNotifyEventQueue
2019-11-25 09:04:56 +00:00
Eladash
fd433779bb sys_prx: Tiny improvement 2019-11-25 09:04:56 +00:00
Nekotekina
f31233b822 sys_net: don't report SYS_NET_EWOULDBLOCK in blocking syscalls 2019-11-22 18:56:40 +03:00
Nekotekina
5c55d4f2fe sys_net: format both negative and positive sys_net_error values 2019-11-22 18:56:13 +03:00
Eladash
6ad8b0a443 sys_net: Add error_code 2019-11-21 22:51:22 +03:00
Eladash
8d5ef2c7b9 Clamp volume in cellAudioAdd/2c/6c/Data
Same as firmware, NaN and Inf are flushed to zero.
2019-11-20 21:58:43 +03:00
Markus Stockhausen
cd6b6c8a4f Lightweight putllc() for non-TSX if no data changed
This replaces the totally messed up PR #6728

Some games make heavy use of getllar() & putllc() without even changing data.
In this case avoid unneccesary heavy locking of the PPU threads on non-TSX
hosts.
2019-11-19 18:10:29 +03:00
Megamouse
2152a77005 HLE: stub cellCrossController some more 2019-11-18 23:42:49 +01:00
Megamouse
41505117a7 HLE: stub cellCelpEnc and cellCelp8Enc 2019-11-18 23:42:49 +01:00
Megamouse
ca59ab59e9 HLE: add even more error_code 2019-11-18 23:42:49 +01:00
Nekotekina
db4e201fee SPU LLVM: use updateGlobalMapping instead of addGlobalMapping
...Where appropriate.
Fix to incorrect addGlobalMapping usage.
Also use clearAllGlobalMappings at compilation start.
2019-11-17 22:15:59 +03:00
Nekotekina
f30b81f8b0 SPU LLVM: change patchpoint name generation
Allow 2 or more patchpoint from a single address.
2019-11-17 22:07:08 +03:00
Megamouse
0b28f0fa14 HLE: add more error_code 2019-11-16 10:38:56 +01:00
Eladash
0f2adab05f Disallow NaN in cellVideoOutSetGamma 2019-11-16 11:21:10 +03:00
Eladash
610463a425 cellSysutilGetSystemParamInt(ID_PAD_RUMBLE) changed to return ON status 2019-11-15 20:17:51 +01:00
Eladash
da12969898 cellSysUtil: Add a few CELL_SYSUTIL_ERROR_VALUE checks 2019-11-15 20:17:51 +01:00
Eladash
894658f14c cellSysutil: Log error code 2019-11-15 20:17:51 +01:00
Eladash
25382a7dae Restore cellPadSetActDirect's reserved error check 2019-11-15 20:17:51 +01:00
Nekotekina
abbf3c4d16 SPU LLVM: add SPU profiling to compilation thread
Run another thread to collect profile data from SPU threads.
Use this data to prioritize compiling hot spot SPU blocks.
Implement stx::init_mutex::wait_for_initialized() helper.
2019-11-11 23:13:13 +03:00
Eladash
a21d7def33 SPU: Don't break blocks on DSYNC instruction in Safe mode (#6731) 2019-11-11 23:12:21 +03:00
Eladash
3f3ce53c67 Fix string length check in cellGameThemeInstall
vm::ptr::size() returns sizeof type instead.
2019-11-10 14:32:15 +03:00
Eladash
e8cc9d1f52 Loader: Fix default sdk version
Note: sdk version checks are unsigned checks, such value results in always true.
2019-11-10 14:32:15 +03:00
Eladash
1986944c61 Implement sysutil_check_name_string
* Fully implement 3, 4, 16 and 17 error checks of cellSaveData.
* cellSysCacheMount restrict characters in ID.
* cellHddGameCheck restricts characters in dirName.
2019-11-10 14:32:15 +03:00
Nekotekina
a83cbf63c6 Remove gsl::finally only use 2019-11-09 19:30:06 +01:00
Nekotekina
6ea02c23a0 Fix SSSE3 usage in PPUInterpreter.cpp
Fixup
2019-11-09 20:39:56 +03:00
Nekotekina
1cca00ec3a Fix SSSE3 usage in PPUThread.cpp
Remove legacy ifdefs, allow SSSE3 usage in AppImages.
2019-11-09 20:10:59 +03:00
Nekotekina
191675bf31 Remove gsl::finally only use 2019-11-09 19:11:01 +03:00
Nekotekina
0d629743ca cellSysCache: poison opened cache files on cache clear
Make opened files return CELL_EIO after cache clear.
2019-11-09 14:50:41 +03:00
Nekotekina
73ee6abb0f cellSysCache: return /dev_hdd1 root
It simplifies internal logic a little.
2019-11-09 14:43:19 +03:00
Nekotekina
e0bc276205 cellSysCache: keep mounted /dev_hdd1 after exitspawn 2019-11-09 14:43:19 +03:00
Nekotekina
ccac9d4777 Remove throwing and catching cpu_flag::stop
Since there is spu_runtime::g_escape function now.
2019-11-08 19:27:11 +03:00
Nekotekina
587ae17aa2 Simplify fmt::throw_exception
Gradual exception deprecation: disallow choosing exception type.
However, the function itself can remain here forever.
2019-11-08 19:27:11 +03:00
Eladash
af0bd7136d PPU Disasm: Fix RC OE enabled instructions view 2019-11-07 14:09:23 +03:00
Nekotekina
03b9ee27c5 Virtualize cellSysCache
Allows caches from multiple games to coexist.
Also change the way of handling cache IDs (file-less).
2019-11-06 14:12:43 +03:00
Nekotekina
da135fbfcc SPU LLVM: Disable "special" branch patchpoints 2019-11-04 22:52:03 +03:00
Eladash
7475be99ab lv2: Check ipc_key value if object is process shared 2019-11-03 14:59:47 +03:00
eladash
33fe0fdd6b Add missng check for key in cellAudioSetNotifyEventQueue
key is checked once according to hw test.
2019-11-03 14:59:47 +03:00
Eladash
f41f5054f7 sys_spu Fixup after #6864 2019-10-29 23:13:16 +03:00
Eladash
b99992d570 sys_spu: Fix SNR and Inbound Mailbox state reset
Also remove bugged ESTAT check at sys_spu_thread_write_spu_mb.
2019-10-29 18:34:28 +03:00
Eladash
739f68271f SPU LLVM: fix MFC CMD enqueuing 2019-10-29 18:16:08 +03:00
Eladash
f88a135b5b Fix lv2_config_service_event event id reset 2019-10-29 18:15:26 +03:00
Eladash
114b9498bf Remove unjustified use of idm::import_existing in sys_config 2019-10-29 18:15:26 +03:00
Eladash
8b6383b489 lv2: Correct alignment of some attributes structs 2019-10-29 18:15:41 +03:00