Commit graph

2494 commits

Author SHA1 Message Date
Eladash
f8b3c48af7
sys_spu: Implement proper SPU group flags (#7320)
* sys_spu: Implement proper SPU group flags
2020-02-05 20:46:05 +00:00
Eladash
049e392a97 Make preferred spu threads dynamically adjustable 2020-02-05 10:06:07 +00:00
Nekotekina
c0f80cfe7a Use attributes for LIKELY/UNLIKELY
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Eladash
49e11b7cfd cellVdecQueryAttrEx: Add some error checks for MPEG2 2020-02-05 05:01:07 +00:00
Eladash
6a32ceaab5 cellVdecQueryAttrEx: Add workaround for codec specific info 2020-02-05 05:01:07 +00:00
Eladash
acc7320cae Fix cellVdecGetPicItem
Fix potential overflow, race condition and correctness fixes for picInfo_addr
2020-02-05 05:01:07 +00:00
Eladash
e9e8f0c5b7 cellGame: report not found sfo params 2020-02-04 18:29:52 +03:00
Eladash
cb52ee0a4d cellGame: report fs::remove_all failure 2020-02-04 18:29:52 +03:00
Eladash
4488312e81 Avoid out of memory with cellGameGetParamString 2020-02-04 18:29:52 +03:00
Nekotekina
f9a8efe406 SPU LLVM: gisable NewGVN pass
It goes into an endless loop with memory leak for some reason.
2020-02-03 11:16:03 +03:00
Eladash
e57c01907e cellVdec: Improve cellVdecQuery and cellVdecOpen 2020-02-02 09:01:32 +03:00
InvoxiPlayGames
c1180d76dd sys_usbd: Fix bug preventing multiple USB devices 2020-02-01 12:34:42 +03:00
Nekotekina
6dfd97f0b6 Modernize SPU logging (spu_log variable) and remove log legacy
Remove legacy macro (LOG_ERROR, etc)
2020-02-01 11:52:52 +03:00
Nekotekina
327bb2d8f0 Modernize PPU logging (ppu_log variable) 2020-02-01 11:52:24 +03:00
Nekotekina
21f7b0ff0f Remove HLE log channel 2020-02-01 11:52:24 +03:00
Nekotekina
15391f45d0 Modernize RSX logging (rsx_log variable) 2020-02-01 11:52:22 +03:00
Nekotekina
3eca2d5d6c Remove legacy LOADER log channel 2020-02-01 07:49:38 +03:00
Nekotekina
1d0f359406 logs: add more log channels instead of GENERAL 2020-01-31 16:44:48 +03:00
Nekotekina
007a7a5859 Fixup for LOG system.
Register all channels at program initialization and allow duplicates.
2020-01-31 12:09:52 +03:00
Eladash
92466165f6
Increase Maximum Vblank Rate and Clocks Scale
Allow x30 times the speed of vblank rate + clocks scale of original PS3.
In theory a 60 fps limit game which scales frame limit perfectly with vblank rate can be played at up to 1800 fps with this change.

And:
* Fixed lv2 sleep with Clocks Scaling
* Make these settings dynamicaly adjustable.
* Avoid code duplication
2020-01-29 21:42:41 +01:00
Malcolm Jestadt
ad8988afd3 Embedded SPU elf patching
- PS3 games include both PPU and SPU code in their PPU executables, so to make patching games that make use of the same SPU libraries easier, we add a system to find and patch them.
- Patches for this system still use SPU LS (Local Storage) addresses despite the fact that we aren't loading anything into SPU LS at this time. The patches are checked against each segment and patched in place.
2020-01-28 02:13:37 +03:00
Ivan
7f07b79c04 Partial revert of #7180
PC is PS
2020-01-27 07:05:18 +03:00
RipleyTom
610a6a1404 Increases number of buffers when buffering 2020-01-27 02:13:30 +00:00
Eladash
a7aef22754 ppu: Log SELF header information and CIA of caller HLE functions 2020-01-27 01:21:40 +00:00
Eladash
4e0070f16d Log sys_spu thread group and thread names
Also safely read thread name after relevant error checks passed.
2020-01-26 20:32:10 +00:00
Eladash
7ae679adbe Fix logging of ppu name in sys_ppu_thread_create/rename 2020-01-26 20:32:10 +00:00
Eladash
d481c3c7fd cellGameGet/SetParamString: Implement CELL_GAME_ERROR_NOTSUPPORTED 2020-01-26 20:32:10 +00:00
Eladash
a9162a3f57 SPU LLVM: Improve approximate FCMGT 2020-01-26 18:37:07 +00:00
Eladash
e4ba096190 VSH: sys_mmapper
* Implement syscalls sys_mmapper_allocate_shared_memory_ext, sys_mmapper_allocate_shared_memory_from_container_ext.
* Implement multi-process shared memory allocations.
2020-01-24 20:08:30 +00:00
Eladash
46df58b662 sys_usbd: Add error_code 2020-01-24 19:25:52 +00:00
Eladash
95ed2ef62e cellGcm HLE: Add error_code 2020-01-24 19:25:52 +00:00
Megamouse
3f076d63e3 HLE: add error checks to cellAudioInGetDeviceInfo 2020-01-23 10:50:55 +01:00
Megamouse
3e8a5c6395 HLE: add some more constants 2020-01-23 10:50:55 +01:00
Megamouse
18f167ddd0 HLE: Fix error checks in cellAudioInRegisterDevice 2020-01-23 10:50:55 +01:00
Maksim Derbasov
1abdee242a small improvement (#7288)
* small improvement

* comments addressed

Co-authored-by: kd-11 <15904127+kd-11@users.noreply.github.com>
2020-01-22 12:28:48 +00:00
Eladash
949cfa7fdb Fix cellVdecSetFrameRate error check 2020-01-21 16:45:41 +03:00
Eladash
fe381b8581 SPU: Add SPU LS to debugger 2020-01-21 16:45:41 +03:00
Eladash
160ddcf86b SPU: Minor FREST bugfix 2020-01-21 16:45:41 +03:00
Eladash
f05a3da964 Fix lv2_file::op_write regression 2020-01-21 16:45:41 +03:00
Nekotekina
ddda09607d SPU: fixup for STOP 0w0 2020-01-21 16:32:00 +03:00
Eladash
9993df9b8b RawSPU: fix race between spu start and stop
This race could lead to spu status bits indicate RUNNING status, but cpu state being stopped.
Fix it by making sure cpu state is set before spu status.
2020-01-21 14:08:39 +03:00
Nekotekina
98a8eeaac2 SPU: properly support STOP 0x0 instruction 2020-01-20 23:40:10 +03:00
Nekotekina
3617f12a1e sys_fs: avoid possible out of memory on file reads/writes
Use fixed-sized intermediate buffer.
2020-01-20 16:00:20 +03:00
Nekotekina
63f67c88cc sys_fs: better stub sys_fs_fcntl(0xc0000006)
This syscall does something to classify filesystems by mountpoint.
2020-01-20 16:00:20 +03:00
Nekotekina
1b1b804d7e sys_fs: add /dev_flash mountpoint 2020-01-20 16:00:20 +03:00
Nekotekina
55cb96ab3b sys_fs: fix CELL_EIO condition in cellFsReadWithOffset 2020-01-20 16:00:20 +03:00
Megamouse
5ef3465f65 cellVdec: (experimental) allow AV_PIX_FMT_YUVJ420P 2020-01-20 00:33:25 +01:00
Megamouse
9a27cc9442 cellVdec: improve error checks 2020-01-20 00:33:25 +01:00
Megamouse
4dbad6cce6 fix some random warnings 2020-01-19 16:38:17 +01:00
Eladash
b07b5c9005 Fix sys_spu_thread_initialize for attr->name_len is 0 and attr->name is not null
If name_len is 0 name is empty, in any other case name is not empty (attr->name == nullptr isn't allowed in this case).
Check name_len and option for invalid values as fw.
2020-01-18 18:46:13 +03:00