Megamouse
2885c8a4ab
cellSaveData: get rid of g_last_user_response
2023-02-27 10:24:06 +01:00
oltolm
1800faf0dd
cellVdec.cpp: use lock_unlock instead of lock_guard
2023-02-26 22:20:07 +03:00
oltolm
40cd255051
fix: back() called an empty string in PPUThread.cpp
2023-02-26 22:20:07 +03:00
oltolm
ad4677a67c
fix use after move in cellVdec.cpp
2023-02-26 22:20:07 +03:00
RipleyTom
d9e0d016c6
Fix for Windows ENOTCONN on connecting socket
...
Fixes Windows returns ENOTCONN when using recvfrom/sendto on connecting socket instead of the expected EAGAIN.
2023-02-26 10:35:20 +01:00
Megamouse
e46dba43ad
config: try to fix float locale issues
2023-02-25 11:23:07 +01:00
kd-11
ddc9e74aa8
rsx/overlays: Putting it all together
...
- Migrate dialogs with input-only threads to use the unified input
system
2023-02-24 00:46:53 +03:00
Megamouse
6b30cdac09
Use u64 for system_time_t, as s64 doesn't make much sense in a microsecond context.
2023-02-22 23:57:20 +01:00
Megamouse
ccb7528a59
fix some warnings
2023-02-22 23:57:20 +01:00
Megamouse
1040757556
patch_manager: add ability to add dynamic patches
2023-02-22 01:17:36 +01:00
Megamouse
a7c3753c5a
cellMsgDialog: Improve some logging and localization
2023-02-21 23:35:13 +01:00
brian218
23da770364
sys_game: LV2 board storage minor fixups
2023-02-21 22:57:37 +01:00
RipleyTom
6186ac0245
rpcn: signaling handler improvements & upnp
...
Simplify signaling by making Matching2 a layer over normal signaling.
Implements UPNP port forwarding
Implement sceNpMatching2AbortRequest
Fix reported bw in sceNpUtil
Hack for Fat Princess binding udp on 3658
Reenable CB for sceNpBasicAddPlayersHistoryAsync
Misc fixes
2023-02-21 15:41:41 +01:00
Megamouse
bb2c9196f5
cellVdec: align RGBA/ARGB strides
2023-02-18 22:43:22 +01:00
Megamouse
1c8d3e0dca
cellVdec: fix au_count race condition
2023-02-18 15:31:21 +01:00
oltolm
bbd308a908
fix order of static initialization: add comment
2023-02-17 11:58:40 +03:00
oltolm
b5b8f7c35a
fix order of static initialization
2023-02-17 11:58:40 +03:00
Margen67
5bb89328d0
Remove whitespace
2023-02-15 08:58:02 +01:00
Eladash
3976018980
Debugger: Print error codes stored in GPR
2023-02-12 23:10:20 +01:00
Megamouse
1dac708323
cellPad: move CellPadData to pad_types for convenience
2023-02-12 17:04:31 +01:00
Megamouse
61c0d81667
cellPad/vsh: fix sixaxis interaction
...
This allows you to influence the particles in the XMB
2023-02-12 17:04:31 +01:00
Megamouse
38c7cf474d
cellPad: add sanity check for indices in cellPadLdd functions
2023-02-12 17:04:31 +01:00
Megamouse
ec4cbe5380
cellPad: simplify some code
2023-02-12 17:04:31 +01:00
Megamouse
9375e255e1
overlays: add pages to home menu
2023-02-09 20:36:35 +01:00
Eladash
27cad422b9
cellGame: Truncate excess of characters in TITLE_ID
...
In cellGameDataCheckCreate
2023-02-07 18:21:18 +03:00
Elad Ashkenazi
8652b7d358
cellVdec: Fix AU decode count on callback ( #13342 )
2023-02-05 13:02:51 +01:00
brian218
53e906d0f3
sys_game: Implemented sys_game_board_storage_write() & Made it modifiable
2023-02-04 22:19:59 +01:00
Elad Ashkenazi
780a6a7b40
sys_prx: Fix PRX module filename reading ( #13339 )
2023-02-04 21:24:24 +01:00
RipleyTom
737fbf661a
Add more disconnected limitations in sys_net
2023-02-04 20:33:21 +01:00
Nicolas Adenis-Lamarre
0023716053
- fix analog_t required for some games
...
- changing mapping to better fit to games (for example, select is rarely used)
Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2023-02-04 16:10:40 +01:00
Megamouse
fc34b3f144
cellOskDialog: improve kb event hook callback
2023-01-28 21:51:36 +01:00
Megamouse
fb974a4551
overlays/osk: clear on enter
2023-01-28 21:51:36 +01:00
Megamouse
d3dbf9e83f
overlays/osk: Clear text properly in continuous mode
2023-01-28 21:51:36 +01:00
Megamouse
9b6d7a5275
cellOskDialog: don't wait for osk event_hook_callback
2023-01-28 21:51:36 +01:00
Megamouse
81ff956a48
cellOskDialog: use getter instead of weak_ptr
2023-01-28 21:51:36 +01:00
Megamouse
6106ff8b31
overlays/osk: fix cellOskDialogExtInputDeviceLock
2023-01-28 21:51:36 +01:00
Megamouse
d1a950d59f
overlays/osk: keep dialog open in continuous mode
2023-01-28 21:51:36 +01:00
Megamouse
641fadc1fb
overlays/osk: handle input device change
2023-01-28 21:51:36 +01:00
Megamouse
5299061282
overlays/osk: visualize separate windows
2023-01-28 21:51:36 +01:00
Eladash
5aced2e44b
Print LV2 Syscall Usage only if increased since last print
2023-01-28 17:21:45 +01:00
Malcolm Jestadt
813f7b50c1
SPU LLVM: Minor SUMB AVX-512 path optimization
...
- Tweak shuffle to allow LLVM to emit a cheap blend instruction instead of the expensive VPERMI2W instruction
2023-01-27 13:06:48 +03:00
brian218
7648171fe2
sys_usbd: Improved usb_handler_thread timing
2023-01-26 15:52:45 +01:00
brian218
49455965c0
sys_game: Implemented sys_game_get_rtc_status() & Updated sys_game_board_storage_read()
2023-01-26 15:52:45 +01:00
MSuih
a700e3b39e
Whitelist EA Active 2 accessories
2023-01-23 17:02:51 +01:00
Egor Romanovskiy
4fbbdf8732
sys_usbd: fix usb handler deinitialization
2023-01-23 12:32:09 +01:00
Megamouse
d3183708e8
overlays: do not open home menu in VSH
2023-01-21 09:11:53 +01:00
Megamouse
44771150b7
overlays: add simple home menu
2023-01-21 09:11:53 +01:00
Megamouse
ac2b2d82d2
overlays/osk: move pointer variables to fxo
2023-01-20 23:41:56 +01:00
Megamouse
dc0230c476
overlays/osk: Fix layout and positioning
2023-01-20 23:41:56 +01:00
Megamouse
0a8c343e6e
cellOskDialog: cellOskDialogSetSeparateWindowOption
2023-01-20 23:41:56 +01:00
Megamouse
afdbef1a81
cellOskDialog: improve dictionary functions
2023-01-20 23:41:56 +01:00
Megamouse
f659338e5e
overlays/osk: implement first osk pointer
2023-01-20 23:41:56 +01:00
Megamouse
4a82d81efe
overlays/osk: implement scaling
2023-01-20 23:41:56 +01:00
Megamouse
6b4208be9b
overlays/osk: align osk position
2023-01-20 23:41:56 +01:00
Megamouse
3d78c7f43a
cellOskDialog: fix error check and improve initialKeyLayout logic
2023-01-20 23:41:56 +01:00
Megamouse
34df4509af
overlays/osk: implement "support languages"
...
Some languages/panels in the osk need to be activated by the developer.
They are not available otherwise.
So let's check if they were pre-configured and only add the panels if they are supported.
2023-01-20 23:41:56 +01:00
brian218
0e64c74a78
sys_usbd: Added buffer null check for sys_usbd_transfer_data()
2023-01-18 08:09:35 +01:00
brian218
d2dc57585c
sys_fs: Improved sys_fs_fcntl(0xc0000015&0xc000001c)
2023-01-18 08:09:35 +01:00
brian218
e0fe7989e9
USB: Added VFS USB mass storage devices to the USB device list
2023-01-18 08:09:35 +01:00
Megamouse
450a64b58b
cellUserInfo: fix potentially locked user dialogs
2023-01-18 00:24:00 +01:00
Megamouse
1d214ed26a
Qt: add system cmd dialog
2023-01-16 17:26:05 +01:00
Elad Ashkenazi
e6a7597444
PRX/savestates/VSH: Associate PRX with library, fix VSH browser ( #13221 )
...
* PRX/savestate:s Associate PRX with library
* VFS/Savestates: Fix host_root resolving
* Savestates: Fix segfault in ppu_initialize
* SPU: Avoid some log spam
* VSH/sys_vm: Fix limit on root processes
2023-01-15 23:12:54 +03:00
kd-11
73cda2324a
rsx/lv2: Refactor DMA control stuff after VSH work
2023-01-11 16:48:53 +03:00
kd-11
3dba894369
rsx: Minor refactoring RSXThread
...
- Part 1 of many
2023-01-11 16:48:53 +03:00
Megamouse
29078bc428
cellMouse: decrease some log levels
2023-01-10 20:57:32 +01:00
Megamouse
43288a6760
Qt: add shortcut manager
2023-01-10 19:28:26 +01:00
Megamouse
9b7eaf5117
Improve error logging
2023-01-09 21:06:51 +01:00
Elad Ashkenazi
0946e5945f
VSH Improvements ( #13172 )
...
* sys_prx: Implement PRX LIB register syscall
* VSH: partial log spam fix
* sys_process reboot fix
* Implement sys_memory_container_destroy_parent_with_childs
* sys_net: Implement SO_RCVTIMEO/SO_SENDTIMEO
* VSH: Implement sys_rsx_context_free
* PPU LLVM: distinguish PPU cache exec also by address
Fixes referencing multiple PRX.
* UI: Do not report size of apps inside /dev_flash
2023-01-09 20:03:01 +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
Eladash
ee8cd82e9d
Demote PRX export already loaded error
2022-12-25 16:10:32 +03:00
Eladash
820e692e57
PRX: Implement multi-referenced library management
2022-12-25 16:10:32 +03:00
Megamouse
f545532556
cellSaveData: add some more info to log error
2022-12-22 09:09:51 +01:00
brian218
812224f7f7
Stop LV2 Watchdog when CELL_SYSUTIL_REQUEST_EXITGAME is issued
2022-12-15 13:12:40 +03:00
brian218
d78e2dad29
sys_game: Made the LV2 Watchdog restarts the game forcefully
2022-12-15 13:12:40 +03:00
brian218
65ae85061f
Misc and minor improvements of syscalls used by VSH ( #13067 )
2022-12-13 07:33:17 +01:00
brian218
ab3c8268f0
sys_sm: Implemented sys_sm_shutdown() ( #13048 )
2022-12-11 09:10:06 +01:00
brian218
cdc1d0c02b
sys_fs: sys_fs_get_mount_info(): Made g_mp_sys_dev_root always reported as mounted
2022-12-10 15:28:04 +01:00
Megamouse
1cc3e6e510
cellRec: hotfix for pre-recording
2022-12-10 04:10:40 +01:00
Megamouse
064ab58f3c
cellRec: move data instead of memcpy
2022-12-10 03:24:40 +01:00
Megamouse
85c0a2e602
cellRec: add more logging
2022-12-10 03:24:40 +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
Megamouse
a3bcb6c15a
cellRec: implement proper recording
...
Everything should work mostly. I didn't find a game to test the external input though.
2022-12-08 21:08:37 +01:00
Megamouse
0e73c4598e
cellVideoExport: fix file paths
2022-12-08 21:08:37 +01:00
Megamouse
6b8aef9fdd
cellAdec: fix some uninitialized member warnings
2022-12-08 21:08:37 +01:00
brian218
6d4379059c
sys_fs: Integrated get_mount_count() into sys_fs_get_mount_info_size()
2022-12-08 18:31:46 +01:00
brian218
a0f3704b41
sys_fs: Integrated the function of get_vfs() into get_mp()
2022-12-08 18:31:46 +01:00
brian218
0a3e540a10
sys_fs: get_vfs() minor fixup
2022-12-07 20:20:52 +01:00
Eladash
82a8d96fba
sys_fs hotfix
...
Co-Authored-By: brian218 <17809637+brian218@users.noreply.github.com>
2022-12-03 17:53:39 +01:00
brian218
8d9dd1d19c
Implemented sys_fs_newfs()
2022-12-02 08:18:46 +01:00
Megamouse
5188293242
evdev gun support cleanup
2022-11-30 19:38:42 +01:00
Nicolas Adenis-Lamarre
2805fe0a06
evdev gun support
...
supports guns via evdev. multiple guns.
extra buttons are configurable (guns can be configured for that).
Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2022-11-30 19:38:42 +01:00
Team XLink Developers
b4757b514d
Add ability to have sockets bind to a local IP address ( #12998 )
2022-11-30 18:35:42 +03:00
Megamouse
5dbadccd7f
Log PSF path on error
2022-11-27 22:07:15 +01:00
Megamouse
49a968219f
Silence some usually irrelevant errors
2022-11-27 22:07:15 +01:00
Eladash
8b934abcf2
Improve error_code, make HDD1 errors be warnings
2022-11-26 16:33:47 +03:00
Nekotekina
7c15001042
Implement read_from_ptr<>() util
...
Doing std::bit_cast on a "span".
Should be usable in constexpr.
2022-11-26 09:30:11 +03:00
brian218
b639f3c8ec
Fixed up lv2_fs_mount_point stuff & Fixed loop.tmp potential leak
2022-11-19 10:42:49 +01:00
brian218
13ca1a7f09
Further implemented sys_fs_get_mount_info() and sys_fs_get_mount_info_size()
2022-11-19 10:42:49 +01:00
brian218
16098c38c8
sys_ss_appliance_info_manager(): Fixed VSH error 80029567 and 80029564
2022-11-19 10:42:49 +01:00
Elad Ashkenazi
99ae561caa
cellPad: Noise-cancelling log changes ( #12958 )
2022-11-16 20:00:22 +01:00
Megamouse
324b1039cf
set cellVideoOutSetGamma to trace
...
It is spammed a lot in some games and we already know it works.
2022-11-12 11:23:58 +03:00
Megamouse
3c79f3943f
Minor simplifcation in ppu_finalize
2022-11-12 11:23:58 +03:00
kd-11
5943b802d7
grammar
2022-11-11 12:09:23 +03:00
Eladash
b875a86e1d
PRX: export functions on start()
2022-11-09 02:28:12 +03:00
Eladash
0a35a62235
sys_prx: Make PPU imports/exports thread-safe
2022-11-09 02:28:12 +03:00
brian218
3cb9cd7724
sys_fs: Minor fixup ( #12913 )
...
Stubbed sys_fs_newfs
2022-11-01 19:49:50 +03:00
brian218
68b68e676b
sys_fs.cpp: Satisfy Clang
2022-10-31 18:53:09 +03:00
brian218
c7ced46707
Add support for mounting and unmounting CELL_FS_SIMPLEFS
2022-10-31 18:53:09 +03:00
brian218
ecc194cb62
Use DECR's Product Code when Debug Console Mode is enabled
2022-10-31 18:53:09 +03:00
Nekotekina
ae809ad320
Unexpected bugfixes
...
Mostly unaligned memory access.
Also includes workarounds for ubsan execution.
2022-10-31 14:20:02 +03:00
RipleyTom
06dc6909c4
implement sceNpManagerGetMyLanguages
2022-10-30 18:00:54 +01:00
capriots
c639b7d5f4
cellAudioAdd6chData(): fix channel order
2022-10-30 04:50:02 +01:00
brian218
61a371b106
Implemented sys_fs_mount() and sys_fs_unmount()
2022-10-28 08:51:41 +02:00
RipleyTom
880a4e3ca6
SceNpScore: improvements
2022-10-24 00:49:44 +02:00
Eladash
9f3f619774
Minor cleanup
2022-10-23 13:06:57 +02:00
Megamouse
4c8630d29f
sceNpTrophyRegisterContext: log tls error
2022-10-22 22:30:23 +02:00
Megamouse
5b66fe47db
sceNpTrophyCreateContext: do not log nul characters
2022-10-22 22:30:23 +02:00
RipleyTom
7ae9b15b5c
sys_net: return appropriate packet size for P2P
2022-10-22 20:14:32 +03:00
RipleyTom
67323994fc
Implement sceNpScoreSanitizeComment
2022-10-22 18:43:13 +02:00
RipleyTom
9b121a6414
sys_net: improvements
...
sys_net: implement reusable addr for p2p sockets
sys_net: implement getpeername for P2PS
sys_net: sockets inherit NBIO from their parent
2022-10-22 11:32:04 +02:00
Vestral
a1f9ff0aaa
Cubeb: rewrite locking
2022-10-21 22:15:49 +02:00
brian218
9a5dbda063
Changed the log level of LV2 Watchdog's being triggered
2022-10-21 17:38:59 +02:00
Eladash
903d847058
cellAudio: Implement setting to disable sampling skip
2022-10-21 09:32:49 +02:00
brian218
789e42e26f
sys_sm_shutdown() log minor fixup
2022-10-21 02:09:08 +02:00
Eladash
7ea0a6d642
sys_game_watchdog minor fixups
2022-10-18 13:08:48 +02:00
brian218
5c24009eb5
Implemented sys_game_watchdog syscalls
2022-10-17 20:32:01 +03:00
RipleyTom
01c285fc4a
RPCN v0.7
...
Bump protocol version
Improve signaling RTT calculation for client
Implement score game data functions
Various sceNpScore fixes
Verify flatbuffer buffers
Use std::variant for transaction specific data
2022-10-17 09:57:10 +02:00
Eladash
87797e117e
sys_spu: Some more fixes of wait flag misuse
2022-10-16 20:55:36 +03:00
Eladash
a5cc9a5517
Update cellFsGetDirectoryEntries to use wait flag correctly
2022-10-16 20:55:36 +03:00
Eladash
806acf8cd0
sys_fs: Fixed placement of check_state() and add some bugfixes
2022-10-16 20:55:36 +03:00
Megamouse
fafae1cbb5
cellRtc: Fix some param checks
2022-10-15 19:56:53 +02:00
brian218
48f47de95c
Added USB passthrough for H050 USJ PCB
2022-10-15 14:38:43 +02:00
brian218
e839595053
Implemented sys_game_get_system_sw_version()
2022-10-11 08:32:49 +02:00
brian218
a711eb31f4
Corrected the implementation of sys_game_board_storage_read()
2022-10-11 08:32:49 +02:00
Megamouse
4446d9ce4b
cellSubDisplay: add error checks
2022-10-10 21:26:27 +02:00
brian218
d311b4bd53
Update sys_game_board_storage_read()
2022-10-09 21:05:10 +03:00
Eladash
a6dfc3be2f
SPU: Enable the MFC list optimization for Atomic RSX FIFO
2022-10-09 19:27:46 +03:00
Eladash
6a36967e6f
SPU: Inline and batch MFC list transfers
2022-10-09 19:27:46 +03:00
Elad Ashkenazi
cb743da215
sys_spu: fixup raw spu destroy regression
...
Caused a missed cpu_thread::state notification which is required now.
2022-10-06 12:23:51 +03:00
Elad Ashkenazi
4d24ba1f35
PPU Precompilation: Abort compilation as soon as possible on Emu.Stop()
2022-10-06 12:23:51 +03:00
Eladash
d25d1ecb3a
LV2: Avoid using multi-variable atomic waiting on cpu_thread::state wait
2022-10-04 16:28:34 +03:00
Eladash
2a00a88e2a
SPU LLVM: don't force-enter process_mfc_cmd() because it's slower
2022-10-04 16:28:34 +03:00
Elad Ashkenazi
77db8f04b9
Savestates: fix saving in HLE functions
2022-10-04 14:14:38 +03:00
Eladash
9319bc579c
cellAudio: Always send periodic sampling events
2022-10-04 13:41:57 +03:00
kd-11
0dd9c386ee
Fix running the emulator with AUDIT enabled
2022-10-03 12:57:16 +03:00
Eladash
af8c871411
Add origin PRX names for log messages
2022-10-02 20:03:27 +03:00
Malcolm Jestadt
d8897c585d
PPU/SPU LLVM: Allow Zen4 cpus to use VPERMI2B/VPERMT2B instead of the vperm2b256to128 path
...
- Zen4 based cpus can process VPERM2B in a single uop, unlike intel where it is 3 uops.
2022-10-01 15:38:29 +03:00
RipleyTom
eff1e4bd7e
CELL_NET_CTL_INFO_IP_ADDRESS returns external address
2022-10-01 11:56:41 +02:00
Elad Ashkenazi
0cc981ec18
SPU: fix atomicity of inaccurate GETLLAR
2022-09-30 15:26:08 +03:00
RipleyTom
d1a7bb0136
Fix faulty GetScoreFriendsRequest
2022-09-28 21:58:11 +02:00
RipleyTom
56caa10e56
Fix blocking raw socket recvfrom
2022-09-28 21:58:11 +02:00
RipleyTom
eea73deab3
RPCN v0.6
2022-09-27 23:39:54 +03:00
brian218
c996be321c
sys_game_board_storage_read(): Add more known code & Improve byte casting
2022-09-26 17:17:49 +01:00
Nekotekina
6ff6a4989a
Implement at32() util
...
Works like .at() but uses source location for "exception".
2022-09-26 18:04:15 +03:00
cohaereo
2655255d4d
sys_net: Implement sys_net_bnet_sendmsg for native sockets
2022-09-25 18:24:47 +03:00
Eladash
8485afa3a5
PPU debugger: report ppu_thread::ack_suspend state
2022-09-25 14:31:39 +03:00
Eladash
2759091ede
Debugger: Rewind SPU captures
...
Very basic implementation, can be improved.
2022-09-25 14:31:39 +03:00
Eladash
ae02b71a85
Savestates/Debugger: fix mfc debug option with savestates
2022-09-25 14:31:39 +03:00
Elad Ashkenazi
238298f695
sys_ppu_thread: Fix surmixer hack ( #12689 )
...
* sys_ppu_thread: Fix surmixer hack
* Hotfix after #12678
2022-09-21 21:10:59 +03:00
Eladash
194f7375da
SPU/LV2: Fix tiny race conditions
2022-09-21 20:35:34 +03:00
Marc Riera
c5572acd38
Allow USB passthrough for Densha de GO! controller
2022-09-21 12:04:16 +03:00
Nekotekina
c86ddb3b7d
cellImeJp: fix regression
2022-09-18 18:35:17 +03:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
Eladash
cf4da5c4d1
CPU preemption control: bugfixes
2022-09-16 18:57:55 +03:00
Eladash
9c5108c1ca
CPU preemption control: Add one more debug variable
2022-09-16 18:57:55 +03:00
Eladash
2807be7080
SPU: Regression fix after #12648
2022-09-13 20:11:30 +03:00
Eladash
ec7b18dab5
Implement independent CPU preemptions
2022-09-13 19:28:20 +03:00
brian218
b9e20dc5c9
sys_game_board_storage_read(): Fix regression after #12637
2022-09-13 12:57:43 +03:00
Eladash
cfdc852f03
SPU: Power consumption reduction when using SPU inaccurate reservations
2022-09-13 11:21:01 +03:00
Eladash
92514e33bb
Avoid reservation notifications in liblv2.sprx
2022-09-13 11:21:01 +03:00
Eladash
f076fcd539
cellMusic: Implement some error checking
2022-09-12 15:04:23 +03:00
Eladash
4ac59875af
ppu: add some debug information
2022-09-12 15:04:23 +03:00
Eladash
780ca38f2f
SPU: Extend Inaccurate SPU reservations
2022-09-12 14:16:39 +03:00
Yui
9e83bc6544
Add the ability to set the PSID from the configuration ( #12637 )
2022-09-12 13:23:13 +03:00
Eladash
37aefe5811
sys_ppu_thread: Fix max thread name size
2022-09-12 12:57:39 +03:00
Eladash
eb4131e1c7
cellGame: Minor revert
...
I think there are many more bugs here..
2022-09-07 20:42:23 +03:00
Eladash
07f0ba213e
SPU: Allow special channel storage in channel busy waiting period
...
Move code to SPUThread.cpp.
2022-09-07 20:42:23 +03:00
Eladash
48382564d1
SPU: Implement "quintuple" Inbound MBOX storage
2022-09-07 20:42:23 +03:00
Nekotekina
5985f0eefa
BufferUtils: cleanup regarding ARM64
2022-09-07 17:59:07 +03:00
sguo35
a0d48c588a
spu/arm64: clean up assembly code generation
...
Clean up asmjit usage so we don't unnecessarily allocate memory
anymore for SPURecompiler functions.
2022-09-07 17:33:01 +03:00
Eladash
5e2424da58
IdManager.cpp: Fix cellFs IDs
2022-09-07 17:05:51 +03:00
Eladash
72a6696f5c
cellGame Fix PS3 disc insert
2022-09-07 17:05:51 +03:00
Eladash
89e0dcba5e
cellVdec: Adjust for reservations
2022-09-07 16:05:56 +03:00
Eladash
7698064f5a
SPU: Untangle VM lock to avoid deadlocks
2022-09-07 16:05:56 +03:00
Elad Ashkenazi
290226539f
Fix ARM build ( #12606 )
2022-09-04 21:11:04 +03:00
brian218
75efc79930
Implemented sys_game_board_storage_read()
2022-09-04 13:28:05 +03:00
Nick Renieris
905496e926
PPU: Fix STVLX
...
Fixes Sly 2 and Sly 3 crash on boot (RSX desync).
2022-09-04 12:27:29 +03:00
Elad Ashkenazi
e0a648240f
Unlog sceNpUtilCmpNpId
2022-09-02 08:29:09 +02:00
Eladash
7bad8f3348
Savestates/SPU: Minor fixup after fb01ed55
2022-09-01 20:09:28 +03:00
Eladash
ee1384341e
rsx: Implement atomic vertex upload (with Strict Rendering Mode)
2022-09-01 20:09:28 +03:00
Eladash
fb01ed55e5
SPU: Fix potential deadlock in event queue syscalls
2022-09-01 19:03:38 +03:00
Eladash
3f02935844
Add some debugging information
2022-08-30 08:57:33 +02:00
RipleyTom
f98251a05a
Fixes -w leaking
2022-08-30 07:46:42 +02: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
brian218
698c3415ea
Fixed SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument
...
Fixed the error which occurred when a game attempted to read the VID/PID of an undefined VFS USB device:
SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument
(in file C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\rpcs3\Emu\Cell\lv2\sys_fs.cpp:1942[:25], in function sys_fs_fcntl)
2022-08-26 08:45:14 +02:00
Eladash
c7586de280
Savestates/sys_fs: Fix saving encrypted and split-files file descriptors
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
a71bdc761e
SPU/Debugger: Improve debugging reservations
...
Simplify and make the debugging results more consistent.
2022-08-22 18:24:26 +03:00
Eladash
9d8f4d5cfa
Bugfix after #12523
2022-08-22 18:24:26 +03:00
Eladash
ee87fdc869
Fix GETLLAR spin detection
2022-08-22 08:33:22 +03:00
Eladash
bf63a18c5f
SPU Add ability to specify percentage of busy waiting
2022-08-21 15:02:01 +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
b0e2c959eb
SPU: Disable notification if no changes were made in PUTLLC
2022-08-21 15:02:01 +03:00
Eladash
28bec8e1bf
SPU: Implement custom reservation condition in atomic wait
2022-08-21 15:02:01 +03:00
Eladash
86702186f2
PPU: Detect lwmutex reservation pattern and optimize it
2022-08-21 15:02:01 +03:00
Eladash
82b1a2bd7a
SPU: add the concept of inaccurate reservations
...
Implement cellSpursRequestIdleSpu
2022-08-21 15:02:01 +03:00
Eladash
d36cf71a2d
Savestates: Fix PPU analysis when patches are applied
2022-08-21 15:02:01 +03:00
Eladash
1dd1062be1
PPU LLVM: Fix HLE function injection
2022-08-21 15:02:01 +03:00
Eladash
c0e3b86064
SPU: Optimize spu_thread::get_events()
2022-08-21 15:02:01 +03:00
Eladash
6210a8491f
SPU: Optimize and enable SPU GETLLAR Polling detection by default
...
* Make this setting guard all reservation waitings. (renamed)
* Revert atomic list usage: it's more expensive and not needed because it has a timeout and is not optimized for the rest of the waitables.
2022-08-21 15:02:01 +03:00
Eladash
33a4f05ffa
SPU: Interleave loads/stores in reservation access utilities
2022-08-21 15:02:01 +03:00
Eladash
a3007e11ca
SPU: Fix minor race in sys_spu_thread_receive_event
...
Check final cpu_state::state value for suspend state because that's the variable the thread waits on.
2022-08-12 15:20:48 +03:00
Eladash
7ff4509858
sys_lwcond: Fix a loose notification in cond wait
2022-08-11 12:44:40 +03:00
Eladash
f2997e4c00
LV2: Fix the most annoying race ever
...
Timeline of the race:
1. The PPU is in SLEEP state. state = suspend.
2. lv2_obj::awake is called on the traced thread and is now in ONPROC state, state = signal.
3. lv2_obj::awake is called by another thread externally with a priority higher than our traced thread and appends it to g_pending. state = suspend + signal.
4. lv2_obj::sleep/set_priority (higering priority) is called on any thread which is in ONPROC. Causing it to enter SLEEP or RUNNING state, while the traced thread is back in queue in ONPROC. state = suspend + signal.
5. The traced thread finally calls lv2_obj::awake on itself, g_pending decrements to 0 and we a have a rescheduling event, after XOR state = 0!!! (no signal)
6. In check_state: cpu_sleep_called is now true and remains this way.
7. Another thread with a higher prioty kicks in and appends the traced thread into g_pending. state = suspend.
8. The traced thread is at cpu_thread::cpu_wait(), and that's where it's gonna spend the rest of its life.
2022-08-11 12:44:40 +03:00
Eladash
683c1a6512
LV2: Optimize sys_ppu_thread a bit
2022-08-11 11:42:16 +03:00
Eladash
9b0d33048c
Savestates/LV2: Fix race on _sys_lwcond_queue_wait saving
...
cpu_flag::again modification requires exclusive access.
2022-08-11 11:42:16 +03:00
Eladash
bc8bf2c329
sys_cond/lwcond: Fix waiting time in the debugger for mutex lock
2022-08-11 11:42:16 +03:00
Elad Ashkenazi
f0002501f7
sys_mutex/lwmutex: Regression fixes after #12378
2022-08-11 11:42:16 +03:00
Elad Ashkenazi
c4cc0154be
LV2: Optimizations and fixes
...
Fix and optimize sys_ppu_thread_yield
Fix LV2 syscalls with timeout bug. (use ppu_thread::cancel_sleep instead)
Move timeout notification out of mutex scope
Allow g_waiting timeouts to be awaked in scope
2022-08-11 11:42:16 +03:00
Eladash
26e731b487
LV2: Re-add dropped optimization by previous commit
...
Currently only for lock-free syscalls.
2022-08-07 20:23:54 +03:00
Eladash
34bae90820
LV2: Move nearly all notifications out of all mutex scopes including IDM
2022-08-07 20:23:54 +03:00
Eladash
011aabe9ed
LV2: Make sys_mutex and sys_lwmutex lock-free, add some busy waiting in sys_mutex_lock
2022-08-07 20:23:54 +03:00
Eladash
a17a6527f6
LV2: Move memory unlocking outside of mutex ownership and make it conditional
2022-08-07 20:23:54 +03:00
Eladash
122c6256ca
A fix of _spurs::add_workload
2022-08-07 20:23:54 +03:00
Eladash
73aaff1b29
LV2: allocation-free synchronization syscalls
...
* Show waiters' ID in kernel explorer.
* Remove deque dependency from sys_sync.h
2022-08-07 20:23:54 +03:00
Eladash
c7fbc16357
SPU: Postpone notifications to afterward group mutex ownership
2022-08-07 20:23:54 +03:00
Eladash
bc728db15b
LV2: Add busy waiting before entering atomic wait
2022-08-07 20:23:54 +03:00
Eladash
2eebbd307d
LV2: Minor optimization regarding signal flag
2022-08-07 20:23:54 +03:00
Eladash
dc851a729e
LV2: Postpone thread notifications to afterward mutex ownership(s)
2022-08-07 20:23:54 +03:00
Eladash
6007fd630f
Do not use lv2_obj::g_waiting when not needed in sys_timer_usleep
2022-08-07 20:23:54 +03:00
Megamouse
cb0ecb2afb
cellPngEnc
2022-08-06 10:35:10 +02:00
sguo35
cc1e4d2194
ppu/arm64: don't restore rsp on ppu_gateway return
...
Don't restore rsp on ppu_gateway return, since it can be reentrant. Also
change some registers to align with the x86 version's 32bit/64bit
usages.
2022-08-05 22:53:11 +02:00
Elad Ashkenazi
88b80ebdf5
sys_net: Fix missing locks in some syscalls ( #12459 )
2022-08-04 21:31:34 +03:00
Elad Ashkenazi
0e1931f178
sys_lwcond: Fix rare race on mode 3 signal ( #12413 )
2022-08-04 14:13:51 +03:00
Megamouse
c75b76ddf5
cellPhotoImport: fallback to extension if sub_type is unknown
2022-08-02 01:43:23 +02:00
Megamouse
4dec8d7925
cellPhotoImport: allow dev_hdd1
2022-08-02 01:43:23 +02:00
Megamouse
934e7b614c
cellPhotoExport/cellVideoExport: fix filenames
2022-08-02 01:43:23 +02:00
Megamouse
416b14de72
cellPhotoExport: first implementation
2022-08-01 19:11:14 +02:00
Megamouse
b87099c790
cellVideoExport: fix some copy pasta errors and prevent file overwrite
2022-08-01 19:11:14 +02:00
Megamouse
f90b79791f
HLE: fix file not found errors in media functions
2022-07-31 16:45:05 +02:00
Malcolm Jestadt
51e6d0a336
SPU LLVM: Add integer compare optimization for FCMGT
2022-07-29 11:59:59 +03:00
Megamouse
87e628a9e9
cellPhotoDecode: optimize get_scaled_image
2022-07-29 08:05:35 +02:00
Megamouse
f31ffc4596
Implement cellPhotoDecode
2022-07-28 09:06:48 +02:00
Megamouse
4114f00c05
cellPhotoImport: fix vfs path and add some logging
2022-07-28 09:06:48 +02:00
Megamouse
8f7209f886
cellMusicSelectionContext: fix log message facepalm
2022-07-27 07:39:55 +02:00
Megamouse
d80146c704
cellMusic: Fix resume, fast forward and rewind
...
- Sadly rewind does not work with the QMediaPlayer on windows
2022-07-27 07:39:55 +02:00
Megamouse
577f379a12
implement cellPhotoImport
2022-07-26 17:27:35 +02:00
Megamouse
3d73915358
cellSearch: improve populate_photo_info, read image headers
2022-07-26 17:27:35 +02:00
Megamouse
a5317d50a5
cellMusicSelectionContext: log playlist
2022-07-26 17:27:35 +02:00