Megamouse
a60ea61291
linux: fix shortcut cli args
2022-12-10 18:18:16 +01:00
Megamouse
64cff74861
Qt: simplify shortcut creation
2022-12-10 18:18:16 +01:00
Elad Ashkenazi
e2c1e656b9
RSSX Debugger: Do not show invalid color buffers
2022-12-10 16:51:49 +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
Eladash
151a0955cf
rsx: Implement draw call stepping
2022-12-10 15:09:42 +01:00
Eladash
40406bd3fe
RSX debugger: Implement Texture Dumper
...
Also fix many bugs in textures display.
2022-12-10 15:09:42 +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
shinra-electric
809e880bd1
[3rdParty] Update MoltenVK to 1.3.236 & set MSL Fastmath to On Demand ( #13035 )
...
* Update MoltenVK to 1.2.236
* Change mvk_config.fastMathEnabled from a bool to Int
fastMathEnabled now has three options:
NEVER = 0
ALWAYS = 1
ON_DEMAND = 2
On demand seems better, since it will use fast math except for shaders that are incompatible.
2022-12-09 20:49:56 +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
brian218
681a6ef73c
Qt: Improved the shown path in overlay message "Recording stopped"
2022-12-09 16:40:38 +01:00
shinra-electric
bf37087a10
Fix build errors by changing AVCodec* to a const
...
...rather than a variable.
Allows RPCS3 to build on macOS again (Xcode 14.1)
2022-12-09 14:21:37 +03:00
Eladash
a18b46d8ad
Path hotfix
2022-12-09 12:20:57 +03:00
Eladash
74bb90b414
System.cpp: protect boot arguments
2022-12-09 12:20:57 +03:00
Eladash
8334767c16
GUI: bring relative game shortcut to the GUI
2022-12-09 12:20:57 +03:00
Eladash
0d126afb1f
PKG: Ask to user if he wants to install game shortcut on PKG installation
2022-12-09 12:20:57 +03:00
Eladash
b7d80ab335
Add support to boot using PS3 game path or TITLEID in CLI and shortcuts
...
Allowing to move of game directories without having to update the shortcut path. (as long as it is registered within RPCS3 UI).
2022-12-09 12:20:57 +03:00
Megamouse
b0e376ae76
rsx/qt: add recording to game window
2022-12-08 21:08:37 +01: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
88269636d3
utils: implement video encoder and image sink
2022-12-08 21:08:37 +01:00
Megamouse
4f5076346d
Qt: minor camera config warning fixes
2022-12-08 21:08:37 +01:00
Megamouse
89de913e95
Qt: reset screenshot toggle in gs_frame desctructor
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
9274b3f14d
USIO: Fixed "Card Reader Not Connected" Error
2022-12-07 20:20:52 +01:00
brian218
0a3e540a10
sys_fs: get_vfs() minor fixup
2022-12-07 20:20:52 +01:00
Megamouse
4657afd899
Qt: remove entire cache dir of a serial on remove all caches
2022-12-07 18:55:56 +01:00
Megamouse
2082f06443
Qt: remove empty cache dirs if possible
2022-12-07 18:55:56 +01:00
Megamouse
b49f8623f6
Windows: Check WSAStartup result
2022-12-07 18:11:01 +01:00
Megamouse
69e4138223
Try to fix dll checks
2022-12-07 00:00:45 +01:00
Elad Ashkenazi
5fec8666e3
Dont append main thread's ID on fatal error dialog ( #13021 )
2022-12-06 22:18:26 +01:00
Megamouse
8af4a94864
Qt: add context menu to trophy game table
2022-12-06 21:30:08 +01:00
Megamouse
ab873129f8
Qt: add copy name and description to trophy context menu
2022-12-06 21:30:08 +01:00
kd-11
6155207407
ux: Instruct the user to delete the dlls from the installation folder.
2022-12-06 20:46:35 +01:00
kd-11
98a58daf57
Fix build
2022-12-06 20:46:35 +01: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
kd-11
ca0ca2e5a8
ux/core: Add module verification step for some critical libraries
...
- Prevents running the emu with downloaded dll files
2022-12-06 20:46:35 +01:00
RipleyTom
14a388b3fe
Increase max number of skylanders to 8
2022-12-06 18:14:58 +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
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
brian218
8d9dd1d19c
Implemented sys_fs_newfs()
2022-12-02 08:18:46 +01:00
Megamouse
337ee77a99
evdev_gun: "fix" BSD
2022-11-30 19:38:42 +01:00
Megamouse
c09991ebdb
evdev_gun: convert udev code to evdev
2022-11-30 19:38:42 +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
Elad Ashkenazi
630edde10f
logs.cpp: fix regression ( #12995 )
...
Fixes #12994
2022-11-29 22:56:18 +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
Julien Reichardt
60c01ef9a9
Use uppercase RPCS3 name in the metainfo file
2022-11-28 06:20:48 +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
fa74d3e88c
vm: implement lock-free try_access with range locking
2022-11-26 09:30:11 +03:00
Nekotekina
1123e25136
Implement ref_ptr (see read_from_ptr)
...
Type `aref`: reference wrapper
2022-11-26 09:30:11 +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
Paweł Kotiuk
661be41c5a
Update AppStream Metadata
...
Add some fields according to specification from https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
2022-11-24 20:45:04 +01:00
kd-11
8be4ac6869
gl: Fix rotation operations in blit engine
2022-11-22 12:15:18 +03:00
kd-11
81f9259063
gl: Add support for capture debug markers
2022-11-22 12:15:18 +03:00
kd-11
a97424d46c
rsx: Fix low precision shader option
2022-11-22 12:15:18 +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
kd-11
c4b259e0f8
rsx: Always enable ROP output quantization on NV
2022-11-18 23:06:47 +03:00
kd-11
e04855a0da
rsx: Improve ROP output handling
...
- Perform 8-bit quantization/rounding before emulated operations like ALPHA_TEST
2022-11-18 23:06:47 +03:00
Megamouse
8199f97e7a
Qt: add option to automatically resize the game window
2022-11-17 19:58:18 +01:00
Elad Ashkenazi
99ae561caa
cellPad: Noise-cancelling log changes ( #12958 )
2022-11-16 20:00:22 +01:00
MSuih
3f8421fc17
Add enable exclusive fullscreen mode setting
2022-11-14 17:50:13 +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
961d905433
Loader: disable unsupported PPU decoder settings
2022-11-12 11:23:58 +03:00
Megamouse
3c79f3943f
Minor simplifcation in ppu_finalize
2022-11-12 11:23:58 +03:00
Megamouse
1e7b2c052a
Loader: skip savestate check in add_only mode
2022-11-12 11:23:58 +03:00
Megamouse
ff082b98cb
VS: fix compilation on VS 17.4
2022-11-12 11:23:58 +03:00
kd-11
3236931416
Whitespace fix only
2022-11-11 12:09:23 +03:00
kd-11
ed0c798252
Wait for renderer to initialize before skipping it for system progress initialization.
2022-11-11 12:09:23 +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
kd-11
e98b07de03
vk: Set line width when rasterizing points (workaround)
...
- Fixes point rendering when using AMD drivers.
2022-11-07 23:12:31 +03:00
kd-11
de5217745c
gl: Fix point size export
2022-11-07 23:12:31 +03:00
RipleyTom
ec53adc2b7
Fix get_member_and_attrs
2022-11-07 12:31:18 +01:00
Eladash
69368d972d
Savestates: Move "Start Paused" setting to UI
2022-11-05 10:36:46 +01:00
Ani
a00f9e4211
rpcs3_version: Bump to 0.0.25
2022-11-01 21:50:08 +00:00
brian218
3cb9cd7724
sys_fs: Minor fixup ( #12913 )
...
Stubbed sys_fs_newfs
2022-11-01 19:49:50 +03:00
Eladash
9632d0ab8a
Emu: fixup message when the application has crashed
2022-11-01 19:08:55 +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
a1b4ffcf52
VFS.cpp: fixup for mounting files
2022-10-31 14:20:02 +03:00
Nekotekina
ae809ad320
Unexpected bugfixes
...
Mostly unaligned memory access.
Also includes workarounds for ubsan execution.
2022-10-31 14:20:02 +03:00
kd-11
7d1c18a569
Fix LOD bias widget title.
2022-10-31 13:39:37 +03:00
kd-11
71f034c4ea
Move 'LOD bias addend' to debug tab
2022-10-31 13:39:37 +03:00
kd-11
b156b40f8f
rsx: Fix clear color for formats with less than 32-bit width
2022-10-31 13:39:37 +03:00
Darkhost1999
8d5a9dc722
Add Texture lod bias to UI ( #12905 )
2022-10-30 21:06:53 +01: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
Megamouse
a38e144320
overlays: use the system keyboard layout for osk
2022-10-29 22:56:08 +02:00
Megamouse
059c45f202
overlays: implement osk keyboard cursor actions
2022-10-29 22:56:08 +02:00
Megamouse
eccceea7fb
overlays: implement osk delete action
2022-10-29 22:56:08 +02:00
Megamouse
ad340c3007
overlays/osk: Implement fallback for unknown keys
...
Note that those keys won't be passed to the cellOsk event hook callback
2022-10-29 22:56:08 +02:00
Elad Ashkenazi
c214f45e14
Savestates/rsx/IO: Resume emulation on long START press, enable "Start Paused" by defaut ( #12881 )
...
* Savestates: Enable "Start Paused" by default
* Emu/rsx/IO: Resume emulation on long START press
* rsx: fix missing graphics with savestates' "Start Paused" setting
* rsx/overlays: Add simple reference counting for messages to hide them manually
* Move some code in Emulator::Pause() so thread pausing is the first thing done by this function
2022-10-29 19:53:00 +02:00
Elad Ashkenazi
c8620070b9
Savestates/System.cpp: Realized fix for suspend mode ( #12883 )
2022-10-28 09:51:46 +02:00
brian218
61a371b106
Implemented sys_fs_mount() and sys_fs_unmount()
2022-10-28 08:51:41 +02:00
shinra-electric
edb7991979
Remove MVK Semaphore Support Style options
...
This line is no longer needed as MVK will select the appropriate support style automatically.
See https://github.com/KhronosGroup/MoltenVK/pull/1738
2022-10-25 07:22:44 +02:00
Elad Ashkenazi
90d6069a16
Update System.cpp
2022-10-24 18:54:53 +03:00
RipleyTom
880a4e3ca6
SceNpScore: improvements
2022-10-24 00:49:44 +02:00
Eladash
18e30c7e44
rsx: Implement custom fractional frame limit
2022-10-24 00:10:37 +02:00
Eladash
0113224cb6
cfg: Implement float config entry
...
Add missing string empty checks
2022-10-24 00:10:37 +02:00
Eladash
d1bd936765
rsx: Unlimit texture LOD bias addend
...
It's a relative setting and actual bias ranges from -16 to +16, so the maximum difference an addend would make is 32.
2022-10-24 00:10:37 +02:00
kd-11
2c41eecdb1
rsx: Force position invariance on GPUs where it matters
2022-10-24 00:49:44 +03:00
Elad Ashkenazi
1a9e38a1dd
System.cpp: Minor regression fix ( #12874 )
...
Do not move savestate if the actual boot is unsuccessful.
2022-10-23 18:07:44 +03:00
Eladash
9f3f619774
Minor cleanup
2022-10-23 13:06:57 +02:00
Eladash
795e234c6f
game list: Silence some warning
2022-10-23 13:06:57 +02:00
Eladash
23fdcbfeb8
Add one missing line, fix savestate restart
2022-10-23 13:06:57 +02:00
Eladash
ee3e36672c
Savestates: Rename savestate when booting the game regularly (suspend mode)
2022-10-23 10:49:58 +02:00
Eladash
119b4e4529
Savestates/Menu: Add "Create Savestate" Button
2022-10-23 10:49:58 +02:00
Eladash
cc6112cbc4
Savestates: Auto-relaunch savestate when suspen mode is off
2022-10-23 10:49:58 +02:00
Eladash
f16c9cd3c6
Savestates: Disable HDD1 saving optimization
...
HDD1 is very volatile, it was a bad idea not to save it.
2022-10-23 10:49:58 +02:00
Eladash
9e4c24baa3
qt: Add "suspend Emulation Mode Savestates" to advanced tab
2022-10-23 10:49:58 +02:00
Elad Ashkenazi
801609fb78
Make RPCS3 not delete savestate on boot by default
2022-10-23 10:49:58 +02:00
Megamouse
4c8630d29f
sceNpTrophyRegisterContext: log tls error
2022-10-22 22:30:23 +02:00
Megamouse
4e426af114
Qt: replace nul character with 0 in the log viewer
...
Fixes cropped content
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
kd-11
fcc7a7452a
vk: Fix scratch buf size calculation when uploading DSVs
2022-10-22 15:11:40 +03:00
kd-11
1bb0caed6f
gl: Add missing memory barrier after texture decode
2022-10-22 15:11:40 +03:00
Elad Ashkenazi
23a445619b
Savestates: +1 Bug
2022-10-22 13:37:33 +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
Megamouse
5f1aafb961
Dualsense: Enable improved rumble emulation (or so)
...
Also disable audio haptics to save power
2022-10-22 10:26:26 +02:00
Megamouse
615ff08d1a
Dualsense: Release LEDs on when the handler is destroyed
2022-10-22 10:26:26 +02:00
Megamouse
3320d1e1c7
Dualsense: Read firmware version as seen in firmware installer
2022-10-22 10:26:26 +02:00
Megamouse
3deb177ab7
Dualsense: name some report members based on SDL2
2022-10-22 10:26:26 +02:00
Megamouse
41dad58489
Loader/Input: Process Qt events instead of yielding during init
2022-10-21 23:42:01 +02:00
Megamouse
cb8a240f1a
Qt/Input: Properly clear pad selection in pad settings
...
Fixes a rare issue that causes a newly selected pad handler with no pads to try to connect a previously selected pad from another handler.
2022-10-21 23:42:01 +02:00
Megamouse
871ef2cdfe
Input: return pad connection in get_next_button_press
...
This fix some minor race condition in the UI that had no real consequences just by chance.
2022-10-21 23:42:01 +02:00
Megamouse
6c0bc43776
Input: change brightness data type in hid to u32
2022-10-21 23:42:01 +02:00
Megamouse
a16d18d83c
Input: rename misleading ThreadProc to process
2022-10-21 23:42:01 +02:00
Megamouse
e499c3c6e3
Input: move m_is_init to base class
2022-10-21 23:42:01 +02:00
Megamouse
ddd261c943
Input: refactor vibration
...
There's no need to deal with vibration levels outside of the handlers.
All we need to know is the 0-255 DS3 range which is given by the u8 type.
2022-10-21 23:42:01 +02:00
Vestral
a1f9ff0aaa
Cubeb: rewrite locking
2022-10-21 22:15:49 +02:00
Megamouse
1747e68d1d
Fix warning
2022-10-21 20:44:46 +02:00
Elad Ashkenazi
c4c710d39d
GUI TTY: fix a regression ( #12855 )
2022-10-21 19:05:21 +02:00
brian218
9a5dbda063
Changed the log level of LV2 Watchdog's being triggered
2022-10-21 17:38:59 +02:00
kd-11
bd9c876e36
gl: Handle clip plane switching using API calls and the state tracker
2022-10-21 13:45:45 +03: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
brian218
85e11ca341
USIO Input Enhancement
2022-10-20 21:00:38 +02:00
Eladash
0da81d22d3
SPU Profiler: fix CPU usage when emulation is paused
...
Avoid collecting samples when the thread paused.
2022-10-20 11:22:33 +03:00
Eladash
52b993095d
SPU Profiler: nearly always print on Emu.Pause()
2022-10-20 11:22:33 +03:00
Megamouse
363e0a40e5
Input: Allow to toggle player LED (Dualsense and DS3)
2022-10-19 22:55:50 +02:00
Eladash
7ea0a6d642
sys_game_watchdog minor fixups
2022-10-18 13:08:48 +02:00
Megamouse
035d410a89
evdev: change default axis for gyro
2022-10-18 00:19:01 +02:00
Megamouse
b0b42071f2
Input: Fix Dualsense gyro axis and adjust DS4 resolution
2022-10-18 00:19:01 +02:00
brian218
5c24009eb5
Implemented sys_game_watchdog syscalls
2022-10-17 20:32:01 +03:00
Eladash
00340f33c3
GUI/TTY: fix UI deadlock when TTY is being spammed
2022-10-17 19:12:51 +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
kd-11
04f6302ecc
Fix decode shader compilation
2022-10-16 19:58:30 +03:00
kd-11
1df977fae2
gl: Avoid including unnecessary headers
2022-10-16 19:58:30 +03:00
kd-11
9105c2cf4a
gl: Refactor capabilities and add GLSL version detection support.
2022-10-16 19:58:30 +03:00
kd-11
6d43fcf8fb
gl: Fall back to renderpass decoder on ATI drivers
2022-10-16 19:58:30 +03:00
Megamouse
fafae1cbb5
cellRtc: Fix some param checks
2022-10-15 19:56:53 +02:00
brian218
419e673d5b
Fix USIO Backup behavior
2022-10-15 14:38:43 +02:00
brian218
48f47de95c
Added USB passthrough for H050 USJ PCB
2022-10-15 14:38:43 +02:00
brian218
44a1df4353
usb_device: Updated control_transfer in order to prevent some games from being frozen
2022-10-15 14:38:43 +02:00
Megamouse
13b3c78c7f
Input: fix MMJOY axis identification
2022-10-15 13:17:16 +02:00
Megamouse
e362c2c078
Input: fix some type warnings
2022-10-15 13:17:16 +02:00
Megamouse
814adbb8c4
Input: simplify InitPadConfig
2022-10-15 13:17:16 +02:00
Megamouse
cf86b6c107
Input: keep old port status when reconnecting ldd pads
...
The port status might not change currently, but it should be more correct this way.
2022-10-12 22:30:09 +02:00
Megamouse
12a83e5a1c
Input: simplify unnecessarily complex ldd reload
2022-10-12 22:30:09 +02:00
Megamouse
0f769eec81
Input: log more pad information
2022-10-12 21:01:02 +02:00
kd-11
0737c788fc
rsx: Fix parsing of broken command streams with hanging begin/end commands without a pair.
...
- While these are game bugs, the parser shouldn't break on encountering them.
2022-10-12 11:19:52 +03:00
kd-11
3fe9aea5b5
rsx/overlays: Allow some basic communication from the UI components to the backend renderers
2022-10-11 23:13:12 +02:00
Megamouse
ab6ba848b8
overlays: simplify overlay_media_list_dialog
2022-10-11 23:13:12 +02:00
Elad Ashkenazi
0a38800e44
Savestates: fix endless renaming of used savestates ( #12780 )
2022-10-11 17:02:25 +03:00
kd-11
6be5618d22
config: Add missing option
2022-10-11 14:00:34 +03:00
kd-11
95d9462a71
settings: Remove misleading comment
2022-10-11 14:00:34 +03:00
kd-11
e05cd9f47b
qt: Add translation for shader precision
2022-10-11 14:00:34 +03:00
kd-11
aa09302ca0
Clean up some unnecessary changes
...
- Hopefully nothing breaks 🤞
2022-10-11 14:00:34 +03:00
kd-11
6d6b9fd269
Qt: Apply tooltip hover to parent groupbox.
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2022-10-11 14:00:34 +03:00
kd-11
6d265452cf
rsxqt: Fix shader precision tooltip
2022-10-11 14:00:34 +03:00
kd-11
65d20f2d08
gl: Add mesa support for polygon offset
2022-10-11 14:00:34 +03:00
kd-11
a229e30b08
rsx: Implement RSX-compliant polygon offset
2022-10-11 14:00:34 +03:00
kd-11
d246a37b11
rsx: Move fp16 toggle to a global shader precision option
2022-10-11 14:00:34 +03: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
brian218
b117a6d4cd
Improved the compatibility of USIO for old versions of games
2022-10-11 07:51:21 +02:00
Megamouse
36b1004e26
cubeb: ignore callbacks for unknown streams or contexts
2022-10-11 00:09:28 +02:00
Megamouse
c75c47fdd2
cubeb: add some more logging and error checks
2022-10-11 00:09:28 +02:00
Megamouse
0f626c8d30
Qt: delay first log frame update
...
This fixes the log not scrolling automatically when we first open RPCS3 with a low log level.
2022-10-10 23:21:49 +02:00
Megamouse
021783dcc1
Qt: throw if a translation is expected in GetLocalizedSetting
2022-10-10 22:46:42 +02:00
Megamouse
1f339862db
Qt: add missing translation comment
2022-10-10 22:46:42 +02:00
Megamouse
4446d9ce4b
cellSubDisplay: add error checks
2022-10-10 21:26:27 +02:00
Elad Ashkenazi
92b08a4faf
rsx: Fixup a bug after mfc list optimization ( #12782 )
2022-10-10 04:04:41 +03: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
750e7b73e3
Optimize vm::range_lock a bit
...
Bad conditions led to optimization misses and long-generated code.
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
kd-11
d6d7ade6e3
vk: Reload state on dynamic state changed
2022-10-09 03:00:39 +03:00
Elad Ashkenazi
e0df2c584f
rsx: Attempt to fix frame limiter
2022-10-09 01:33:40 +03:00
kd-11
3c88477270
Fixup for scissor/viewport invalidation rules
2022-10-07 15:27:54 +03:00
kd-11
df46e5137c
gl: Fix texture reconstruction logic
...
- Use correct target types
- Fix key generation to apply differently for each target type
2022-10-07 11:53:34 +03:00
kd-11
ffe8133865
vk: Avoid unnecessary dynamic state updates
2022-10-07 11:53:34 +03:00
kd-11
7140e82189
rsx: Fix program invalidation rules
2022-10-07 11:53:34 +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
kd-11
87411da95f
gl: Explicitly declare gl_Position as invariant when using MESA
2022-10-06 06:41:24 +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
Eladash
b01220d2c5
debugger: Don't refresh no-thread window at a high rate
2022-10-04 16:28:34 +03:00
Eladash
58dd2bff41
Savestates: Fix unintentional pause when saving with HLE VDEC contexts
2022-10-04 14:14:38 +03:00
Eladash
f34773ed73
Savestates: Make Ctrl+R work when not ingame
...
Restore old behavior of Ctrl+R making it restart emulation when stoppped.
2022-10-04 14:14:38 +03:00
Eladash
9b5cc7cda7
System.cpp: Fix RSX thread abort
2022-10-04 14:14:38 +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
73784b9e12
Fix GCC build
2022-10-03 12:57:16 +03:00
kd-11
533f960854
rsx: Handle some more corner cases
2022-10-03 12:57:16 +03:00
kd-11
765208a181
rsx: Avoid clobbering CELL memory when splitting fbos
2022-10-03 12:57:16 +03:00
kd-11
4417701ea7
rsx: Track orphaned surfaces' parent addresses
2022-10-03 12:57:16 +03:00
kd-11
f66eaf8f44
rsx: Add some handy util functions to simple_array
2022-10-03 12:57:16 +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
brian218
50e1e6596e
USIO Backup Minor Optimization
2022-10-01 17:32:22 +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
Megamouse
7d32dc312f
Qt: pad settings: clear input data on thread pause
...
Fixes incorrectly disabled buttons when changing from a handler with a disconnected pad to any other handler
2022-10-01 13:49:58 +02:00
RipleyTom
eff1e4bd7e
CELL_NET_CTL_INFO_IP_ADDRESS returns external address
2022-10-01 11:56:41 +02:00
kd-11
a0e2a3db1d
Fix underflow in ZCULL sync
2022-09-30 23:44:37 +03:00
Elad Ashkenazi
0cc981ec18
SPU: fix atomicity of inaccurate GETLLAR
2022-09-30 15:26:08 +03:00
RipleyTom
8170b91f76
sceNpScore: return error on 0 scores returned
2022-09-28 21:58:11 +02: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
brian218
926496b59d
USIO: Save Game Settings - Full Implementation
2022-09-28 16:54:55 +03:00
kd-11
102d30db2d
vk: Update support for framebuffer loops to comply with current spec
2022-09-28 12:55:31 +03:00
kd-11
5281a85b67
rsx: Fix compiler warnings
2022-09-28 12:55:31 +03:00
kd-11
de28c812e8
rsx: Re-evaluate color MRT setup when the surface target type changes
2022-09-28 12:55:31 +03:00
RipleyTom
eea73deab3
RPCN v0.6
2022-09-27 23:39:54 +03:00
kd-11
67c02e3522
vk: Bump compute descriptor pool size to 8k
...
- TODO: This should be dynamic.
2022-09-27 14:58:47 +03:00
kd-11
19dd2a693b
gl: Fix transform job assert
2022-09-27 14:58:47 +03:00
Ani
3df133652a
gui: Rename full width AVX-512 ( #12709 )
...
Some people think that this is a toggle to enable and disable AVX-512 support, let's make it more clear
2022-09-26 23:40:04 +01: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
Eladash
4445569bb0
Savestates: Don't actually delete savestates
2022-09-25 14:31:39 +03:00
kd-11
dd8a337b14
rsx: Fix some more warnings
2022-09-22 23:46:48 +03:00
kd-11
0572d44996
gl: Fix enum collision
2022-09-22 23:46:48 +03:00
kd-11
38aa116c59
Fix build
2022-09-22 23:46:48 +03:00
kd-11
61666bae69
rsx: Fix hardware deswizzle not getting used when hardware deswizzle flag is not set
2022-09-22 23:46:48 +03:00
kd-11
362a26a404
gl: Fix D24X8 accelerated encode/decode
...
- PS3 D24X8 is swapped as a full word, unlike PC.
- Add missing paths to handle custom swap behavior.
2022-09-22 23:46:48 +03:00
kd-11
81fa3da101
gl: Minor optimization around test..set patterns in the state tracker
2022-09-22 23:46:48 +03:00
RipleyTom
bd1fb86492
Fix pkg batch install dlg on linux
2022-09-22 19:41:09 +02: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
brian218
3581c5b078
USIO: Save Game Settings
2022-09-21 14:43:24 +03:00
Marc Riera
c5572acd38
Allow USB passthrough for Densha de GO! controller
2022-09-21 12:04:16 +03:00
nastys
acc2fea7e3
Update MoltenVK to 250e1f9 and single queue ( #12620 )
2022-09-20 11:12:27 +03:00
kd-11
3dc7b64fa1
rsx: Fix initialization of null cubemap resources
2022-09-19 19:13:46 +03:00
kd-11
79f2c21dfb
gl: Restrict compute image bindings to [0-8]
...
NVIDIA only supports 8 compute image slots even on modern GPUs.
2022-09-19 01:37:10 +03:00
kd-11
df36c44bc2
gl: Avoid UBO/SSBO binding index collisions
...
- Some drivers don't like this. Actually only RADV.
- Almost all GPUs going back 15 years have a large number of UBO slots but limited SSBO slots.
Move UBO slots up as we have tons more headroom there.
2022-09-19 01:37:10 +03:00
Nekotekina
c4db65cc08
Fix one more warning
2022-09-18 18:35:17 +03:00
Nekotekina
c86ddb3b7d
cellImeJp: fix regression
2022-09-18 18:35:17 +03:00
Florin9doi
a1aebdc5d6
Request macOS 10.14.+ permissions ( #12600 )
2022-09-17 18:26:22 +01:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
brian218
e7fd84e031
USIO: Keep LastGameStatus Memory
2022-09-17 10:59:28 +03:00
Eladash
9d9e18f614
CPU preemption control: don't yield if we can't stop
2022-09-16 18:57:55 +03:00
Eladash
c8199de188
CPU preemption control: Improve stutter elimination
2022-09-16 18:57:55 +03:00
Eladash
fc331da883
CPU preemption control: remove yield before thread stop
2022-09-16 18:57:55 +03:00
Eladash
b6d3fa8c66
CPU preemption control: avoidance in reservation operations
2022-09-16 18:57:55 +03:00
Eladash
3cebea1801
CPU preemption control: extend range to 400
2022-09-16 18:57:55 +03:00
Eladash
2e9ee81dcd
CPU preemption control: Improve analysis
2022-09-16 18:57:55 +03:00
Eladash
cf4da5c4d1
CPU preemption control: bugfixes
2022-09-16 18:57:55 +03:00
Eladash
9d1ec0b319
CPU preemption control: try to minimize sleep time gaps between setups
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
kd-11
572a2a06d1
rsx: Properly reset occlusion counters even when the register is not in use.
2022-09-12 17:15:06 +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
kd-11
d686b48f65
rsx: Simplify FIFO concurrent access.
2022-09-09 23:17:27 +03:00
kd-11
f319362e35
vk: Fix queue concurrency behavior for images
2022-09-09 23:17:27 +03:00
kd-11
0d9b1654ec
asm: Avoid ALU instructions on busy wait cycles
2022-09-09 23:17:27 +03:00
kd-11
940e726754
rsx: Minor FIFO cleanup
2022-09-09 23:17:27 +03:00
kd-11
f43824762a
rsx: Get rid of an allocation in analyse_vertex_data that adds about 5% overhead.
...
This method is called many thousands of times per frame and that single allocation introduces a small perf hit.
Just get rid of it, it doesn't improve anything to have it there.
2022-09-09 23:17:27 +03:00
kd-11
cd53bb7eff
rsx: Avoid on-the-fly ZCULL allocations with unordered_map
2022-09-09 23:17:27 +03:00
Eladash
60fc90bb8e
System.cpp: Fix Create Firmware Cache
2022-09-08 19:38:11 +03:00
Nekotekina
5d91caebe9
Linux: delete /tmp/perf.map on exit
2022-09-08 16:56:06 +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
Eladash
274386a078
rsx: Add some debugging information
2022-09-07 18:39:32 +03:00
Eladash
557d015662
System.cpp: Fix Create PPU Cache regression
2022-09-07 18:39:32 +03:00
Nekotekina
5985f0eefa
BufferUtils: cleanup regarding ARM64
2022-09-07 17:59:07 +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
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
brian218
9087116ee5
Fix USIO fault when it received unsupported FW commands
2022-09-07 16:42:37 +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
Megamouse
ab31e96385
Qt: batch stack suffix updates
...
No need to patch the suffix every single time. We can just do it when we exit the stack loop.
2022-09-05 21:20:14 +02:00
Megamouse
a9dcad629b
Qt: fix weird missing space in stack log
2022-09-05 21:20:14 +02:00
Megamouse
e49679484a
Qt: simplify log logic. We can in fact only flush once.
...
Also invert a negation
2022-09-05 21:20:14 +02: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
srive
64579eef7e
Update tooltips.h
2022-09-02 08:59:08 +02: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
11a197a387
Savestates/RSX: fix unintentional vblank thread spin after abort
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
Elad Ashkenazi
5a0a5d9ff1
vm.cpp: Fix emulation stopping on SPU access violation ( #12586 )
2022-09-01 18:23:18 +03:00
Nekotekina
58e3232710
BufferUtils: Fix regression in upload_untouched
2022-09-01 17:39:04 +03:00
Ani
2cd7238e76
rpcs3_version: Bump to 0.0.24
2022-08-31 23:24:42 +01:00
Eladash
591159c4a9
Debugger: Prevent possible "current instruction" duplication when the thread is running
2022-08-30 08:57:33 +02:00
Eladash
7baf959975
Avoid empty resume output when using PPU debug option
2022-08-30 08:57:33 +02: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
daf43989fc
Thread.h: Improve thread abort performance
2022-08-25 23:54:56 +03: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
kd-11
1fc0191311
Fix build
2022-08-23 23:49:46 +03:00
kd-11
1f9e04f72d
rsx/vk: Implement flushing surface cache blocks to linear mem
2022-08-23 23:49:46 +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
kd-11
bca833dad7
Fix surface reuse
2022-08-20 01:23:15 +03:00
kd-11
f981e05908
rsx: Do not lie about surface details
2022-08-20 01:23:15 +03:00
kd-11
b5abd777b0
rsx: Allow longer dispatch queues to accomodate games with high draw call count
2022-08-19 20:29:32 +03:00
Elad Ashkenazi
b2c9add47e
rsx: Fix semaphore timeout on boot
...
Allow semaphore timeout to be disabled again.
2022-08-19 15:40:20 +03:00
kd-11
a401a192b8
Fixup for dst_stage
2022-08-19 14:29:20 +03:00
kd-11
ad1b007dd1
Fix whitespace
2022-08-19 14:29:20 +03:00
kd-11
71e35c8b4d
vk: Implement support for VK_EXT_attachment_feedback_loop_layout
2022-08-19 14:29:20 +03:00
kd-11
2e504b2dac
rsx: Silence some warnings
2022-08-19 14:29:20 +03:00
Nekotekina
b6608ad31d
vm_native: rewrite win7 workaround
2022-08-15 12:26:17 +03:00
kd-11
edb39039dd
Fix linux build
2022-08-14 23:53:50 +03:00
kd-11
bacf518189
rsx: Fix 2D intersection tests
2022-08-14 23:53:50 +03:00
kd-11
1244044647
util: Provide stack-trace utilities
2022-08-14 23:53:50 +03:00
kd-11
b960ce1426
vk: Align write length when pre-filling buffers with constant patterns
2022-08-14 23:53:50 +03:00
kd-11
c55a889c23
vk: Initialize buffer info blocks to avoid null descriptors
2022-08-14 23:53:50 +03:00
Megamouse
829af30568
evdev: add motion device
2022-08-14 11:04:57 +02: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
9a981b5292
rsx_debugger: Fix memory leak
2022-08-12 15:20:48 +03:00
Eladash
4464a6c3f6
CG-Disasm: Name input/output vetex arrays
2022-08-12 15:20:48 +03:00
Eladash
d30ac20fad
Debugger: Fix and use centered PC by default
...
* Fix instruction-selection dependent functionality.
* Remove odd instruction position jumps in add/remove breakpoint.
* Make PC fixate at 1/3 of the frame because knowing future instructions is more important than knowing the previous.
2022-08-12 15:20:48 +03:00
Nekotekina
7bb2d94e53
vm: use sparse files to emulate overcommit memory
...
Fix shm::map_critical page flags.
2022-08-12 13:59:03 +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
133e9d4705
CPUThread.cpp: Fix cpu_flag::pending reset
2022-08-11 11:42:16 +03:00
Eladash
501ca4bcf5
logs: Prevent potential deadlock of the main thread in stack mode
...
If a thread logs faster than the GUI thread can print on screen.
2022-08-11 11:42:16 +03:00
Eladash
9212942724
kernel_explorer: Add info about ppu_thread::ack_suspend
...
The wording is bad but unless the emulation went downhill it shouldn't print on screen repeatedly.
2022-08-11 11:42:16 +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
shinra-electric
cba4c3cdc4
[macOS] Update hid_pad_handler.cpp to prevent DS4 from disconnecting ( #12493 )
...
Prevents DS4 (and possibly DS3) from disconnecting from bluetooth after 15 minutes by using hidapi's non-exclusive mode.
The most recent version of hidapi, 0.12 from two months ago, added "macOS-specific function(s) to open device(s) in non-exclusive mode".
2022-08-11 07:14:37 +02:00
kd-11
c51d3b5465
Workaround for msvc weirdness
2022-08-09 18:32:54 +03:00
kd-11
e179adc4a0
rsx: Refactor surface cache storage
2022-08-09 18:32:54 +03:00
Elad Ashkenazi
47f3740a70
System.cpp: Replace std::filesystem usage ( #12474 )
2022-08-08 05:46:32 +03:00
kd-11
61a055a1c6
Tuning
2022-08-07 22:14:49 +03:00
kd-11
64b4cfa59f
rsx: Erase surface background when reloading after a pitch mismatch
2022-08-07 22:14:49 +03:00
kd-11
c799ffd223
rsx: Stubs for pitch conversion
2022-08-07 22:14:49 +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
b55a052a22
IdManager.h: Do not lock IDM mutex if the preliminary ID check failed
...
Optimizes common ESRCH failures. (lambda variants only atm)
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
84a785ea67
arm64: implement pshufb intrinsic
2022-08-05 22:53:11 +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
Megamouse
b2d84dcebd
Qt: Add save filtered log to menu of log viewer
2022-08-05 20:50:51 +02:00
Megamouse
958d77ba52
Qt: filter log viewer when opening a file
2022-08-05 20:50:51 +02:00
Megamouse
c4b38869ab
Input: fix pad initialization
2022-08-05 20:16:21 +02:00
Eladash
fd1968dd22
Savestates: Save SFO directory path for PSN games
2022-08-05 19:19:16 +03:00
Elad Ashkenazi
88b80ebdf5
sys_net: Fix missing locks in some syscalls ( #12459 )
2022-08-04 21:31:34 +03:00
kd-11
2445ab8d8e
Fix RSX capture playback
2022-08-04 19:01:45 +03:00
Elad Ashkenazi
0e1931f178
sys_lwcond: Fix rare race on mode 3 signal ( #12413 )
2022-08-04 14:13:51 +03:00
kd-11
3e923b4993
rsx: Optimize VTX_FMT_SNORM16 decoding
...
- Cuts down SNORM16 overhead by ~65%
2022-08-03 23:33:31 +03:00
kd-11
8181498d86
gl: Alias UBO/SSBO slots to avoid exceeding the available number of binding slots.
...
- The sets are different anyway and should not overwrite each other in a proper driver.
2022-08-03 23:33:31 +03:00
kd-11
57dd611111
gl: Fix incomplete stencil view of depth-stencil texture
...
- Samplers must use point sampling for stencil views
2022-08-03 23:33:31 +03:00
Eladash
b3162bd41c
rsx/vp: Fix SNORM16 vertex decoding
2022-08-03 18:11:46 +03:00
Elad Ashkenazi
cd2adbad9a
Update rsx_methods.cpp
2022-08-03 17:15:59 +03:00
Elad Ashkenazi
99730ac4f9
Update rsx_methods.cpp
2022-08-03 17:15:59 +03:00
Elad Ashkenazi
d2ab3383ad
Update rsx_methods.cpp
2022-08-03 17:15:59 +03:00
Elad Ashkenazi
3b15a6b39e
Update rsx_methods.cpp
2022-08-03 17:15:59 +03:00
Elad Ashkenazi
651e58f443
rsx: Trivial optimization
2022-08-03 17:15:59 +03:00
Eladash
769f9e33e9
Savestates/RSX: Fix fifo_control::restore_state
2022-08-03 15:35:41 +03:00
Eladash
cf77bb7cfc
Savestates/MSVC: Replace bugged std::unique (compiler bug)
2022-08-03 15:35:41 +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
kd-11
052725fdc7
rsx: Do not require ZCULL buffer binding to enable ZPASS counting
...
- ZPASS data is still accessible in unbuffered mode.
The only thing that buffered ZCULL enables is something closer to early-Z where large blocks of pixels can be dicarded earlier.
It is strictly a performance optimization and not required for ZPASS to work.
- Update ZCULL stat calculations to take into account unbuffered Z
2022-08-01 00:23:54 +03:00
Megamouse
f90b79791f
HLE: fix file not found errors in media functions
2022-07-31 16:45:05 +02:00
Elad Ashkenazi
7a8e918519
Update System.cpp
2022-07-30 08:33:09 +02:00
Elad Ashkenazi
d99ae3809d
Update keyboard_pad_handler.cpp
2022-07-29 13:45:19 +02:00
Malcolm Jestadt
51e6d0a336
SPU LLVM: Add integer compare optimization for FCMGT
2022-07-29 11:59:59 +03:00
Megamouse
228844c017
overlays: fix line wrapping and position of lines
...
- Fix off by one issue when we wrapping a line caused by unnecessary zeroed whitespaces.
- Fix centering of lines that end with carriage return caused by overzealous reset of counters.
- Remove fabs where there shouldn't be any
2022-07-29 09:26:45 +02:00
Megamouse
87e628a9e9
cellPhotoDecode: optimize get_scaled_image
2022-07-29 08:05:35 +02:00
Megamouse
e6885e25b5
Qt: fix image ratio in screenshot_manager_dialog
2022-07-29 03:14:29 +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
MSuih
143bd6cc80
Fix typo in tooltips.h
2022-07-25 21:28:24 +02:00
kd-11
c9058280e0
vk: Fix a potential deadlock
2022-07-25 21:05:31 +03:00
kd-11
5af50cfd55
vk: Handle corner cases
...
- Fix up flush sequence in DMA handling (WCB)
- Do not request resource sharing if queue family is not different!
2022-07-25 21:05:31 +03:00
kd-11
d846142f0c
vk: Reimplement compliant async texture streaming
...
- Use CONCURRENT queue access instead of fighting with queue acquire/release via submit chains.
The minor benefits of forcing EXCLUSIVE mode are buried under the huge penalty of multiple vkQueueSubmit.
Batching submits does not help alleviate this situation. We simply must avoid interrupting execution.
2022-07-25 21:05:31 +03:00
Elad Ashkenazi
0ba0f9d2b9
Disable Disc update redirection for manual ELF loader ( #12381 )
2022-07-22 20:35:15 +02:00
Elad Ashkenazi
f4f9c1865e
Savestates: Implement compatibility with disc Demon's Souls ( #12379 )
...
* Savestates: Implement compatibility with virtual /dev_bdvd/PS3_GAME
2022-07-22 19:23:23 +03:00
Megamouse
c40439ae6b
cellMusic/Decode: implement playlist shuffle and repeat
2022-07-22 08:42:43 +02:00
Megamouse
683fa2a392
Mount custom dev_bdvd if a disc game was mounted from dev_hdd0
2022-07-22 07:36:49 +02:00
kd-11
246bf1df64
Use C++17 ctor for string_view
2022-07-21 22:29:40 +03:00
kd-11
9a868e9239
gl: Silence compiler warning
2022-07-21 22:29:40 +03:00
kd-11
ab3cde1939
gl: Do some macro patching for intel driver
2022-07-21 22:29:40 +03:00
kd-11
bec3e156fb
vk: Disable robust buffer access for ANV
...
- Robust access is nice, but we don't actually need it
2022-07-21 22:29:40 +03:00
Megamouse
086afbbaa5
overlays: implement back and focus in media_list_dialog
2022-07-21 01:36:33 +02:00
Megamouse
cd4d73114c
overlays: fix media_list_dialog title
2022-07-21 01:36:33 +02:00
Megamouse
14ca506774
Qt/savedata: use rsx overlays selection_code
2022-07-21 01:36:33 +02:00
Eladash
2b3ae8b638
Revert another change
2022-07-20 18:11:52 +03:00
Eladash
bb9ae18c71
Savestates: Fix sys_rwlock_wunlock saving
2022-07-20 18:11:52 +03:00
Eladash
ce01457510
Fix futile wait regression in sys_lwcond_signal
2022-07-20 18:11:52 +03:00
Megamouse
d1a46b491e
cellMusic: add some error checks and copy context to callback
2022-07-20 07:09:38 +02:00
Elad Ashkenazi
31df99f7d6
Logs: Flush unreported errors when turning off Stack Cell errors ( #12366 )
2022-07-19 17:05:51 +02:00
Eladash
5e11b2b056
log_frame: Minor fix for stack mode
2022-07-19 10:43:51 +03:00
Eladash
d106934336
Savestates: Fix saving sys_mutex_unlock
2022-07-19 10:43:51 +03:00
Eladash
68718361a7
Allow non-existing paths in vfs::retrieve
2022-07-19 10:43:51 +03:00
Eladash
c887865d54
Perform cleanup after Emulator::Load failures
2022-07-19 10:43:51 +03:00
Eladash
dc48944979
Prefer BDVD over HDD0 in vfs::retrieve
2022-07-19 10:43:51 +03:00
Eladash
d22b8b1d3a
Savestates: Do not restart after Ctrl+S for now
2022-07-19 10:43:51 +03:00
Eladash
56619b20cf
Savestates: savestate reload fix
2022-07-19 10:43:51 +03:00
Eladash
12ebf77e22
Savestates: save sys_spu_initialize settings
2022-07-19 10:43:51 +03:00
Megamouse
845af8bd96
cellGifDec: random stuff because I was bored
2022-07-18 22:23:25 +02:00
kd-11
680f08c2b8
gl: Destroy barrier signals correctly
2022-07-18 18:58:22 +03:00
kd-11
82bac4173e
gl: Reuse scratch images
2022-07-18 18:58:22 +03:00
kd-11
8a8fda3e02
gl: Combine RGBA8/D24S8 readback and byteswap into one operation
2022-07-18 18:58:22 +03:00
kd-11
1c5b685398
gl: Only toggle state settings that are relevant to the current RSX state
2022-07-18 18:58:22 +03:00
kd-11
e95084f138
gl: Use DSA for imageview configuration and avoid needless bind operations
2022-07-18 18:58:22 +03:00
kd-11
e12d268662
gl: Implement support for texture1D decode
2022-07-18 18:58:22 +03:00
kd-11
6a3f17cd36
gl: Fix compute invocation counts for format handling code
2022-07-18 18:58:22 +03:00
Megamouse
34615d3a74
cellMic: slow down if no mics are configured
2022-07-17 19:31:05 +02:00
Eladash
c0369b2e10
sys_net: Implement sys_net_abort
2022-07-17 14:53:03 +03:00
Megamouse
07ebbb6c84
cellSysutilAvc2SetStreamingTarget: remove ensure
2022-07-16 20:09:13 +02:00
sguo35
73ed657e00
spu/arm64: fix 16 byte branch patch alignment
2022-07-15 12:37:33 +03:00
sguo35
b02e6e222f
arm64: enable fma and "avx" on Apple and Cortex CPUs
2022-07-15 12:37:33 +03:00
sguo35
c52abed4d3
spu: implement ubertrampoline generator for arm64
...
Implement the ubertrampoline generator for arm64. It generally follows
the x86 version, but uses asmjit to generate code instead of writing raw
opcodes to memory, trading memory usage for readability. Currently the
trampoline implementation is fairly inefficient in terms of instruction
size and is substantially larger than the x86 version.
2022-07-15 12:37:33 +03:00
sguo35
9e57efe82c
spu: implement assembly functions for arm64
2022-07-15 12:37:33 +03:00
sguo35
77ab872bec
spu: remove rotqby C++ impl
...
rotqby C++ implementation is broken, since replacing it with the
intrinsic version reliably fixes spurs test. A conditional branch
immediately after a rotqby instruction will fail using the C++ version
but succeed using the intrinsic.
2022-07-15 12:37:33 +03:00
sguo35
27acebc5f5
spu: use portable llvm recompiler on arm64
...
Since there is not yet an arm64 version of the assembly (fast) version.
2022-07-15 12:37:33 +03:00
sguo35
2755d9941c
ppu: fix a bug where arm64 sp wasn't being saved
...
ASMJIT can silently fail and drop instructions when invalid operations
are performed (e.g. loading/storing sp). Explicitly move sp to a gp
register before doing loads/stores to fix this.
2022-07-15 12:37:33 +03:00
sguo35
488982f424
spu: external function calls should be marked non-tail
...
Mark external function calls as non-tail, since they aren't tail calls
and assuming they are will cause returns to fail in Arm64 GHC CC.
2022-07-15 12:37:33 +03:00
sguo35
086e12c6ca
mac: mmap calls should initialize with r/w page perms
...
Mac/Arm64 pages should be R/W by default due to 16k page
incompatibility. Without this there will be segfaults due to invalid
permissions.
2022-07-15 12:37:33 +03:00
sguo35
9b19f16698
arm64: add optimized 16byte ld/st for armv8.4a+
...
16B ldp/stp are atomic on v8.4a+. See Arm Architecture Reference Manual,
"Changes to single-copy atomicity in Armv8.4". Add load/release atomic
impls for this instruction and add detection for 8.4a+ capability.
2022-07-15 12:37:33 +03:00
Eladash
3e51426379
Savestates/SPU: Kill emulation when its safe to save SPU state
2022-07-15 09:30:53 +03:00
Megamouse
105781fa76
overlays: properly align lines with leading or trailing whitespace
2022-07-14 23:32:20 +02:00
Megamouse
d2be12bb07
overlays: find missing characters lost during wrapped rendering
2022-07-14 23:32:20 +02:00
Megamouse
fdc15e12c4
overlays: properly calculate offsets for wrapped text
2022-07-14 23:32:20 +02:00
Eladash
e548743cbf
Fixup rsx cpatures
2022-07-14 18:50:31 +03:00
Megamouse
7499f875a6
cellCrossControllerInitialize: add dialog
2022-07-13 19:12:46 +02:00
kd-11
cdef752a9c
gl: Fix 2D->3D splat in CopyBufferToImage
2022-07-13 02:09:58 +03:00
kd-11
1483941bea
gl: Implement row alignment in CopyBufferToImage routines
2022-07-13 02:09:58 +03:00
kd-11
9cc15be7f2
Fix linux build
2022-07-13 02:09:58 +03:00
kd-11
453e1bfaec
gl: Silence compiler warning
2022-07-13 02:09:58 +03:00
kd-11
82439327fa
gl: Support loading data from SSBO using compute shaders
...
- Gives better performance than using raw draw calls.
- Does not work with all formats. The draw call version is still used when needed.
2022-07-13 02:09:58 +03:00
kd-11
f60002e87d
gl: Optimize memory barriers a bit
...
- Move waits to server side
- Increase the scratch buffer size to avoid waiting on barriers
2022-07-13 02:09:58 +03:00
kd-11
9fc6382909
gl: Finalize BGRA storage format internals
...
- Performance is terrible but it works properly now
2022-07-13 02:09:58 +03:00
kd-11
ebad08aa97
gl: Fix image creation for virtual formats
2022-07-13 02:09:58 +03:00
kd-11
599f1dd157
gl: Properly match BGRA RTT formats
2022-07-13 02:09:58 +03:00
kd-11
bb5ce67d57
gl: Handle corner cases for CopyBufferToImage
...
- Handle 3D textures and cubemaps
- Handle writing to mip > 0
2022-07-13 02:09:58 +03:00
kd-11
f948ce399e
gl: Implement CopyBufferToImage in software
...
- Overrides the drivers CopyBufferToImage handling where possible
2022-07-13 02:09:58 +03:00
kd-11
954c60947d
gl: Avoid calling gl functions without a context even if the object is GL_NONE
...
- While calling glDestroyXXXX with GL_NONE is a no-op, calling it without a context will crash some drivers.
2022-07-13 02:09:58 +03:00
kd-11
98b6783c05
gl: Fix image views broken after refactor
2022-07-13 02:09:58 +03:00
kd-11
0894d2886a
Fix build
2022-07-13 02:09:58 +03:00
kd-11
4995b4abe3
gl: Do not use raw GL image copy command for RSX data
2022-07-13 02:09:58 +03:00
kd-11
35ef19cfc8
gl: Refactor the rest of GLHelpers
2022-07-13 02:09:58 +03:00
kd-11
09824a718f
gl: Separate BGRA8 storage from RGBA8
2022-07-13 02:09:58 +03:00
Megamouse
f4e85af53c
sceNpUtil: implement skeleton bandwidth test
2022-07-12 22:45:40 +02:00
Eladash
74a909cfbc
logs: Batch log messages (optimization)
2022-07-12 21:37:06 +02:00
Eladash
0bfdfd8433
Savestates: Implement Ctrl+R to reload the most recent savestate
...
Ctrl+R no longer means Resume emulation, this functionality has been transferred to Ctrl+P which is also capable of pausing the emulation. (so it's now a toggle)
2022-07-12 15:15:42 +03:00
Eladash
1f5cf776b2
Savestates: Fix "Suspend Emulation Savestate Mode" setting
2022-07-12 15:15:42 +03:00
Eladash
cdd6840826
Savestates/SPU: Complete fix for saving sys_spu_thread_receive_event
2022-07-12 15:15:42 +03:00
Eladash
ab27ee4cf4
Savestates/RSX: Save NV406E semaphore waiting
2022-07-12 15:15:42 +03:00
Eladash
6211295155
atomic.hpp: Truncation warning fix
2022-07-12 15:15:42 +03:00
Eladash
befd7ceb89
Savestates/sys_spu: Minor fix in saving sys_spu_thread_receive_event
2022-07-10 14:19:59 +03:00
Eladash
2cead6f328
Savestates/SPU: Fix saving sys_spu_thread_send_event
2022-07-10 14:19:59 +03:00
Eladash
4e3d58f75a
Savestates: Fix crash when savestating before PPU/SPU compilation finishes
...
Unintentional concurrent access to m_ar ptr itself.
2022-07-10 14:19:59 +03:00
Eladash
24fddf1ded
rsx: Fix emu stopping crash when using multi-threaded rsx
...
FXO signaled abort before it completed its work, leading to unsignalled vk::fence and deadlock. Fix it by deregistering it from FXO.
2022-07-10 14:19:59 +03:00
Eladash
87cd65ff03
Savestates: support game collections
2022-07-10 14:19:59 +03:00
Eladash
219e3d61f8
Minor fix in shm::map_critical
2022-07-10 14:19:59 +03:00
Eladash
4ade06f36f
Savestates/RSX: Restore the ZCULL control state
...
And fix the ZCULL control state at the initial state of RSX.
2022-07-10 14:19:59 +03:00
Nekotekina
786510a937
Use gettid() on Linux, don't use std: 🧵 :id
...
pthread_self() returns a large opaque pointer which is harder to use.
2022-07-10 12:22:28 +03:00
Megamouse
0c6df39a45
cellSearch: more error checks and shuffle
2022-07-09 16:39:10 +02:00
Vestrel
648ad0cd90
cellAudio: fix downmix if device doesn't support multichannel ( #12328 )
...
* cellAudio: fix downmix if device doesn't support multichannel
* Downmix in 2 stages
2022-07-09 15:25:28 +02:00
Megamouse
cd0d43382f
Qt: fix custom settings audio device corruption
2022-07-08 23:56:10 +02:00
Vestrel
98b730c806
Audio: device switching and channel count detection ( #12246 )
2022-07-08 17:13:38 +02:00
Nekotekina
4b787b22c8
Implement FN (lambda shortener)
...
Useful for some higher order functions.
Allows to make short lambdas even shorter.
2022-07-08 14:47:41 +03:00
Nekotekina
5c6f5a1610
Cleanse LOG_CONSTINIT macro
...
Should be unnecessary.
2022-07-08 14:47:41 +03:00
Eladash
0b8d5f7b98
Savestates: Fix argv
2022-07-08 12:57:43 +03:00
Eladash
314d481dcd
Savestates: Fix typo in page size setting
2022-07-08 12:57:43 +03:00
Eladash
0980c68e6f
Savestates: Increase timeout for emulation stopping
2022-07-08 12:57:43 +03:00
Eladash
983bfa2088
Savestates: Decryption of executable fix
2022-07-08 12:57:43 +03:00
Eladash
3a9928de65
Savestates: Log file descriptor information
2022-07-08 12:57:43 +03:00
Eladash
1fd5fb2f7e
Savestates: Fix minor race with LV2 timers
2022-07-08 12:57:43 +03:00
Eladash
4ac88fa8d3
Savestates/RSX: Save drawing context
2022-07-08 12:57:43 +03:00
Eladash
5f8f9e33f1
RSX/Savestates: Replace GCM hack with a proper fix
2022-07-08 12:57:43 +03:00
Eladash
f0c71ae2ae
Savestates: Fix saving sys_event_queue_destroy
2022-07-08 12:57:43 +03:00
Megamouse
0c7ecdc954
cellMusicDecode: add more error checks and silence some log messages
2022-07-08 07:55:46 +02:00
Elad Ashkenazi
73a687df7d
Savestates/Not Savestates: Fix exitspawn to HDD0 executable with mounted BDVD
2022-07-07 21:59:39 +02:00
Megamouse
b683110e72
cellGem/overlays: show cursor if necessary
2022-07-07 12:40:23 +02:00
Megamouse
3840015e7d
cellGem: implement basic ds3 cursor movement
2022-07-06 21:49:31 +02:00
Megamouse
639b8112b6
Input: make move handler dynamic
2022-07-06 21:49:31 +02:00
Megamouse
2bf17f5d3c
input: fix horrible pad hacks
2022-07-06 21:49:31 +02:00
Megamouse
4823d4c32a
input: add background input option
...
Adds an option to disable background input to the IO tab in the settings dialog.
This will disable pad input as well as ps move and overlays input when the window is unfocused.
2022-07-06 21:49:31 +02:00
Eladash
c8c035eeef
Regression fix
2022-07-06 20:07:09 +02:00
Eladash
155bd09fd0
Savestates: Cleanup v128 usage
...
It's compatible with bitwise serialization so it is faster to load/save it this way.
2022-07-06 19:43:25 +03:00
Eladash
f546e5a8ef
VM/Savestates: Replace bugged read-only block optimization
2022-07-06 19:43:25 +03:00
Eladash
2ccb0c8f42
SPU LLVM/Savestates: Remove unneeded store insurance and add related fix
2022-07-06 19:43:25 +03:00
Eladash
05303ce6c6
GUI: regression fix
...
Improperly resolved git conflict when rebasing savestates.
2022-07-06 19:43:25 +03:00
Eladash
d8f3029952
Log LV2 periodic timers
2022-07-06 19:43:25 +03:00
Eladash
09c28f75b3
Savestates: Fix LV2 timers (fixes audio in some games)
2022-07-06 19:43:25 +03:00
Eladash
57671e267d
Savestates: save cellAudioOut
2022-07-06 19:43:25 +03:00
Eladash
b692108f1e
Savestates: HLE state saving POC in sys_lwmutex
2022-07-06 19:43:25 +03:00
Eladash
2815aecd0c
Savestates: Save SPU decrementer state
2022-07-06 19:43:25 +03:00
Megamouse
b9f2b1e7c6
Qt: add UUID reset button
2022-07-05 09:09:00 +02:00
Eladash
bd9ba7ef1f
Remove incorrect Emu.IsStopped() checks
2022-07-05 08:25:36 +02:00
Eladash
a015bd1ebd
Savestates: Add missing position placement
2022-07-05 08:25:36 +02:00
Eladash
d6cf167d52
Savestates: Minor optimization of size
2022-07-05 08:25:36 +02:00
Eladash
3fc2194fd5
Savestates: Fix zombie PPU threads saving
2022-07-05 08:25:36 +02:00
Eladash
72c14994f0
Savestates: Fix memory containers initialization (invalidates old savestates)
2022-07-05 08:25:36 +02:00
kd-11
fddb6a31a7
Use utils::c_page_size
2022-07-04 22:35:05 +03:00
kd-11
5cafaef0a9
Aarch64 fixes for RSX
2022-07-04 22:35:05 +03:00
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation ( #10478 )
2022-07-04 16:02:17 +03:00
Ani
969b9eb89d
rpcs3_version: Bump to 0.0.23
2022-07-02 13:20:41 +01:00
Megamouse
4fb5bd76fb
Qt: Use exe dir instead emu dir for updates
...
This should fix the auto-updater when EmulatorDir is set to a different location
2022-06-30 22:19:32 +02:00
Megamouse
8043bb9087
Qt: log uuid
...
This creates and logs a unique identifier and saves it to a file.
The ID will be logged for statistical purposes and stay the same until recreated.
2022-06-30 21:36:11 +02:00
Nekotekina
69912ba3c7
Partial revert for cf0fcf5a2a
2022-06-30 14:38:14 +03:00
Eladash
cf0fcf5a2a
SPU: Implement execution wake-up delay
2022-06-28 19:54:25 +03:00
Megamouse
ab5a33fc31
Qt: Properly repaint the Emulation menu icons
2022-06-27 10:13:03 +02:00
Eladash
f5a55b3024
rsx: Fixup after #12052 for frame limiter off
2022-06-25 17:39:07 +03:00
Eladash
7422ab9e55
rsx: Do not discard flip notifications
2022-06-25 15:30:41 +02:00
Eladash
f66256cc13
rsx: PS3 Native frame limiter improvements, add Infinite frame limiter
...
* Do not wait on DEVICE 0x30 semaphore, it seems like it is something to do with queue command synchronization.
- This also fixes cellGcmSetFlipWithWaitLabel which is built specifically to enable accurate RSX flipping time, its waiting command is confirmed to be placed **AFTER** DEVICE 0x30 waiting.
* Fix default vsync state to be enabled. (and set it to enabled in cellGcmSetVBlankFrequency as well)
* Add experimental "Infinite" frame limiter mode.
* Fix spurious enabling of second vblank.
2022-06-25 15:30:41 +02:00
Megamouse
9cf7a63c77
Emu: Implement BlockingCallFromMainThread
...
Reduces some copy-paste clutter throughout the project
2022-06-25 14:01:40 +03:00
Megamouse
7842812e24
Qt: fix music handler destructor
2022-06-24 19:50:22 +02:00
Nekotekina
ec59d7d26b
Fixup for Emu.EjectDisc()
2022-06-24 19:55:44 +03:00
Nekotekina
ea23525f66
sys_fs: Add mountpoint for /dev_ps2disc
2022-06-24 19:55:44 +03:00
Megamouse
87762a9b17
cellGame: implement disc change callbacks
2022-06-24 17:34:21 +02:00
Elad Ashkenazi
bc3a899acf
Debugger: Simplify and optimize #12269 ( #12275 )
2022-06-24 11:26:44 +02:00
Eladash
5e01ffdfd8
Debugger: Optimize cpu_thread::dump_regs()
...
Reuse string buffer. Copies and reallocations are expensive with such large strings.
2022-06-23 22:41:32 +02:00
Eladash
794cbd8708
Debugger: Refresh at 100hz during debugger interaction (was 20hz)
2022-06-23 22:41:32 +02:00
Megamouse
661b485b58
HLE: more error checks
2022-06-22 21:47:06 +02:00
Eladash
64399d45c1
vm: Make falloc return value bool
...
Allow to check properly for the success of 0 address allocation.
2022-06-22 21:01:37 +03:00
Nekotekina
653a9e6e7f
Debugger: always print cpu_thread::dump_misc()
...
Was removed for some reason.
2022-06-22 18:53:29 +03:00
Eladash
71e07dc6c7
IdManager.h: Improvements
...
* Ensure ::PtrSame<T, Derived> is true.
* Allow id_base, id_step and id_count to be of enumeration type.
* Fix potential deadlock in kernel explorer.
idm::select:
* Allow to select multiple inherited object types for idm::select.
* Allow function reference types. (they don't allow access to operator() directly, use deducing std::function constructor instead)
* Ensure ::is_same_ptr<T, object_type> is true.
2022-06-22 17:24:47 +03:00
Elad Ashkenazi
69ceebeb05
Debugger: Hide breakpoint and callstack list if unused ( #12266 )
2022-06-21 23:42:42 +02:00
Eladash
ccb2724fc4
Debugger: Implement SPU breakpoints
2022-06-21 16:59:45 +03:00
Eladash
ec6d6adebc
RSX Memory Viewer: Fix local memory displaying
2022-06-21 16:59:45 +03:00
Eladash
3899248305
RSX Debugger: Stable NOP skipping
...
Allow addresses of NOP blocks to remain consistent in between debugger position changes except for the first which can shrink or grow.
2022-06-21 16:59:45 +03:00
Megamouse
4557992334
Qt: add optional states to toolbar icons
2022-06-20 21:15:14 +02:00
Eladash
d0e9108800
SPU: Implement "double" SNR storage
2022-06-20 20:50:11 +03:00
Eladash
dc80d000aa
SPU Disasm: Detect sys_event_flag_set_bit syscall
2022-06-20 20:50:11 +03:00
sguo35
775caabeeb
[ppu] Fix function trampoline for arm64
...
- Refactor function manager trampoline to be cleaner
- Add trampoline impl for arm64
- Force all JIT entrypoints on Apple to toggle W^X
2022-06-20 15:08:27 +03:00
isJuhn
4262794668
Implement PINE IPC Server
2022-06-19 17:56:50 +02:00
capriots
a6237e5473
cellAudio(Out): properly implement all downmixing modes ( #12252 )
2022-06-19 17:08:03 +02:00
Megamouse
0b14d785ca
stub cellHttp
2022-06-19 07:07:31 +02:00
capriots
6bdf415adb
Fix audio renderer not resetting after cellAudioOutConfigure() was called
2022-06-19 06:09:29 +02:00
Megamouse
ebabdd37b4
cellAudioOut: fix sound_mode exception
...
Turns out some games don't configure proper channel counts after all,
which triggers an ensure in cellAudioOutGetState.
Let's select the current sound_mode in cellAudioOutConfigure.
Keep the old one if no match was found.
Also moves some code from AudioBackend to cellAudioOut for thread safety (see mutex).
2022-06-18 18:17:43 +02:00
Megamouse
11c5230628
stub cellSysutilRegisterCallbackDispatcher
2022-06-15 20:46:24 +02:00
Megamouse
bfe029bb0c
cellSysutil: implement some bgm fxo stuff
2022-06-15 20:46:24 +02:00
Megamouse
cbf12bb54b
cellSysutil: stub cellSysutilGameDataExit functions
2022-06-15 20:46:24 +02:00
Megamouse
b01d8e01e3
cellSysutilRegisterCallback: fix potential read out of bounds
2022-06-15 20:46:24 +02:00
Ivan
c2190f71ca
SPU/PPU LLVM: fix triple setup (regression fix) ( #12228 )
2022-06-14 18:13:43 +03:00
Elad Ashkenazi
5378fee1c3
SPUAnalyzer.h: Add missing category check functions ( #12222 )
...
Some instructions were moved into integer category.
2022-06-14 16:04:24 +03:00
Jeff Guo
cefc37a553
PPU LLVM arm64+macOS port ( #12115 )
...
* BufferUtils: use naive function pointer on Apple arm64
Use naive function pointer on Apple arm64 because ASLR breaks asmjit.
See BufferUtils.cpp comment for explanation on why this happens and how
to fix if you want to use asmjit.
* build-macos: fix source maps for Mac
Tell Qt not to strip debug symbols when we're in debug or relwithdebinfo
modes.
* LLVM PPU: fix aarch64 on macOS
Force MachO on macOS to fix LLVM being unable to patch relocations
during codegen. Adds Aarch64 NEON intrinsics for x86 intrinsics used by
PPUTranslator/Recompiler.
* virtual memory: use 16k pages on aarch64 macOS
Temporary hack to get things working by using 16k pages instead of 4k
pages in VM emulation.
* PPU/SPU: fix NEON intrinsics and compilation for arm64 macOS
Fixes some intrinsics usage and patches usages of asmjit to properly
emit absolute jmps so ASLR doesn't cause out of bounds rel jumps. Also
patches the SPU recompiler to properly work on arm64 by telling LLVM to
target arm64.
* virtual memory: fix W^X toggles on macOS aarch64
Fixes W^X on macOS aarch64 by setting all JIT mmap'd regions to default
to RW mode. For both SPU and PPU execution threads, when initialization
finishes we toggle to RX mode. This exploits Apple's per-thread setting
for RW/RX to let us be technically compliant with the OS's W^X
enforcement while not needing to actually separate the memory
allocated for code/data.
* PPU: implement aarch64 specific functions
Implements ppu_gateway for arm64 and patches LLVM initialization to use
the correct triple. Adds some fixes for macOS W^X JIT restrictions when
entering/exiting JITed code.
* PPU: Mark rpcs3 calls as non-tail
Strictly speaking, rpcs3 JIT -> C++ calls are not tail calls. If you
call a function inside e.g. an L2 syscall, it will clobber LR on arm64
and subtly break returns in emulated code. Only JIT -> JIT "calls"
should be tail.
* macOS/arm64: compatibility fixes
* vm: patch virtual memory for arm64 macOS
Tag mmap calls with MAP_JIT to allow W^X on macOS. Fix mmap calls to
existing mmap'd addresses that were tagged with MAP_JIT on macOS. Fix
memory unmapping on 16K page machines with a hack to mark "unmapped"
pages as RW.
* PPU: remove wrong comment
* PPU: fix a merge regression
* vm: remove 16k page hacks
* PPU: formatting fixes
* PPU: fix arm64 null function assembly
* ppu: clean up arch-specific instructions
2022-06-14 15:28:38 +03:00
Eladash
264253757c
rsx: Improve Null Renderer
2022-06-12 20:54:42 +03:00
Ani
2512e958fa
glsl: Avoid implicit int->uint conversions ( #12220 )
2022-06-12 18:05:43 +01:00
Nekotekina
cb2c0733e2
SPU LLVM: fix vrangeps usage in clamp_smax
2022-06-12 16:40:04 +02:00
Elad Ashkenazi
280aa6da91
rsx: Fix NV406E semaphore_acquire timeout detection ( #12205 )
2022-06-12 12:34:29 +03:00
Megamouse
9554adda28
Qt: remove "Send Exit CMD" menu option
...
This is pointless now, since we always exit games with this command.
2022-06-12 11:17:30 +02:00
Megamouse
f3fa7119ac
Qt: Also parse changelog with "Background" update
2022-06-12 09:19:18 +02:00
Malcolm Jestadt
0d022d420b
RSX: Add more wide paths for upload_untouched
...
- Adds AVX512 path for upload_untouched u16 with primitive restart, and
AVX2 and AVX512 paths for upload_untouched without restart
- The AVX512 paths handle the remainder in simd code with masking, which
provided a large speedup
- On my i5-1135G7 in demons souls benchmarking a scene in boletaria with
a lot of geometry on screen via perf:
SSE4_1 0.64%
AVX2 0.59%
AVX512 0.56%
AVX512 w/ remainder masking 0.51%
2022-06-12 06:23:55 +03:00
Elad Ashkenazi
ec530a2c91
rsx: Suggest to try setting RSX FIFO Accuracy to a higher mode of accuracy on crash ( #12204 )
2022-06-11 23:26:12 +02:00
Malcolm Jestadt
ebeeafc94f
SPU LLVM: Use vrangeps in clamp_smax
...
- This instruction can clamp a value between a range of values, something which previously needed 2 instructions.
- With the immediate byte set to 0x2 it will compute the minimum between the absolute value of the first input and the second input, and then copy the sign from the first input to the result.
2022-06-11 18:25:31 +03:00
Elad Ashkenazi
17e28ae85d
SPU LLVM: Improve expression matching detection for moved registers
2022-06-11 16:13:58 +03:00
RipleyTom
da6434a65a
Implements sys_fs_fcntl 0xC0000008 & 0xC000001A ( #11957 )
2022-06-11 13:12:42 +01:00
Megamouse
a2623b1a9a
DS3: fix other report size check.
...
The Report size also seems to be generic here, so let's only check if anything got returned at all.
Also add missing logging for result < 0.
2022-06-10 18:46:12 +02:00
Elad Ashkenazi
1738b38536
vm_native.cpp: Use Windows 10 memory mapping API (the correct API)
2022-06-10 14:27:02 +03:00
Megamouse
7235647e67
DS3: fix report size check.
...
The Report size seems to be generic here, so let's only check if anything got returned at all.
2022-06-10 06:47:01 +02:00
Megamouse
2a1e3b2b77
sys_rsxaudio: use max channel count from configured sound_modes
2022-06-09 18:59:13 +02:00
Megamouse
61823a5d62
sys_rsxaudio: only update config if the fxo is initialized
2022-06-09 18:59:13 +02:00
Megamouse
ba96c6f3bb
cellAudioOut: properly implement downMixer
...
If the PS3 downMixer is enabled, the game uses 8 channel input and 2 or 6 channel output
2022-06-09 18:59:13 +02:00
Megamouse
fd8931c87e
cellAudio: simplify sound mixer
...
There was no need to treat the first mix differently if all it did was init the buffer anyway.
Let's just always memset to zero.
2022-06-09 18:59:13 +02:00
kd-11
7530b3c971
vk: Fix image view search and destroy
2022-06-09 02:13:55 +03:00
Malcolm Jestadt
64616f1408
SPU LLVM: Microfixes
...
- Avoid vpermb path in shufb when op.ra == op.rb
- Reverse indices with (c ^ 0xf) rather than (~c) in vpermb path, vpternlogd is a 3 input operation and requires needless mov instructions to avoid destroying inputs
2022-06-08 22:50:30 +03:00
Elad Ashkenazi
004d9b09b8
LLVM: Fix 0 vector constant observation
2022-06-08 19:31:39 +03:00
Nekotekina
8d46840e09
Enable ppu_feed_data in PPU Interpreter
2022-06-07 15:24:50 +03:00
Nekotekina
753a12f436
Enable call history in PPU Interpreter
2022-06-07 15:24:50 +03:00
Megamouse
8e667e69f6
initial cellGameThemeInstall and cellGameThemeInstallFromBuffer
2022-06-07 07:37:30 +02:00
Megamouse
4d09be25aa
cellMsgDialog: send DRAWING_END on abort
2022-06-06 20:07:01 +02:00
Eladash
0f499e36fb
Optimize emulation stopping for when cellSysutilCheckCallback is not called
2022-06-06 19:21:41 +02:00
Eladash
f5beaabded
cellSysutil: Implement DRAWING callbacks
...
Also fixed a minor race in cellUserInfo regarding status of dialog
2022-06-06 19:21:41 +02:00
Elad Ashkenazi
248809ca1f
cellGame: Revert cellGameDataCheckCreate2 change for now
2022-06-06 13:41:20 +02:00
Eladash
f9bc7458d4
rsx: Resurgence of HLE GCM
2022-06-06 12:56:25 +02:00
Megamouse
c4459dff40
Qt: use dedicated thread for getting input in the pad settings
...
This fixes the slow motion and rubber banding in the pad settings dialog while using HID handlers.
Previously everything was running on the main thread including the UI updates.
This meant that the poll rate was simply too slow and we were never up to date with the current data.
2022-06-06 00:15:27 +02:00
Eladash
16381929ba
vm_var.h: Ensure 16-bytes alignment of gvar
...
Some PPU instructions require memory to be aligned otherwise they produce different results. I've already seen their usage in cellSaveData disassembly so may as well ensure it for all.
2022-06-05 20:47:49 +02:00
Eladash
f1b03b36f7
cellGame: Make stats storage non-temporary, fix cbSet->setParam initial value
2022-06-05 20:47:49 +02:00
Megamouse
e9ba6fd034
Qt: use unique_ptr for Ui objects. Should fix some mem-leaks
2022-06-05 19:07:03 +02:00
Megamouse
bb03e17e2d
HID: optimize get_next_button_press a bit
2022-06-05 19:07:03 +02:00
Megamouse
09875a5180
HID: properly check return values and report IDs
2022-06-05 19:07:03 +02:00
Megamouse
4912202cfa
HID: zeroize buffers before getting a report, use std::array
2022-06-05 19:07:03 +02:00
Megamouse
f57da6655c
DualSense: Fix firmware report on newer versions
...
Newer versions of the DualSense return 64, while old versions return 65.
2022-06-05 19:07:03 +02:00
Megamouse
ac34714837
CellAudioOut: Add some placeholders to CellAudioOutCodingType
2022-06-05 13:34:34 +02:00
Megamouse
b4ce31cae3
cellAudioOut: update TODO comments for CELL_AUDIO_OUT_SECONDARY
2022-06-05 13:34:34 +02:00
Megamouse
5dffbca636
cellAudioOut: Only add LPCM 2ch. to secondary output
2022-06-05 13:34:34 +02:00
Megamouse
fec9fcda7d
Fix msvc parsing error caused by different naming
2022-06-05 13:34:34 +02:00
Megamouse
306776626a
cellAudioOut: set latency to 13
2022-06-05 13:34:34 +02:00
Megamouse
15be6827ea
cellAudioOutGetConfigure: Store and return set config seperately
2022-06-05 13:34:34 +02:00
Megamouse
8c0a786918
cellAudioOutConfigure: don't return error on unsupported config
...
Apparently the config simply isn't changed
2022-06-05 13:34:34 +02:00
Megamouse
8aa67114a9
cellAudioOut: Prefer 7.1 if available and supported
...
Select 7.1 as initial mode if the PARAM.SFO supports it and we enabled it
2022-06-05 13:34:34 +02:00
Megamouse
1bbb26334a
cellAudioOut: Use bev_bdvd for disc game PARAM.SFO
...
Game Data PARAM.SFO does not contain SOUND_FORMAT
2022-06-05 13:34:34 +02:00
Malcolm Jestadt
1227b0a633
SPU LLVM: Reneable icelake shufb paths
...
- The previous code works just fine
2022-06-05 13:08:00 +03:00
kd-11
6c315e8aee
gl: Disallow overlapping binding points
2022-06-05 10:13:41 +03:00
Elad Ashkenazi
88faac7bbc
rsx: Minor fixup ( #12165 )
2022-06-04 15:04:27 +01:00
Elad Ashkenazi
9bb7e8d614
rsx: Implement atomic FIFO fetching (stability improvement) (non-default setting) ( #12107 )
2022-06-04 15:35:06 +03:00
kd-11
286f97fad0
rsx: Reduce some error spam
2022-06-04 14:02:33 +03:00
kd-11
f0a02e0d9d
gl: Fix leaking texture views
2022-06-04 14:02:33 +03:00
kd-11
8185bfe893
gl: Track image destruction and remove handles from state tracker
...
- Handles are reused for different resources which can cause problems
2022-06-04 14:02:33 +03:00
kd-11
d577cebd89
gl: Refactor image and command-context handling
...
- Move texture object code out of the monolithic header
- All texture binds go through the shared state
- Transient texture binds use a dedicated temp image slot shared with native UI
2022-06-04 14:02:33 +03:00
Malcolm Jestadt
0e5514003a
SPU LLVM: Optimize LQR/STQR
...
- Avoid type mismatch between adds that prevented llvm from combining the operations
2022-06-03 16:16:28 +03:00
kd-11
167161d8ce
rsx: Restore some accidentally removed depth-format conversion macros
2022-06-03 11:54:09 +03:00
kd-11
b8b0ecabd8
gl: Fix data pointer on the optimized AMD path
2022-06-03 11:54:09 +03:00
kd-11
bb05de2e80
gl: Fix copypasta
2022-06-03 11:54:09 +03:00
kd-11
7890e87234
gl: Fix warning
2022-06-03 11:54:09 +03:00
kd-11
25c05867d6
gl: Fix ring buffer remove() function
...
- Fixes crash on running a second game in the same session
2022-06-03 11:54:09 +03:00
kd-11
a421270c19
gl: Use new scratch buffer system
2022-06-03 11:54:09 +03:00
kd-11
764fb57fdc
gl: Implement scratch ring buffer with memory barriers
2022-06-03 11:54:09 +03:00
kd-11
3fd846687e
gl: Refactor buffer object code
2022-06-03 11:54:09 +03:00
kd-11
ff9c939720
gl: Assume decode buffer is to be used as SSBO as this seems to be a hint to the driver about where to put the buffer
...
Part of OpenGL's achilles' heel - the API does not distinguish between VRAM and SYSTEM memory at all and relies on developers wrestling with the driver's heurestic algorithm for this.
2022-06-03 11:54:09 +03:00
kd-11
234db2be3f
gl: Fix texture binding in overlay renderer
2022-06-03 11:54:09 +03:00
kd-11
fc44d53bb0
gl: Reset buffer size on destroying the GPU handle
2022-06-03 11:54:09 +03:00
kd-11
555a4b5f5c
gl: Suggest readback buffer as ssbo if it is not provided
...
- We're likely to jump into a compute or readback pass anyway.
2022-06-03 11:54:09 +03:00
kd-11
a6e6df1445
gl: Implement fast texture readback for D24X8 and RGBA8/BGRA8
2022-06-03 11:54:09 +03:00
RipleyTom
2010d697c8
feat: add boot test menu entry
2022-06-03 01:15:54 +02:00
Megamouse
26045a9be5
Move test elfs to test dir
...
TEST12345 is already taken by dev builds
2022-06-02 23:19:34 +02:00
Megamouse
06e5b8a06a
cellAudioOut: add stereo, 5.1 and 7.1 for covenience
2022-06-02 13:12:04 +02:00
Megamouse
94aef197dd
cellAudioOut: switch to manual multi-selection of format as seen on PS3
2022-06-02 13:12:04 +02:00
Megamouse
a86e7eeba0
cellAudioOut: Always add Linear PCM 2 Ch., also add 5.1 when 7.1 is selected
2022-06-02 13:12:04 +02:00
Megamouse
95a3ce68ce
cellAudioOut: log all added sound modes
2022-06-02 13:12:04 +02:00
Megamouse
9ab1e69697
cellAudioOut: simplify sfo access and make it foolproof
2022-06-02 13:12:04 +02:00
Megamouse
4f03cf7e1e
PSF: move resolution flags to enum
2022-06-02 13:12:04 +02:00
Megamouse
60d80fd5fc
PSF: move sound format flags to enum
2022-06-02 13:12:04 +02:00
Megamouse
350d3ad386
cellAudioOut: fix AC3/DTS mixup
2022-06-02 13:12:04 +02:00
Megamouse
d6065e8814
cellAudioOut: add sound modes even if they aren't supported
2022-06-02 13:12:04 +02:00
Megamouse
363808a57b
cellAudioOut: simplify sound mode initialization
2022-06-02 13:12:04 +02:00
Megamouse
3402835c8e
cellAudioOut: apply review fixes, add some comments
2022-06-02 13:12:04 +02:00
Megamouse
911d37e4d7
cellAudioOut: use 2 channel LPCM by default and also use it as fallback
2022-06-02 13:12:04 +02:00
Megamouse
72e1e242a3
cellAudio: use format instead of downmix
2022-06-02 13:12:04 +02:00
Megamouse
c42ff338e7
cellAudioOutGetSoundAvailability: return channel count based on available sound modes
2022-06-02 13:12:04 +02:00
Megamouse
4f81fcd5cc
cellAudioOutConfigure: move sound_modes to fxo, implement waitForEvent
2022-06-02 13:12:04 +02:00
Megamouse
d47f1ef406
cellAudio: Implement application based downmix settings
2022-06-02 13:12:04 +02:00
Nekotekina
422246825b
vm: workaround bigger native page size for 4k pages
...
Always allocate full memory block if native page size > 4k
2022-06-02 12:56:49 +03:00
Nekotekina
b0ccd2a8a0
Implement utils::c_page_size (unused)
...
Query platform memory page size.
2022-06-02 12:56:49 +03:00
Nekotekina
76c72351a5
rsx_methods: fix warning
2022-06-02 12:56:49 +03:00
Megamouse
03df3c5293
cellAudioQuit: do not clear event queues
...
They seem to be handled independently.
2022-05-31 23:38:29 +02:00
RipleyTom
dd31574b4f
fix: changes execl to execv for compatibility with checkrt
2022-05-31 22:55:31 +02:00
kd-11
eb52ac55a7
gl: Fix AMD buffer decode
2022-05-31 23:34:14 +03:00
kd-11
d167582f6b
gl: Implement on-chip buffer-to-d24x8 conversion
2022-05-31 23:34:14 +03:00
kd-11
dd6cb054a7
gl: Add missing viewport save
2022-05-31 23:34:14 +03:00
kd-11
b97557ce7b
gl: Use DSA for compressed texture upload
2022-05-31 23:34:14 +03:00
kd-11
964fd1095e
gl: Properly preserve texture state
...
- Remove rogue glBindTexture calls and use gl commandstate object instead
2022-05-31 23:34:14 +03:00
kd-11
fcc6c2384b
Fix linux build
2022-05-31 23:34:14 +03:00
kd-11
a5d73f41b5
gl: Remove debug message
2022-05-31 23:34:14 +03:00
kd-11
1b305bf789
gl: Workaround for poor AMD OpenGL performance
...
- Turns out the AMD driver really hates it if you render with a mapped index buffer.
The driver internally seems to make a copy of the consumed indices and uses that. Very slow.
I was able to isolate this after observing that glDrawArrays is not entirely shit, but glDrawElements duration scaled linearly with the number of vertices.
2022-05-31 23:34:14 +03:00
kd-11
943752db30
gl: Compute optimizations
...
- Keep buffers around longer to allow driver heurestics to work
- Properly initialize the shaders to allow optimal workgroup dispatch size
2022-05-31 23:34:14 +03:00
kd-11
60a2a39e88
gl: Deswizzle textures on the GPU
2022-05-31 23:34:14 +03:00
kd-11
532563e861
gl: Update some more buffer-object functions
2022-05-31 23:34:14 +03:00
kd-11
3ee27bd434
gl: Optimize consumption of buffer objects when uploading textures
2022-05-31 23:34:14 +03:00
kd-11
55e68441cb
gl: Commit to bindless framebuffer object management
2022-05-31 23:34:14 +03:00
kd-11
7ec481d99b
rsx: Allocate scratch memory using simple array with no default initialize
...
- This cuts down processing time significantly by eliminating calls to memset_stosb
2022-05-31 23:34:14 +03:00
kd-11
129e947720
gl: Improve CS throughput
...
- Avoids making too many invocations, especially given the 1D nature of some GPU dispatch handlers
2022-05-31 23:34:14 +03:00
kd-11
e964060a6a
gl: Handle texture binding using the global state tracker
2022-05-31 23:34:14 +03:00
kd-11
74696d2e44
gl: Commit to a consistent global state
2022-05-31 23:34:14 +03:00
kd-11
78746fdb6f
gl: Commit to using DSA for internal buffer management
...
- Gets rid of spammy BindBuffer calls on every draw
2022-05-31 23:34:14 +03:00
kd-11
ed2068fb03
gl: Rewrite buffer mapping
2022-05-31 23:34:14 +03:00
kd-11
b61c4d3693
gl: Fix stat counters
2022-05-31 23:34:14 +03:00
kd-11
81b9952e34
gl: Do not allow cross-aspect bitcasts
...
- There is special handling for some cross-aspect bitcasts in vulkan, but this is not possible using OpenGL
2022-05-31 23:34:14 +03:00
brian2081
64958264c5
Fix issue #12137
2022-05-31 23:06:46 +03:00
Elad Ashkenazi
bda52a51a7
Debugger: Show HEX view of floating-point PPU registers
2022-05-31 07:36:10 +02:00
Megamouse
bab4136411
Qt: fix tooltips and widget states in settings
2022-05-30 23:38:16 +02:00
Darkhost1999
e4fe335e75
Qt: add vblank_ntsc_fixup to UI ( #12042 )
2022-05-30 20:17:43 +02:00
Darkhost1999
0a7ac4d42a
Qt: Misc text updates ( #12110 )
2022-05-30 19:35:41 +02:00
Elad Ashkenazi
95233b5299
rsx: Fix deadlock in vm::_page_unmap
2022-05-30 11:53:34 +03:00
RipleyTom
8b6f68abcf
fix: parsing bug in read_metadata
2022-05-29 22:36:30 +02:00
Malcolm Jestadt
e9dfb3cb63
SPU LLVM: Fixup for inline MFC transfers
...
- Could previsouly segfault when src and dst were swapped. Just use unaligned instructions instead.
2022-05-29 19:08:36 +03:00
Vestral
5b0badc215
sys_rsxaudio: timer fix
2022-05-29 14:59:12 +02:00
Malcolm Jestadt
6f4398889e
SPU LLVM: Optimize inline MFC transfers
...
- Use wider instructions when possible
2022-05-29 15:32:25 +03:00
Eladash
dd4722fc1f
rsx: Fix second VBLANK time
...
Turns out that both VBLANK time and flip time clock at 80Mhz which is MFTB rate, just that cellGcmGetLastFlipTime is missing conversion to microseconds, so odd.
2022-05-29 14:23:28 +02:00
Eladash
eec27f0e89
Revert "rsx: Fix FLIP time"
...
This reverts commit 256eb17ae5 .
2022-05-29 14:23:28 +02:00
RipleyTom
baf51a2e2f
fix: unset APPDIR before launching new appimage
2022-05-29 08:09:07 +02:00
Eladash
256eb17ae5
rsx: Fix FLIP time
2022-05-28 13:00:42 +02:00
Elad Ashkenazi
610d29dab0
rsx: Fix VBLANK time
2022-05-28 13:00:42 +02:00
RipleyTom
aaef4a2d5b
More verbose errors in nt_p2p_port
2022-05-27 08:56:39 +02:00
Eladash
27b28cf6ec
sys_spu: Fix spu_thread_group_terminate deadlock
2022-05-26 18:04:52 +03:00
Megamouse
345bda69ec
Overlays: Add screenshot message to queue
2022-05-26 08:52:12 +02:00
Eladash
a9a1204ab9
sys_rsx: Full reset of flip semaphore
2022-05-25 17:36:28 +03:00
Eladash
e7ced1aeab
Debugger: Implement SPU mailbox content display
2022-05-25 17:36:28 +03:00
Eladash
56f95934f5
Fix cellVdec regression to be harmonized with the new interrupts model
2022-05-25 17:36:28 +03:00
Megamouse
88ee62be26
cellAdec: fix uninitialized default size of AVPacketHolder ( #12077 )
2022-05-25 11:40:51 +02:00
Eladash
961d41d0bd
RawSPU: Reinvoke pending interrupts if missed
2022-05-25 11:46:51 +03:00
kd-11
9c824aa0b5
vk: Enable event scope hack for INTEL proprietary drivers
2022-05-24 20:11:31 +03:00
kd-11
efff2a78c8
vk: Restructure how the conditional render evaluation is done ( #12071 )
...
Fixes conditional render fast-path
2022-05-24 11:11:21 +03:00
Vestral
608f823516
sys_rsxaudio: Add id to kernel explorer and some fixes
2022-05-23 13:10:46 +02:00
RipleyTom
e68ffdbc81
Add a message overlay
2022-05-23 08:38:02 +02:00
RipleyTom
3dc9a8b980
fix lv2_socket_native::accept
2022-05-23 07:36:51 +02:00
MSuih
b0e5db0eb0
Limit range of wake-up delay slider + adjust tooltip
2022-05-22 22:32:19 +02:00
kd-11
7c8fbc35bc
rsx: Move PS3-compliant behavior to a new option
2022-05-21 16:35:35 +03:00
kd-11
b637429e44
Fix display flickering
2022-05-21 16:35:35 +03:00
kd-11
d52bb78d2c
rsx: Trivial non-blocking display synchronization
2022-05-21 16:35:35 +03:00
Eladash
1be36fe6a9
Remove all HDD0's temporary game data created by cellGame at boot
2022-05-21 10:57:12 +03:00
Eladash
1088375b38
Wipe clean VSH's temporary directory of choice at boot
2022-05-21 10:57:12 +03:00
Eladash
285322982f
Do not dare to touch HDD1 cache during game process respawn!
2022-05-21 10:57:12 +03:00
kd-11
4e6be9172a
rsx: Asynchronously flush the pipelines when handing ZCULL memory access violations
2022-05-21 10:06:32 +03:00
kd-11
0e1333ed5f
rsx: Deadlock avoidance of accurate RSX reservations
2022-05-21 10:06:32 +03:00
Eladash
cd74fb6a6d
rsx: Implement HW accurate frame limiter
2022-05-20 22:40:48 +02:00
kd-11
ec2d529832
rsx: Separate loop interrupts from graphics state
...
- The interrupts are for multithreaded signals andmake the main loop run more aggressively for the next cycle
2022-05-20 16:29:27 +03:00
kd-11
257556bbf5
rsx: Add eng lock before flagging memory unmap
...
- This is much better than polling on atomics every cycle for something that happens a few times during gameplay
2022-05-20 16:29:27 +03:00
kd-11
93d93b4805
rsx: Fix typo
2022-05-20 16:29:27 +03:00
kd-11
e368453751
rsx: Rework loop interrupts a bit
...
- Reset backend interrupt in core handler
- Separate memory config interrupt from regular backend interrupt
2022-05-20 16:29:27 +03:00
kd-11
d0dc095c84
rsx: Silence some log spam
2022-05-20 16:29:27 +03:00
kd-11
360fdca5ac
vk: Avoid multimap when handling image views
2022-05-20 16:29:27 +03:00
kd-11
e1b95913ea
rsx/zcull: Improve deadlock avoidance
...
- Do not acquire eng lock while holding the page lock
RSXThread may be waiting on the page lock and will never ack the pause request
2022-05-20 16:29:27 +03:00
kd-11
a3ea9e2985
rsx/zcull: Less aggressive disabling of optimizations
2022-05-20 16:29:27 +03:00
kd-11
e9bf3e13d0
rsx/zcull: Pause the main thread before flushing reports
2022-05-20 16:29:27 +03:00
kd-11
9e02471ded
Fix VS
2022-05-20 16:29:27 +03:00
kd-11
094fda0e73
Crash fix
2022-05-20 16:29:27 +03:00
kd-11
d2de560060
rsx: Improve sync_hint callback interface
2022-05-20 16:29:27 +03:00
kd-11
5315eb546f
rsx: Stop spamming ZCULL update method
...
- This has a negative impact when ZCULL is active due to spamming __rdtsc
- While the method is fast, it is not free and some checks are done before the instruction can be emitted
Let's use the saved time to actually get something useful done
2022-05-20 16:29:27 +03:00
kd-11
7fa521a046
rsx/vk: Redesign how conditional rendering hints work
...
- Pass a sync address to the backend
- Ignore the hint if the query is running in lazy mode
- Do not submit CBs too close to each other. Submits are expensive
2022-05-20 16:29:27 +03:00
kd-11
0244c4046e
rsx: Lower performance hit due to frequency fetch
2022-05-20 16:29:27 +03:00
kd-11
7e8c93bea2
Random optimization
2022-05-20 16:29:27 +03:00
kd-11
8cd7a44a25
gcm: Force HLE of cellGcmGetTimestamp
...
- This is the only way to know if a report is being used for ZCULL or timestamps only.
If the game is not reading the ZCULL data, the access guards will detect it and optimize usage around that.
2022-05-20 16:29:27 +03:00
kd-11
9a1e6cc3e8
rsx: Implement RSX reports area access detection and optimize around it
...
- If nobody is reading RSX reports, do not be in a hurry to write them
- Requires HLE of some methods (cellGcmGetTimestamp) to function correctly
2022-05-20 16:29:27 +03:00
kd-11
34220ec447
lv2: Make some struct declarations uniform
2022-05-20 16:29:27 +03:00
kd-11
f0135a02f5
vk: Unconditionally enable hw acceleration for conditional evaluation
2022-05-20 16:29:27 +03:00
kd-11
0b7e013fbe
rsx: Simplify ZCULL logic a bit
2022-05-20 16:29:27 +03:00
kd-11
850eef0c1a
rsx: Move ZCULL logic to its own file
...
- It's over 1k lines of code in its own namespace; it really should be in its own file
2022-05-20 16:29:27 +03:00
Elad Ashkenazi
5a581f46df
Add a constraint about vm area approx matching
2022-05-19 21:29:18 +03:00
Eladash
b334621d76
PPU DisAssembler: Prevent false function descriptor detection
2022-05-19 21:29:18 +03:00
Elad Ashkenazi
a768855a7a
Update PPUThread.cpp
2022-05-19 18:16:53 +03:00
Eladash
7ddeb0d00f
Implement sys_process_exit3
2022-05-19 13:59:52 +03:00
Eladash
2ba437b6dc
SPU: Implement timer freezing ability
2022-05-14 22:03:47 +03:00
Eladash
f2920bc30d
Debugger: Fix instruction "pop-in" when resizing
...
Display incomplete elements.
2022-05-14 10:46:07 +02:00
Eladash
d043f46270
Fix recursion in the debugger
2022-05-14 10:46:07 +02:00
Megamouse
1e1b111678
sceNp: register custom menu
2022-05-13 21:52:14 +02:00
Eladash
1f5ce4f619
Loader: Fix out-of-bounds access of string
...
There was no need to manually align size, it only creates a bug with memcpy usage.
2022-05-13 19:53:48 +03:00
Eladash
524da5dc54
LV2: Memory state post-exitspawn fixes
...
* Fix memory capacity if SDK version of the following executable differs from the original process'.
* Keep user memory containers, they are not freed at exitspawn!
Hw test 4bf60023ee
2022-05-13 13:15:07 +03:00
Eladash
a2a6303a22
PPU LLVM: Precompile system-internal executables if booting a dev_flash's program
2022-05-12 19:55:07 +03:00
Eladash
6805d8c7e0
SPU: Fix race on SPU Mailbox last value reading
2022-05-12 13:44:12 +03:00
Megamouse
5ae9de4e3b
CLI: add decrypt option
2022-05-11 21:13:20 +02:00
RipleyTom
2f9b930c6b
Fix for ticket parsing
2022-05-11 19:03:54 +02:00
Nekotekina
e243ef5907
PPU: implement accurate FRES
...
Implemented with an accurate lookup table.
2022-05-11 10:46:08 +03:00
doesthisusername
7b162c7513
PPU: implement quasi-accurate FRSQRTE
...
Denormals are handled like zeros.
NaN handling is inaccurate in some cases.
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2022-05-11 10:46:08 +03:00
JoãoPaulo
5b8f105308
Update FW 4.89 Latest Version
...
Updates the latest FW version according to: https://www.playstation.com/en-us/support/hardware/ps3/system-software/
List of changes:
Version 4.89
Signing in to PlayStation Network now requires a device password for enhanced account protection.
Account creation for PlayStation Network and some account management features are no longer available on the console. Use your PC or mobile browser to use account management features with improved performance, speed, and safety.
2022-05-11 00:17:01 +02:00
NicknineTheEagle
1df47352cc
Implemented sceNpDrmGetTimelimit
2022-05-10 23:24:00 +02:00
NicknineTheEagle
e4225cbab8
Fixed duplicate prefix in SELF log
2022-05-10 23:24:00 +02:00
NicknineTheEagle
83ca7654b1
Return NPD header in verify_npdrm_self_headers and VerifyEDATHeaderWithKLicense
2022-05-10 23:24:00 +02:00
NicknineTheEagle
8065dbc2e7
Unified NPD header in unedat.h
2022-05-10 23:24:00 +02:00
Eladash
d03fcad9bd
cellAudio: Some bugfixes
...
* Reading position storage is 16 bytes aligned according to hw test.
* Fix cellAudioGetPortConfig portSize reporting, now matches PS3.
* Remove ghost code about unearthly 6 channels cellAudio port mode.
2022-05-10 22:39:34 +02:00
Megamouse
e494fc04e5
sceNp: add some constants
2022-05-10 21:55:35 +02:00
Eladash
d77c9139ad
Debugger: Show constant-formed attribute of register value
2022-05-10 22:34:29 +03:00
RipleyTom
4479d99a9a
Implement sceNpManagerGetTicketParam
2022-05-10 21:04:15 +02:00
Megamouse
072c289f5e
Qt: add new vfs usb tab
2022-05-10 19:39:35 +02:00
Megamouse
a538f655be
sys_fs_fcntl: hook up usb device info
2022-05-10 19:39:35 +02:00
Megamouse
b888a6ba37
VFS: Add device_info to vfs config
2022-05-10 19:39:35 +02:00
Eladash
de988f6a76
MSELF extractor: Ensure the files' dwellings
2022-05-10 09:58:59 +03:00
Megamouse
2b325de680
Workaround: Force audio provider
...
This hides the audio_provider box in the settings and forces the proper provider based on boot path.
Stop-gap solution until we decided what to do with vsh settings.
2022-05-08 02:08:20 +02:00
Megamouse
d83fac4247
cellAudio: fix timestamp exception
2022-05-08 02:08:20 +02:00
Nekotekina
0a5ea859ea
atomic.cpp: fix race in cond_id_lock()
2022-05-07 21:25:38 +03:00
Megamouse
5476b9098e
cellHttp: add more errors
2022-05-07 14:46:57 +02:00
Megamouse
e5a75cfd1c
sceNpTrophyGetTrophyUnlockState: handle read_only
2022-05-07 13:58:05 +02:00
Megamouse
1f745c4588
sceNpTrophyRegisterContext: add read_only check
2022-05-07 13:58:05 +02:00
Megamouse
6c7f49d563
sceNpTrophy: don't use TROPHY.TRP in CreateContext
2022-05-07 13:58:05 +02:00
Megamouse
dae51a4a2b
sceNpTrophy: remove confirmed comment
2022-05-07 13:58:05 +02:00
Megamouse
d113324a90
sceNpTrophyRegisterContext: handle SHOW_ERROR_EXIT
2022-05-07 13:58:05 +02:00
Eladash
1cab99b3ca
Make CPU Profiler able to print stats which sum up the records of all SPU threads
...
Hitherto the statistics have been exclusively thread-specific.
Other improvements:
* Fixed container management so a collision of a new element with an older element of the record will become impossible.
* Added thread name to thread-specific information printing.
* Fixed condition to abort SPU block statistics collection, now matches SPU LLVM Profiler's.
* Fix possible division by 0 by checking `samples`.
2022-05-07 12:57:54 +03:00
Nekotekina
f7d08d3371
ELF: fix sh_flag bitset enum
2022-05-06 15:44:29 +03:00
RipleyTom
02d22dca95
Add Top Shot Elite controllers to whitelist
2022-05-05 22:33:50 +02:00
Megamouse
7764cb2b80
Qt: disable mouse movement mode groupbox
2022-05-05 21:39:12 +02:00
Eladash
be5f8413ca
Avoid using PUTLLC in PUTLLUC if we know SPU LR has already been raised ( #11940 )
2022-05-05 22:15:08 +03:00
RipleyTom
ce48d880d9
Fix for device2host control transfers
2022-05-05 19:24:01 +02:00
RipleyTom
8d950620b7
dnshook: add asterisk support
2022-05-05 18:49:39 +02:00
Nekotekina
10b33d0f79
SPU: optimize conflicting PUTLLUC (No-TSX)
...
Enable previously TSX-only optimization.
2022-05-05 19:16:16 +03:00
Megamouse
2706486559
input: add absolute mouse movement mode
2022-05-05 16:50:39 +02:00
Vestrel
d1e468fefb
sys_rsxaudio: Initial implementation ( #11907 )
2022-05-05 15:47:44 +02:00
RipleyTom
0ac90ac395
sys_net: ensures return from raw socket calls
2022-05-05 14:37:54 +02:00
Megamouse
fef779feca
cellRec: fix pOpt pointer type
2022-05-05 12:23:12 +02:00
Megamouse
ced890301c
cellRec: fix some warning
2022-05-05 12:23:12 +02:00
Megamouse
7d73d90c1a
cellGameExec: fix warnings
2022-05-05 12:23:12 +02:00
Darkhost1999
4e40260f1f
Add Force_Disable_Exclusive_Fullscreen_Mode to UI ( #11923 )
2022-05-05 11:19:03 +02:00
Eladash
3aebb8cb41
Tentative fix for unreadable ELF sections without flags
2022-05-05 07:33:07 +03:00
Eladash
fcbeb2fa22
Remove slow vm::writer_lock usage from SPUThread.cpp
2022-05-04 23:36:57 +03:00
Eladash
7a3cbf1876
Fix Emulator::argv state after failed PS3 exitspawn
2022-05-04 23:36:57 +03:00
Eladash
3dda72e47f
SPU: Cache reservation memory direct access handle (optimization)
2022-05-04 20:28:55 +03:00
Nekotekina
a2bfd5fcfc
Minor AArch64 support changes
2022-05-04 16:12:32 +03:00
Nekotekina
6501374a34
Add supporters
2022-05-04 16:12:32 +03:00
Eladash
63669000ab
PPU Loader Fix removing writablity permission for RSX/SPU writable segments
2022-05-04 12:03:10 +03:00
Eladash
f9a62667cf
SPU/PPU Loader: Implement linker/PS3 compiler executable files loading
2022-05-03 20:47:36 +03:00
Megamouse
6cc1466baa
halfplement cellRec
2022-05-03 18:19:31 +02:00
Megamouse
bcd77ac65e
halfplement cellVideoExport
2022-05-03 18:19:31 +02:00
Nekotekina
0786a0a088
PPU LLVM: match interpreter for VEXPTEFP/VLOGEFP
2022-05-03 08:27:44 +03:00
Eladash
c14e79f8df
Debugger: Fix instruction selection
2022-05-02 17:01:02 +03:00
Eladash
8cc6a30557
Debugger: Fix instruction pointer for good
2022-05-02 17:01:02 +03:00
Nekotekina
5c1f79ab26
vm: remove g_mutex, use g_range_lock instead
...
Simplification and performance improvements.
2022-05-02 10:29:28 +03:00
Ani
799c4837d3
rpcs3_version: Bump to 0.0.22
2022-05-01 15:23:47 +02:00
Eladash
5eeb79ffa1
Fix forced HLE injection
2022-05-01 09:21:49 +02:00
Eladash
159f9494a9
Debugger: Keep instruction's panel up-to-date with memory changes
2022-04-30 14:01:31 +03:00
RipleyTom
8316469cfc
Update libusb to v1.0.26
2022-04-29 02:04:52 +02:00
kd-11
7a434d19a6
rsx/vp: Zero-initialize temporary registers
2022-04-28 01:31:07 +03:00
kd-11
95ac7724a6
Fix typos
2022-04-28 01:31:07 +03:00
kd-11
e236ba4daf
rsx: Improve lowered precision comparison emulation
2022-04-28 01:31:07 +03:00
RipleyTom
5746df4046
sceNpMatching2CreateContext checks psn state ( #11887 )
2022-04-27 22:16:16 +01:00
Megamouse
e0d3a3b0ed
cellOskDialog: do not intercept input unless we actually show a dialog
2022-04-26 00:51:38 +02:00
Megamouse
3183d73e4d
OSK/overlays: fix initial input interception
...
Don't use default interception if we already intercept with custom params.
2022-04-26 00:51:38 +02:00
Megamouse
c8700dd246
Input: log interception and its source function
2022-04-26 00:51:38 +02:00
Eladash
08ebc59db0
Fix instructions editor, implement preview for to-be-edited instructions
2022-04-25 20:15:10 +02:00
Eladash
7329fa9cf5
TRPLoader: Use std::string_view
2022-04-25 20:15:10 +02:00
Eladash
27becdec97
TAR: Allow to use save_directory with a buffer not 512-bytes aligned
2022-04-25 20:15:10 +02:00
Megamouse
8d662e9327
overlays: enable key repeat by default
2022-04-25 19:44:56 +02:00
Megamouse
ff7636ea01
OSK/overlays: handle keyboard enter and escape
2022-04-25 19:44:56 +02:00
Megamouse
8f14f392fd
overlays: ignore input if kb pad handler is active
2022-04-25 19:44:56 +02:00
Megamouse
a1abc79f28
cellOskDialog: add event_hook_callback logging
...
And refactor the callback a bit
2022-04-25 19:44:56 +02:00
Megamouse
5fad7e1b87
OSK: flush key input to prevent key event spam
2022-04-25 19:44:56 +02:00
Megamouse
3d0f751211
cellMusic: lower some log levels to reduce spam
2022-04-25 19:44:56 +02:00
Megamouse
8864f944e2
cellOskDialog: implement dimmer_enabled
2022-04-25 19:44:56 +02:00
Megamouse
918984ee64
overlays: only log actual input loop errors
2022-04-25 19:44:56 +02:00
Megamouse
b29f106c51
cellOskDialog: implement base_color
2022-04-25 19:44:56 +02:00
Megamouse
71f8280c5e
cellOskDialog: implement KeyboardEventHookCallback
2022-04-25 19:44:56 +02:00
Megamouse
0ff293707a
OSK: allow device input during interception
2022-04-25 19:44:56 +02:00
Megamouse
9adab801ac
cellOskDialog: implement device mask and lock
2022-04-25 19:44:56 +02:00
Megamouse
43e7776f4d
cellOskDialog: add some error checks and TODOs
2022-04-25 19:44:56 +02:00
Megamouse
aee91b4f6f
OSK: Ignore gamepad input if a key was pressed
2022-04-25 19:44:56 +02:00
Megamouse
ffd36ea662
OSK: handle keyboard input
2022-04-25 19:44:56 +02:00
Megamouse
abf80cc112
keyboard: use std::array, default init, + KbButton
2022-04-25 19:44:56 +02:00
shockdude
43d26fa6b6
Make Guitar Hero Live Guitar GHTV button bindable
...
Also make emulated interrupt transfer as fast as possible
2022-04-24 20:18:36 +02:00
RipleyTom
d02a8ba2b9
Update flatbuffers to v2.0.6
2022-04-24 19:43:40 +02:00
Megamouse
9acc606e4d
Log: add ability to force log all errors
2022-04-24 19:11:34 +02:00
Megamouse
e52386ccfb
Log: ensure fmt
2022-04-24 19:11:34 +02:00
Megamouse
1d40c06c19
Log: Add spacer between error and fmt if necessary
2022-04-24 19:11:34 +02:00
Megamouse
c175cdf3d8
cellVdec: send AUDONE even when the queue is being flushed/restarted
...
Fixes GT6 regression
2022-04-24 17:39:49 +02:00
Megamouse
7924784215
cellVdec: log sequence id of commands
2022-04-24 17:39:49 +02:00
Megamouse
06cbc96722
cellVdecStartSeq: log level warning
2022-04-24 17:39:49 +02:00
Megamouse
dcda332a93
cellVdec: send AUDONE before PICOUT
2022-04-24 17:39:49 +02:00
Megamouse
eac4e991bd
cellVdec: add callback and command id logging
2022-04-24 17:39:49 +02:00
Megamouse
9284344480
cellVdec: fix cellVdecStartSeq (restart mode)
2022-04-24 17:39:49 +02:00
Megamouse
2c03467eec
cellVdec: improve logging a bit
2022-04-24 17:39:49 +02:00
Megamouse
b67cda7cbb
cellVdec: add handle to more log messages
2022-04-24 17:39:49 +02:00
Nekotekina
cd6aa0774f
Reduce stack usage in atomic_wait_engine::notify_all
2022-04-24 13:26:28 +03:00
Nekotekina
6d3052c5dd
Optimization: disable atomic_wait_engine notify callback for SPU
...
Disable placebo callback calls in notify_all.
Don't use callback at all if TSX.
Based on kd-11 findings.
2022-04-24 13:15:54 +03:00
Megamouse
fb27ed4deb
libav: remove deprecated option refcounted_frames
...
According to fe85afbf8c/doc/APIchanges (L743)
this option is deprecated and obsolete for the newer send/receive logic.
Should fix runtime exceptions with newer ffmpeg versions.
2022-04-24 11:05:22 +02:00
nastys
f21b298e5e
Make MSL Fast Math and software vkSemaphore optional
2022-04-24 09:25:13 +02:00