kd-11
e3b23822fd
rsx: Pass on shader flags to the cache
2022-12-11 15:21:58 +03:00
brian218
ab3c8268f0
sys_sm: Implemented sys_sm_shutdown() ( #13048 )
2022-12-11 09:10:06 +01:00
Megamouse
6f306121a6
Qt: fix opening folders by using util functions
2022-12-10 22:54:26 +01:00
Megamouse
8399516475
cli: fix title_path
2022-12-10 18:18:16 +01:00
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
Vestral
f6de42a2ae
Update cubeb to latest version
2022-04-24 08:00:17 +02:00
Megamouse
8acb62f6ee
HLE: simplify some error formats
2022-04-22 20:56:21 +02:00
Megamouse
1d6fbf1c35
cellGameGetParamString: fix patch mode
2022-04-22 20:56:21 +02:00
Eladash
f92b487947
rsx: Allow NV0039 0x2100
2022-04-22 18:20:23 +03:00
Megamouse
6a67155404
Qt: fix access to uninitialized Pad object
...
Fixes a crash when opening the pad settings before the pad handlers are initialized.
2022-04-22 00:00:34 +02:00
Megamouse
f42e647430
cellVdec: use av_error_to_string
2022-04-21 22:22:33 +02:00
Megamouse
7c65c1e3aa
cellVdec: Remove irritating while loop
2022-04-21 22:22:33 +02:00
Megamouse
9f51003366
cellVdecGetPicture and cellVdecGetPictureExt swap
...
This fixes a possible issue with the error handling order.
2022-04-21 22:22:33 +02:00
Megamouse
512eb93a62
cellVdecDecodeAu: fix param check
2022-04-21 22:22:33 +02:00
Megamouse
9c919db9ae
cellVdec: fix out format line offsets
...
Fixes video output in Uncharted 2
2022-04-21 22:22:33 +02:00
Megamouse
61ada2c1dc
cellVdec: call av_dict_free
2022-04-21 22:22:33 +02:00
Megamouse
bd5bff321e
cellVdecDecodeAuEx2: some REd guesswork
2022-04-21 22:22:33 +02:00
Megamouse
ee3a302cf2
cellVdecDecodeAu: add codec type check
2022-04-21 22:22:33 +02:00
Megamouse
fb3752a8ef
CellVdecDivxSpecificInfo2 (who knows if this is correct...)
2022-04-21 22:22:33 +02:00
Megamouse
548b748f50
CellVdecPicAttr
2022-04-21 22:22:33 +02:00
Megamouse
771009f333
cellVdec: add more error logging
2022-04-21 22:22:33 +02:00
Megamouse
db731d307e
CELL_CODEC_PTS_INVALID, CELL_CODEC_DTS_INVALID
2022-04-21 22:22:33 +02:00
Megamouse
c6f3f386df
cellVdec: implement CELL_VDEC_ERROR_SEQ
2022-04-21 22:22:33 +02:00
Megamouse
8d781a737b
Qt: Replace some deprecated Qt5 stuff
2022-04-21 21:23:10 +02:00
Megamouse
e9af0bb72b
cellGameGetParamString: check_mode for category
2022-04-21 20:56:11 +02:00
Megamouse
d8bbec9594
libav: log more error codes as string
2022-04-21 08:10:01 +02:00
Eladash
f1a37da94c
Update main_window.cpp
2022-04-20 08:28:46 +02:00
kd-11
bca7b02ae9
Fix compressed pitch calculation
2022-04-19 22:58:29 +03:00
sguo35
e761b3235c
macos: fix build for arm64
...
Adds arm64 branches to some x86 specific code and modifies some casting
logic to make Clang happy
2022-04-18 17:53:54 +03:00
Timo654
afae58b231
Interpret negative values in game patches
2022-04-18 17:01:19 +03:00
RipleyTom
563af4211a
sys_net: Fix race between dnshook and nc
2022-04-17 00:06:21 +02:00
Megamouse
184bd51b87
Qt: Add timestamp filter to log viewer
...
This is incredibly useful if you want to copy paste two logs into Meld for example
2022-04-16 20:49:50 +02:00
RipleyTom
895af3c3ab
sys_net: SYS_NET_ENETDOWN for offline dns rqsts ( #11822 )
2022-04-16 13:00:04 +01:00
Eladash
6783bcd273
Log a snippet of guest thread code at crash
2022-04-15 22:34:51 +03:00
Eladash
1d51f3af0c
RSX-Debugger: Implement backwards scrolling
...
* Use 2 points of known true RSX code roots and follow them in order to peek at the current section of valid RSX code:
These roots are: current RSX instruction address and the last targeted address by a branch instruction.
2022-04-15 22:34:51 +03:00
RipleyTom
26d8120168
sys_net fixes and extra logging
2022-04-15 19:43:23 +02:00
Megamouse
841f815be3
Qt: unify version displays
...
The only version that is different is the game window due to some formatting.
And the update message due to some logic that is better left unchanged.
2022-04-14 23:16:40 +02:00
RipleyTom
d6b0263144
sys_net fixes
...
Fix lv2_socket_p2ps::connect
Fix sys_net_bnet_poll
2022-04-14 09:18:58 +02:00
RipleyTom
91768c025c
Add some error handling to sys_usbd
2022-04-14 08:26:23 +02:00
kd-11
57aee92bfe
rsx: Separate guest flip timer from host timing operations
2022-04-13 23:39:01 +03:00
kd-11
89de1a8cf6
overlays: Fix frame timing
2022-04-13 23:39:01 +03:00
kd-11
60cbd7a88c
Automatically determine the epsilon value programatically
2022-04-13 15:48:28 +03:00
kd-11
2db68acab9
rsx: Implement Z value snapping to account for precision errors
2022-04-13 15:48:28 +03:00
RipleyTom
4d26535758
sys_net: bind & getsockname accuracy
2022-04-12 08:58:17 +02:00
Megamouse
5407e42b76
Qt: add last thread actions option to log viewer
2022-04-11 23:59:55 +02:00
Megamouse
8f02ea1d42
Qt: add show threads option to log viewer
2022-04-11 23:59:55 +02:00
Megamouse
3ed5a935fb
Qt: allow to filter the log viewer with log levels
2022-04-11 00:12:51 +02:00
Megamouse
f24b0c2ffe
Qt: Allow to filter the log multiple times
2022-04-11 00:12:51 +02:00
clienthax
127ad508b4
Add stubs.
2022-04-10 18:28:57 +02:00
RipleyTom
cbc067b490
Fix get_roomdata_external_list callback event id
2022-04-10 15:42:26 +02:00
RipleyTom
4087b4e6b9
sys_net: fix dns redirection
2022-04-10 15:12:33 +02:00
Eladash
c35da0085f
PARAM.SFO loader improvement
2022-04-10 14:31:13 +02:00
RipleyTom
f8ea50caae
sys_net: Fix return values being tagged as errors
2022-04-10 11:15:41 +02:00
Megamouse
20801615f3
cellOskDialogAbort: always send finished event
...
No idea if this is really correct, but it fixes the PS-Home OSK dialog freeze.
2022-04-10 08:38:36 +02:00
Megamouse
9279736fe6
cellOskDialog: fix cellOskDialogAbort error format
2022-04-10 08:38:36 +02:00
Megamouse
d84a0c6503
cellGameGetBootGameInfo
2022-04-10 08:38:36 +02:00
RipleyTom
8fb2d04ce8
rpcn: validate callbacks before queuing them
2022-04-10 00:23:32 +02:00
RipleyTom
c06cb4664a
Various sys_net improvements
...
Implement P2PS select
Adjust P2P sendto return value
2022-04-09 21:56:53 +02:00
Megamouse
039d19dacf
Patch manager: detailed message box for long logs
2022-04-09 21:26:06 +02:00
Megamouse
499fe3e218
Patch manager: add node location to patch errors
2022-04-09 21:26:06 +02:00
RipleyTom
855b23b3fe
re-add scope to sys_net_bnet_poll
2022-04-09 20:24:08 +03:00
RipleyTom
72b2876b6a
sys_net refactor ( #11740 )
2022-04-09 14:51:22 +02:00
Nekotekina
f4d0286109
Add SPU XFloat Accuracy combobox
2022-04-08 22:46:09 +03:00
Megamouse
544cec0434
revert cellSysutilAvc2Load
...
I think I mistook the subfunc for the main func
2022-04-08 20:07:58 +02:00
Megamouse
bcc097718f
cellSysutilAvc2 fixes
2022-04-08 20:07:58 +02:00
Megamouse
0dc176b4f1
cellSysutilAvc2EstimateMemoryContainerSize
2022-04-08 20:07:58 +02:00
Megamouse
47401cba1f
cellSysutilAvc2: more improvements
2022-04-08 20:07:58 +02:00
Megamouse
8a2826f3a9
cellSysutilAvc2SetWindowString: add strlen check
2022-04-08 20:07:58 +02:00
Megamouse
81f8ece236
cellSysutilAvc2InitParam: remove overzealous code.
...
The function is intended as a constructor, so it doesn't make sense to check struct members
2022-04-08 20:07:58 +02:00
Megamouse
3c2cf79675
cellSysutilAvc2: more stubs and errors
2022-04-08 20:07:58 +02:00
Megamouse
a841ba4084
cellSysutilAvc2: more constants
2022-04-08 20:07:58 +02:00
Megamouse
3024026d9e
cellSysutilAvc2: format some enums
...
Makes them more readable
2022-04-08 20:07:58 +02:00
Megamouse
fb03a3bf67
Qt: Implement simple filter in log viewer
2022-04-08 01:25:44 +02:00
kd-11
e53bbd668b
rsx: Fix surface cache scanning and removal
2022-04-05 14:07:05 +03:00
kd-11
fc05511354
rsx: Optimize software sampling further for the 6-tap kernel
2022-04-04 16:51:03 +03:00
kd-11
ca35a75a7d
rework weighting scheme
2022-04-04 16:51:03 +03:00
kd-11
15b7e4f05e
6-tap experiment
2022-04-04 16:51:03 +03:00
kd-11
49c84f099a
rsx/glsl: Fixup
2022-04-04 16:51:03 +03:00
kd-11
43b267ea51
glsl: Rewrite MS sampling implementation
2022-04-04 16:51:03 +03:00
kd-11
a8441b28e8
rsx: Implement basic 2D bilinear filtering for MSAA images
2022-04-04 16:51:03 +03:00
Megamouse
3002e592c3
gs_frame: remove unnecessary CallFromMainThread
...
Qt events should run on the main thread anyway.
2022-04-01 18:38:37 +02:00
Megamouse
4f12f8b04f
Qt: fix GracefulShutdown regression
...
By replacing Emu.Stop() with GracefulShutdown() in gs_frame::close(), the game window was now unknowingly closed recursively, causing RPCS3 to crash in some cases.
Let's just ignore any consecutive calls to close() from now on.
Also don't close the window internally on a close event. request a shutdown instead.
2022-04-01 18:38:37 +02:00
Megamouse
36e3939ec2
Emu: actually wait 5 seconds during GraceFulShutdown
2022-04-01 18:38:37 +02:00
Megamouse
c803bf1849
soundtouch: fix debug build
2022-04-01 02:24:27 +02:00
Megamouse
ee98f577e2
sceNpTrophyGetTrophyIcon: SCE_NP_TROPHY_ERROR_HIDDEN
...
And prevent some possible segfaults
2022-03-31 23:02:35 +02:00
kd-11
4a86638ce8
rsx: Avoid unnecessary memprotect syscalls
2022-03-29 12:35:32 +03:00
kd-11
e037b5c438
rsx: Handle in-place image swaps when locking data for WCB/WDB
...
- Rare, but possible if a surface address is switched from color to depth usage
- In such a case, deref the old image and ref the new one to avoid leaks
2022-03-29 12:35:32 +03:00
kd-11
f45343a345
rsx: Handle DMA block init where empty pages exist in the range
2022-03-29 12:35:32 +03:00
kd-11
94a7e52c1f
rsx: Disable ref count on exit
2022-03-28 19:55:34 +03:00
kd-11
2b42895bc7
rsx: Reduce log spam a bit
2022-03-28 19:55:34 +03:00
kd-11
d98d152d23
rsx: Fix leaking surface cache refs from texture cache
...
- Lock surfaces in use by texture cache to prevent complete deletion
- Remove discarded surfaces from the reprotect cache to avoid uaf
2022-03-28 19:55:34 +03:00
kd-11
b645a7faf5
vk: Rebuild swapchain in case of unexpected errors during present
2022-03-28 19:55:34 +03:00
kd-11
ffa841e7c1
vk: Force resolve explicitly for transfer operations
2022-03-28 19:55:34 +03:00
Nekotekina
98cee991ef
PPU: fix step execution after BP
2022-03-27 11:37:11 +03:00
Nekotekina
0a617a05d0
PPU: correct behaviour under external debugger
...
May require setting "Assume External Debugger" to true.
2022-03-26 23:09:20 +03:00
kd-11
e66d6a9399
Fix interpreter
2022-03-26 16:10:18 +03:00
kd-11
ef65c47592
vk: Restore UBO alignment
...
- NV requires some very large alignment thresholds
2022-03-26 16:10:18 +03:00
kd-11
1592ecdc55
rsx: Invalidate transform block on program change
...
- Since each program now does a remap of the outputs, we need to reupload the constants
- This is not a loss, constants are almost always changing between draw calls anyway
2022-03-26 16:10:18 +03:00
kd-11
96742852eb
Fix OGL
2022-03-26 16:10:18 +03:00
kd-11
de0e660d28
rsx: Handle vertex shaders with no constant references
...
- If no vc[] refs exist, do not upload anything!
2022-03-26 16:10:18 +03:00
kd-11
d057ffe80f
rsx: Fix program generation and compact referenced data blocks
2022-03-26 16:10:18 +03:00
kd-11
9a2d4fe46b
rsx: Relocatable transform constants
2022-03-26 16:10:18 +03:00
RipleyTom
a4d715e25d
Warning Fixes
2022-03-23 19:35:10 +01:00
kd-11
af0e1f609e
Fix vulkan compilation warnings
2022-03-23 11:26:06 +03:00
kd-11
1ab5b481ff
Fix ambiguous comparison operator warning
2022-03-23 11:26:06 +03:00
kd-11
26ee1246ae
rsx: Block size back down to 4MB
...
- 4M is a good compromise, a 720p surface occupies just under 4MB
2022-03-23 11:26:06 +03:00
kd-11
d0402332f7
rsx: Bump surface cache block size to 16M
2022-03-23 11:26:06 +03:00
kd-11
43c7417906
rsx: Rework ranged map
...
- Adds metadata lookup for intersecting range calculations
- Make fetch/put methods more explicit
2022-03-23 11:26:06 +03:00
kd-11
56540a55ec
Fix linux
2022-03-23 11:26:06 +03:00
kd-11
35ec4de776
rsx: Optimize surface store for faster scanning
2022-03-23 11:26:06 +03:00
Silent
c5748983f6
WolfSSL: Use a custom UTF-8 aware _stat on Windows
2022-03-21 15:47:27 +01:00
aliaspider
5797673daa
fix vfs::host::rename.
...
- resolve_path requires the path to be valid and can only be used before
the call to fs::rename, not after.
2022-03-21 08:49:01 +03:00
Megamouse
3972022fa2
evdev: improve latency
2022-03-20 04:27:06 +01:00
C.W. Betts
39201e5042
Fix macdeployqt.
...
This is based off of the instructions found here: https://riptutorial.com/qt/example/24133/integrating-with-cmake
2022-03-18 13:19:36 +01:00
Megamouse
ff34a73fbd
cellSaveData: CELL_SAVEDATA_FOCUSPOS_NEWDATA
...
Untested, but focus position is clamped anyway.
2022-03-18 08:09:50 +01:00
Megamouse
539ac32806
Decrease log spam in case that per core cpu usage cannot be queried
2022-03-18 01:47:23 +01:00
Megamouse
7a86cffd0a
Revert writable folder check
...
This doesn't seem to work as intended
2022-03-18 00:33:52 +01:00
kd-11
bc7ed8eaab
rsx/vk: Rework MSAA implementation
2022-03-17 22:02:20 +03:00
Megamouse
9c5ed01130
Add rpcs3 location checks to main
...
Don't allow running RPCS3 from temp dirs.
Abort if the folder has no write permissions.
2022-03-17 18:59:38 +01:00
Megamouse
e58906cb4d
cpu_stats: fmt::win_error_to_string
2022-03-16 22:20:23 +01:00
Megamouse
04df392866
Log cpu usage periodically
2022-03-16 19:42:06 +01:00
nastys
ce7b1576e0
Low Power Mode detection
...
Change low to reduced
Low Power Mode detection
Fix namespace space
Low Power Mode detection
Fix namespace space
Low Power Mode detection
2022-03-14 08:28:02 +01:00
Megamouse
686d2759f4
cellMic: remove cellMicRead error spam
2022-03-12 20:48:36 +01:00
kd-11
78b8bd80e4
rsx: Unconditionally set MSAA flags if MSAA is active
2022-03-11 01:15:13 +03:00
kd-11
1943d9819f
rsx: Clean up surface cache routines around RTT invalidate
2022-03-10 20:43:58 +03:00
NicknineTheEagle
1670769119
Use simpler C00 unlock EDAT check in GUI
2022-03-09 22:39:30 +03:00
kd-11
59a0cf94ab
rsx: Fix msvc build
2022-03-08 22:06:26 +03:00
kd-11
3e4faf602a
rsx: Fix clang build
2022-03-08 22:06:26 +03:00
kd-11
454a724f4e
rsx: Reduce the performance impact of enabling the profiling timer
...
- Just use TSC if available
2022-03-08 22:06:26 +03:00
kd-11
cfecbb24ca
rsx: Avoid calling slow functions every draw call
...
- Use TSC for timing where interval duration matters.
- Use atomic counter for ordering timestamps otherwise.
2022-03-08 22:06:26 +03:00
kd-11
762b594927
rsx: Fully process texture if surface cache configuration changed
2022-03-08 22:06:26 +03:00
kd-11
8d3d290e33
rsx: Fix build
2022-03-08 22:06:26 +03:00
kd-11
0df903090d
rsx: Optimize metrics a bit
...
- For some reason this has a massive impact on performance above some arbitrary threshold of calls
Shows up under surface_cache::get_merged_memory_region when doing gathers.
2022-03-08 22:06:26 +03:00
kd-11
6812fa4764
rsx: Fix surface write coherency when MSAA is active
2022-03-08 22:06:26 +03:00
Megamouse
cd97d74f0f
cellMusic/Decode: add SelectContents functions
2022-03-08 09:02:59 +01:00
Megamouse
00f6763228
cellMusic: fix qt music handler resume
2022-03-06 12:57:38 +01:00
Megamouse
aafd74f9ea
cellMusicDecode: initial implementation
...
Implements the basic functionality of cellMusicDecode.
Works with Space Invaders (if you add the list selection from the other PR).
Probably fixes SSX custom music.
2022-03-05 18:34:27 +01:00
Megamouse
e33b130606
Fix some enumeration warnings
2022-03-03 08:25:46 +01:00
Megamouse
15e74357cf
cellMusic: implement qt music handler
2022-03-03 08:25:46 +01:00
kd-11
0dbfe314a3
vk: Encode image type when caching resources
2022-03-01 21:51:55 +03:00
kd-11
00a1864a95
Revert "rsx: Downgrade depth-1 3D images to 2D ( #11593 )"
...
This reverts commit 6c096b72b5 .
2022-03-01 21:51:55 +03:00
kd-11
6c096b72b5
rsx: Downgrade depth-1 3D images to 2D ( #11593 )
...
- Fixes problems with implicit view types derived from dimensions.
2022-03-01 10:45:50 +03:00
Ani
a8e62e1bc1
rpcs3_version: Bump to 0.0.21
2022-03-01 00:29:49 +01:00
Megamouse
42aa8f263a
Qt: store pad settings state and remove max size
2022-02-28 08:19:13 +01:00
nastys
af95ff5f8b
Round macOS icon
2022-02-27 11:16:50 +01:00
nastys
f0093375b8
Set min macOS version to 11.6
2022-02-27 11:16:50 +01:00
kd-11
e035000864
vk: Do not enable passthrough DMA unconditionally (yet)
...
- There are still some kinks to work out. Host labels do not fix all the bugs which means I missed something.
2022-02-26 10:28:46 +03:00
kd-11
6db5d83615
Flush dma offloader on texture read sema
2022-02-25 10:53:55 +03:00
Eladash
86a04a867b
Qt: show time of day in 'last played' game info, log current time when RPCS3 boots ( #11220 )
2022-02-23 23:40:18 +01:00
kd-11
f3823232e0
Disable passthrough DMA for proprietary intel driver
2022-02-23 21:15:08 +03:00
kd-11
6b8b23c401
vk: Drain the label queue before using the CPU fallback to avoid out-of-order signals
...
- This avoids crashes in some game engines which expect RSX semaphores to signal in the order they are submitted.
2022-02-23 12:57:04 +03:00
kd-11
6fd2a9b677
rsx: Remove leftover dprints
2022-02-23 12:57:04 +03:00
kd-11
da559b5568
vk/rsx: Tuning and optimization for host labels
2022-02-23 12:57:04 +03:00
kd-11
24587ab459
rsx: Add the option to the advanced tab
2022-02-23 12:57:04 +03:00
kd-11
c7e49b58a8
rsx: Implement host GPU sync labels
2022-02-23 12:57:04 +03:00
Megamouse
c5680c29bd
Qt: set organization name
2022-02-22 14:19:29 +01:00
Megamouse
1144121d08
shortcuts: add some logging, fix shortcut path
2022-02-22 14:19:29 +01:00
Megamouse
fa6736e69d
update_manager: add some logging
2022-02-22 14:19:29 +01:00
kd-11
10e6b43a2f
Drop redundant declaration
2022-02-21 23:58:01 +03:00
kd-11
0809e7cf9f
Fix build
2022-02-21 23:58:01 +03:00
kd-11
12fd43e1c6
vk: Remove unused variables
2022-02-21 23:58:01 +03:00
kd-11
397a795e75
vk: Remove hardcoded command buffer list length
2022-02-21 23:58:01 +03:00
kd-11
1f9ade0ab6
vk: Remove pointless function (VKGSRender::open_command_buffer)
...
A relic of the past, back before we wrote wrappers for raw handles.
2022-02-21 23:58:01 +03:00
kd-11
83407c386c
vk: Move renderer types to a separate file
...
- Makes my life easier managing conflicts
2022-02-21 23:58:01 +03:00
kd-11
b791d90b35
vk: Rewrite command buffer chains
2022-02-21 23:58:01 +03:00
nastys
574e934bf3
macOS: Implement shortcuts
2022-02-21 19:11:52 +01:00
nastys
b57ea3a229
Fix macOS builds
2022-02-21 19:11:52 +01:00
Megamouse
771f3c49e5
windows: fix windows shortcut paths
2022-02-21 01:14:53 +01:00
Megamouse
13e1305a76
linux: fix shortcut icon aspect ratio
2022-02-21 01:14:53 +01:00
Megamouse
9214df482e
Unbreak macOS builds
2022-02-20 21:06:46 +01:00
Megamouse
b1a9e87ecf
cellSearch: fix cellSearchStartListSearch
...
Fixes listing BGM in Gundam.
The returned content was always empty.
Playback of the tracks will still require a MusicSelectionContext and cellMusic playback, which isn't implemented yet.
2022-02-20 21:06:46 +01:00
Megamouse
0a34403ef8
Qt: create rpcs3 shortcuts
2022-02-20 13:23:27 +01:00
Megamouse
e5bb0ba004
Qt: properly hide metal sempahore if not apple
2022-02-20 13:23:27 +01:00
Megamouse
2147fe479c
cellSearch: more logging
2022-02-20 12:29:37 +01:00
Megamouse
93e7988df7
rsx: add boost mode shortcut
2022-02-20 11:56:11 +01:00
nastys
7801e8368b
Add MoltenVK Semaphore setting
2022-02-20 08:47:16 +01:00
Megamouse
91d7f28c67
cellSearch: log audio and video metadata
2022-02-19 14:27:47 +01:00
Megamouse
8171c7766c
cellSearch: silence irrelevant log error
2022-02-19 14:27:47 +01:00
Megamouse
3f69ceac40
cellMusic: fix cellMusicSetVolume log messages
2022-02-19 14:27:47 +01:00
Megamouse
4be9e0d396
RSX: Fix rsx capture stop
...
RSX captures froze on stop, at least with Vulkan.
2022-02-16 19:50:57 +01:00
RipleyTom
6bd8a93ff4
Fixes some unchecked derefs in sceNp logging
2022-02-16 17:08:58 +01:00
Eladash
e39797d860
Fix sys_fs_close FD state logging
2022-02-16 18:09:13 +03:00
kd-11
254ddcad51
vk/dma: Initialize COW DMA block contents to avoid leaks
...
- It is possible to lose data when uploading since the result of map_dma can change types and handles.
- Consider sync-on-exit for inherited spans
Not a problem when using passthrough DMA, but this extension does not work properly on NVIDIA + windows
2022-02-16 16:33:27 +03:00
Eladash
fd6c33980b
cellSaveData: Check filename format of savedata files ( #11502 )
2022-02-14 22:03:40 +03:00
kd-11
2d5d5746d1
gl: Harmonize format conversion values
...
- Return values that are true to the PS3, not the host.
2022-02-13 15:31:39 +03:00
kd-11
314b63eebf
vk: Drop unused native format ABGR8
2022-02-13 15:31:39 +03:00
kd-11
f382d54e9a
gl: Remove pointless assert
2022-02-13 15:31:39 +03:00
kd-11
9581e4ff98
qt: Add translation resources
2022-02-13 14:39:42 +03:00
kd-11
b7a57ac4b0
qt: Update tooltips
2022-02-13 14:39:42 +03:00
kd-11
df5295ae85
vk: Per work-queue scratch resources
...
- Avoids parallel tasks from trampling over each other's data
2022-02-13 14:39:42 +03:00
kd-11
c8ad8b18bb
vk: Ignore queue transfer stuff when using 'fast' mode
2022-02-13 14:39:42 +03:00
kd-11
44cc254620
Fix linux build
2022-02-13 14:39:42 +03:00
kd-11
cef512a123
vk: Spec-compliant async compute
2022-02-13 14:39:42 +03:00
Megamouse
7895d43a98
Terminate headless rpcs3 if nothing was booted
2022-02-12 12:46:07 +01:00
Megamouse
d6597038ee
Input: multithreaded handlers
...
Implements naive multithreading for input handlers.
2022-02-10 20:38:11 +01:00
kd-11
ec3e8de780
rsx: End the current frame before performing cache cleanup to release in-flight data
2022-02-10 22:20:56 +03:00
kd-11
f667b52cca
vk: Rewrite resource management
2022-02-10 22:20:56 +03:00
kd-11
48b54131f6
vk: Fix up multiple resource allocation routines
...
- Originally part of async bringup. Imported to allow smoother transition.
2022-02-10 22:20:56 +03:00
Megamouse
d172b9add6
Rename CallAfter to CallFromMainThread
2022-02-07 19:42:08 +01:00
kd-11
2d9f21a2ea
rsx: Lower performance warnings to 'warn' level instead of 'error' level to avoid causing panic for users
2022-02-07 09:25:01 +03:00
kd-11
247759b75b
rsx: Fix memory tagging and add some security checks
2022-02-07 09:25:01 +03:00
RipleyTom
987166f4da
Fix IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP
2022-02-06 20:37:12 +01:00
kd-11
90d368ae30
vk: Speed up cached image search a bit
2022-02-06 15:49:50 +03:00
kd-11
a2d33a7d76
vk: Fix WCB crash
2022-02-06 15:49:50 +03:00
kd-11
51f9310b9f
vk: Silence compiler warnings
2022-02-06 15:49:50 +03:00
kd-11
dca3d477c9
vk: Use image hot-cache for faster allocation times
...
- Creating new images is expensive.
- We can keep around a set of images that have been recently discarded and use them instead of creating new ones from scratch each time.
2022-02-06 15:49:50 +03:00
Megamouse
02cdf8ac63
Qt: save settings dialog window state
2022-02-06 13:02:16 +01:00
nastys
6b370e85d5
Add overlay animations
2022-02-06 12:26:34 +01:00
Megamouse
05e80aad90
Qt: make patch manager dialog resizable
2022-02-06 00:09:27 +01:00
Megamouse
4ad255b8e0
Qt: make about dialog resizable
2022-02-06 00:09:27 +01:00
Megamouse
09a60cdefa
Qt: add scrollbar to settings dialog
2022-02-06 00:09:27 +01:00
Megamouse
eacf5a3813
Qt: adjust wording for updates
2022-02-05 12:22:54 +01:00
Eladash
e951c619c5
Implement Emulator::GracefulShutdown()
2022-02-05 11:49:29 +01:00
RipleyTom
6c5b8dc31c
rpcn: add cookie impl to tickets
2022-02-03 13:25:15 +01:00
Megamouse
fd0e7a4efa
Qt: fix compat download abort
2022-02-01 21:21:42 +01:00
Megamouse
a4c4548c3a
input: add enumeration threads for each hid_pad_handler
...
There was a roughly 60 ms lag for each hid handler every 2 seconds. (sucks if you use all 3 hid handlers)
2022-02-01 19:28:04 +01:00
Megamouse
8efc29972d
input: add missing nullptr checks for pad
2022-02-01 19:28:04 +01:00
Vestral
7977fbb9c5
Audio: prevent click at play/pause
...
Cubeb uses internal rate resampler and it's not being flushed during call to stream_stop.
This results in noticeable click when emulator is unpaused.
Reset last sample buffer on pause for all backends.
2022-01-31 21:20:57 +01:00
Vestral
681bab558b
XAudio: fix deinitialization order
2022-01-31 21:20:57 +01:00
Vestral
107107107c
SoundTouch resampler integration
2022-01-31 21:20:57 +01:00
Hyogi Sim
3a804674c9
Fix linkage error on debug build with clang-13
...
Debug build with clang-13 fails with "undefined references" to the
static const members in spu_channel class. This patch replaces the const
definitions with constexpr constants.
2022-01-31 17:05:18 +03:00
Malcolm Jestadt
91673f8fdc
SPU LLVM: Add relaxed xfloat option
...
- This new setting is on by default
- It's active when approximate default is disabled
- Approximate xfloat is now exposed to the gui
2022-01-31 08:02:48 +03:00
kd-11
86919ec0e1
rsx: Validate requested images before attempting to upload them
...
- Do not allow dimensions of 0 to reach the backend APIs
2022-01-30 14:58:51 +03:00
kd-11
0e320d17c1
vk: Fix 'grow' behavior when we reach the size limit
...
- Just swap out the current heap ptr and spawn a fresh one. Chances are, we can spare 1GB of host memory.
2022-01-30 10:56:15 +03:00
kd-11
d063f0b335
vk: Fix working buffer calculation for emulated D16F operations
2022-01-30 10:56:15 +03:00
Eladash
781b2b4548
Implement fs::isfile ( #11447 )
2022-01-29 22:10:48 +03:00
Nekotekina
16aae4eb77
Fixup creating image path
2022-01-26 15:46:16 +03:00
Nekotekina
3a1082fe0d
Fix overlays::image_info constructor
2022-01-26 15:46:16 +03:00
Nekotekina
dba2baba9c
Implement utils::memory_map_fd (partial)
...
Improve JIT profiling dump format (data + name, mmap)
Improve objdump interception util (better speed, fix bugs)
Rename spu_ubertrampoline to __ub+number
2022-01-26 15:46:16 +03:00
kd-11
ffe00e8619
gl: Clean up format bitcast checks and register D32F type for FORMAT_CLASS16F
...
- Also hides a dangerous export for vulkan, same as GL
2022-01-26 12:08:36 +03:00
kd-11
3fa45ff994
Fix missing typeless info update
2022-01-26 12:08:36 +03:00
Eladash
73ff506b88
overlay_controls.cpp: Improve image_info ctor withstandability
2022-01-26 10:35:52 +03:00
kd-11
3a1676e558
vk: Fix float16 requirement issue
2022-01-25 21:34:21 +03:00
Nekotekina
0db9850a73
Add loop building utilities for ASMJIT
...
Refactor copy_data_swap_u32 a bit
2022-01-25 03:16:37 +03:00
Nekotekina
11ee1f3eb2
Improve JIT profiling on Linux
...
Add JIT object dumping functionality.
Add source for objdump interception utility.
2022-01-25 03:16:37 +03:00
Nekotekina
14951d8713
Fix abuse of fs::pending_file
...
Debug dumps don't fall into category which needs atomic rewrite.
2022-01-24 22:39:01 +03:00
Nekotekina
065ee621b8
Call avcodec_register_all in case of old ffmpeg
...
Apparently it's still possible to break without it.
2022-01-24 22:39:01 +03:00
Nekotekina
12c83b340d
Remove built_function
...
With today's branch prediction techniques, it's hardly useful.
2022-01-24 22:21:41 +03:00
nastys
d2897bc6a0
macOS: Fix DS3 init on Monterey
2022-01-24 20:16:57 +01:00
kd-11
5920372929
qt: Encourage users to use better ZCULL synchronization options
...
- From looking at logs, users are not actually changing ZCULL settings because they do not realize how slow 'Precise' mode is.
By marking precise as the 'slowest' mode, we can get the message across that better options exist.
- Also updates the tooltips with more useful information.
2022-01-24 19:14:27 +03:00
kd-11
1fa82eec89
vk: Rework format feature validation
...
- Requirements have changed a lot over the years. We no longer blit Z formats around for example because they never support linear filtering
- Removing some unused requirements allows more hardware to be usable
2022-01-24 19:14:27 +03:00
RipleyTom
8c2fd50957
Add a QGroupBox in RPCN password window
2022-01-23 11:04:18 +01:00
kd-11
2f7d38bb81
rsx: Improve coverage checking logic to handle 3D and cubemap resources
2022-01-23 00:03:03 +03:00
kd-11
4f8b5849b7
rsx: Take depth into account when calculating coverage
2022-01-23 00:03:03 +03:00
kd-11
7f216f2581
rsx: Fix local slice height calculation
2022-01-23 00:03:03 +03:00
kd-11
6ffd38c393
vk: Only enable DCC workaround if the format features allow it
2022-01-22 13:16:48 +03:00
nastys
801e7f3c2f
macOS: Implement texture swizzling for 16-bit formats
2022-01-22 00:17:17 +01:00
nastys
c7140df5f8
Initial support for Apple GPUs
2022-01-22 00:17:17 +01:00
nastys
6b5f0957ce
Disable macOS swizzling workaround
2022-01-22 00:17:17 +01:00
Jan Beich
f2ed50e6b0
cellVdec: constify AVInputFormat for ffmpeg >= 5.0
...
rpcs3/Emu/Cell/Modules/cellAdec.cpp:326:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
input_format = av_find_input_format("oma");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:332:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
input_format = av_find_input_format("mp3");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Jan Beich
511ca82e30
cellAVdec: constify AVCodec for ffmpeg >= 5.0
...
rpcs3/Emu/Cell/Modules/cellAdec.cpp:325:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_ATRAC3P);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:331:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:143:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MPEG2VIDEO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:148:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_H264);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:153:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MPEG4);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Nekotekina
00274bb4da
PPU: port FP convert instructions to Aarch64
2022-01-21 16:07:48 +03:00
Nekotekina
a4d94a83b9
PPU/simd.hpp: minor changes in DP instructions
2022-01-21 13:57:46 +03:00
Nekotekina
0de9960772
PPU: rewrite MFOCRF+MFCR instructions
2022-01-21 12:49:52 +03:00
Nekotekina
aa7c9dd15d
PPU: rewrite LVSL/LVSR instructions
...
Make the tables endian-agnostic.
2022-01-21 00:05:40 +03:00
Nekotekina
628354ba92
Use global variable in gv_zeroupper
2022-01-20 21:16:00 +03:00
Nekotekina
17b1a34ebf
PPU: rewrite LVLX/LVRX/STVLX/STVRX instructions
2022-01-20 21:16:00 +03:00
Nekotekina
349f251d14
PPU LLVM: use masked stores for STVLX/STVRX
...
Drop maskmove intrinsic, not portable.
Its implicit NT hint may also hurt performance.
2022-01-20 21:16:00 +03:00
kd-11
3942a464fe
vk: Avoid leaking descriptor copies
2022-01-20 19:21:24 +03:00
kd-11
2331dc3256
vk: Keep the total number of allocated samplers under control
2022-01-20 19:21:24 +03:00
Nekotekina
8c3fb3998c
PPU: fix crash on SSE41 CPU in internal builder
2022-01-20 14:42:58 +03:00
Nekotekina
327c577024
PPU: print internal interpreter build error
2022-01-20 14:42:58 +03:00
Nekotekina
d572d90bb7
PPU: fixup for old CPU
...
Abort building interpreter function when out of registers.
2022-01-20 08:31:08 +03:00
Nekotekina
b42fae0989
PPU: refactor shift and splat instructions
...
Fix utils::rol32/64 functions.
Fix immediate clamping in splat instructions.
Other fixes.
2022-01-19 23:01:31 +03:00
Megamouse
d92008abe4
Qt: fix RestoreDefaults crash
...
For some reason rpcs3 crashes when I restore the defaults of multiple configs one after another in the settings dialog.
Using the other signal seems to work.
I don't wanna investigate this nonsense though, so I'll just accept the fix as is.
2022-01-19 20:41:05 +01:00
Megamouse
484a3e6824
Qt: check for patch updates
2022-01-18 20:24:31 +01:00
Nekotekina
08b02efc6c
ARM: don't calibrate TSC, use cntfrq_el0 info
2022-01-18 04:21:42 +03:00
Nekotekina
4728478247
PPU: improve interpreter codegen
...
Implement more sensible check for EVEX prefix and SSE
2022-01-18 04:20:06 +03:00
Nekotekina
4704367382
Remove unnecessary asmjit::imm_ptr
2022-01-18 00:10:32 +03:00
Nekotekina
14cca55b50
PPU: refactor vector rounding instructions
...
Fix: nearbyint -> roundeven
2022-01-18 00:10:32 +03:00
Nekotekina
248f9424ac
PPU: refactor VPack instructions
2022-01-18 00:10:19 +03:00
Nekotekina
b404d37eb0
PPU: more interpreter refactoring (VPERM)
...
Notably, runtime-built SSSE3 version of VPERM.
Some other instructions are refactored and vectorized.
Aarch64 impl of multiple instructions including VPERM.
2022-01-18 00:10:19 +03:00
Nekotekina
14170afe8a
Fix PPU decoder settings dialog
2022-01-18 00:10:19 +03:00
RipleyTom
58fdf58150
Force close socket in sys_net_bnet_close
2022-01-17 21:27:20 +01:00
kd-11
000ec71629
Fix invalid descriptor setup if subdraw0 has broken vertex setup
2022-01-17 12:38:10 +03:00
kd-11
3e794e7fdb
rsx: Optimize 8-bit rounding logic a bit
...
- NV hw does not like the raw use of round()
2022-01-17 10:28:23 +03:00
kd-11
c38ca21a81
rsx: Round up 8-bit ROP output on NVIDIA cards
...
- NV GPUs have a tendancy to be off by a very small margin, breaking rendering when greaterThan/lessThan checks are used.
- NOTE: Currently this setting is using the sRGB flag which indicates 8-bit output.
Only one game is currently known to care about this behaviour so this is good enough for now.
2022-01-17 10:28:23 +03:00
kd-11
f923eaf09a
rsx: Surface format remapping enhancements
2022-01-17 10:28:23 +03:00
Nekotekina
5b980b99a0
PPU: Rename new ppu_use_nj_bit setting to flip it back
...
Some mistakes were made.
2022-01-16 01:34:47 +03:00
Nekotekina
22240777aa
PPU Interpreter: fix accuracy flag dispatch
2022-01-16 01:00:37 +03:00
Nekotekina
f95395b351
PPU LLVM: improve accuracy of VSL/VSR
...
Passes tests, should now be equal to interpreter.
2022-01-15 21:13:31 +03:00
Nekotekina
df24cff0b1
PPU LLVM: fix VMINFP and VMAXFP accuracy
...
PPU cache needs to be cleared.
2022-01-15 17:36:57 +03:00
Nekotekina
6dda047128
PPU LLVM: fix VNMSUBFP sign handling
...
PPU cache needs to be cleared.
2022-01-15 17:36:57 +03:00
Nekotekina
e9efa73eed
PPU: restore previous NJ mode handling option
...
Fix the divergence between PPU Interpreter and LLVM.
2022-01-15 17:36:57 +03:00
Megamouse
1c0b3fc7e0
Qt: Fix accurateXFloat enabled state in settings dialog
2022-01-15 13:48:03 +01:00
Nekotekina
580bd2b25e
Initial Linux Aarch64 support
...
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
* (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog
2022-01-15 06:48:04 +03:00
kd-11
d6aa834b5f
vk: Enable shading rate hack for all GPUs
...
- This is a hack, ideally we should be using coverage-based masking when writing the exploded texture.
- We do not have access to the fragment coverage mask and it is non-trivial to integrate it in a competent manner.
2022-01-14 10:21:38 +03:00
MSuih
f526027778
Revert recent file system changes ( #11370 )
...
* Revert "FS: use std::filesystem::u8path"
This reverts commit cd016be86e .
* Revert "VFS: fix missing path deliminators"
This reverts commit 84753db574 .
* Revert "Bugfix of Emulator::Load disc path searching"
This reverts commit b9179de288 .
* Revert "fs: Reimplement path resolving using std::filesystem::weakly_canonical"
This reverts commit 0c4b2ff06b .
2022-01-13 07:24:04 +03:00
Malik Idrees Hasan Khan
949e93bec7
Fix typos ( #11361 )
2022-01-12 23:21:02 +01:00
Megamouse
84753db574
VFS: fix missing path deliminators
2022-01-13 00:07:25 +03:00
Eladash
ef0bee9228
aes.cpp: Use secured memory resetting
2022-01-12 03:37:39 +03:00
Eladash
a60cee6536
Update PPUTranslator::MTFSFI for its intention to be clearer
2022-01-12 03:37:39 +03:00
Eladash
108846055b
shared_ptr.cpp: Remove std::swap specialization
2022-01-12 03:37:39 +03:00
Eladash
b9179de288
Bugfix of Emulator::Load disc path searching
...
Turns out fs::file does not always fail when provding a path to a directory.
2022-01-12 03:37:39 +03:00
Eladash
0c4b2ff06b
fs: Reimplement path resolving using std::filesystem::weakly_canonical
2022-01-12 03:37:39 +03:00
Silent
8c9090fd03
WolfSSL: Use a custom UTF-8 aware fopen on Windows
...
Fixes loading cacert.pem from Unicode directories
2022-01-12 03:35:15 +03:00
nastys
ef66b002e0
Implement proper macOS version check ( #11352 )
2022-01-11 23:17:26 +01:00
nastys
37f24d8c1c
Log maxfiles to file and stderr on *NIX
2022-01-11 08:05:17 +03:00
nastys
3571e6ef85
macOS: Set correct maxfiles (fixes shader cache and SPU LLVM)
2022-01-11 08:05:17 +03:00
nastys
ed542b2cb4
macOS: Fix arrow keys
2022-01-10 22:54:06 +01:00
nastys
09700360f7
macOS: Warn if Vulkan is not supported
2022-01-10 19:18:49 +03:00
nastys
29a6db8960
Disable OpenGL on macOS
2022-01-10 19:18:49 +03:00
kd-11
6d737e61fd
rsx: Use 32 bit integers for pitch
...
- RSX max pitch = 65536 which requires 17 bits
2022-01-10 12:27:30 +03:00
kd-11
d874ca5d8c
cellGame: Fall back to VERSION field if APP_VER is missing from PARAM.SFO
2022-01-10 12:27:30 +03:00
Vestrel
1adc408ad7
More sys_uart packets ( #11332 )
...
* Additional sys_uart packets added
2022-01-10 03:43:54 +03:00
kd-11
83026fd263
rsx: use coverage ratio to determine when too much data is overlapping
2022-01-07 22:55:27 +03:00
kd-11
92824b6729
rsx: Rework invalidation tagging
2022-01-07 22:55:27 +03:00
kd-11
7563655221
rsx: Bump surface removal threshold values
...
- It is much slower to attempt surface removal than to render duplicates on the host GPU
2022-01-07 22:55:27 +03:00
kd-11
6889b48973
rsx: Add optimized version of section removal code
2022-01-07 22:55:27 +03:00
Vestral
9766d87126
cellAudio: fix enqueued samples computation
2022-01-07 09:48:51 +01:00
Eladash
bba528e2ae
rsx: Fix wrong fault report in initialization ( #11323 )
...
* rsx: Fix wrong fault report in initialization
* Ensure emu.isstopped() == true at RPCS3 startup
Based on zero initialization.
2022-01-05 20:41:01 +03:00
clienthax
350257e1a4
Fcntl 0xc0000007, 0xc0000015, 0xc000001c
2022-01-04 22:47:06 +03:00
Florin9doi
0e07d3c58f
USB: Improve SingStar emulation
2022-01-04 18:03:23 +01:00
陈俊嘉
20cc2d7267
Add multi-config generator build support for Windows.
2022-01-02 23:59:54 +01:00
Malcolm Jestadt
31a5a77ae5
SPU: Use REP MOVSB in do_dma_transfer
...
- Try to use REP MOVSB when the size of the transfer is above a certain threshold
- This threshold is determined by the ERMS and FSRM cpuid flags
- The threshold values are (roughly) taken from GLIBC
- A threshold of 0xFFFFFFFF indicates that the cpu has neither flag
2022-01-02 21:35:46 +03:00
Megamouse
1c014299eb
HLE: fix some types
2022-01-02 18:18:31 +03:00
kd-11
7c47b0029c
gl: Fully drop alignment restriction for compressed textures
...
- This is just not part of spec, there is no enforcement for multiple of block size for width or height of s3tc compressed images.
- This restriction does indeed exist for ASTC and ETC but we're not using those formats.
2022-01-02 14:29:38 +03:00
Ani
61d9852632
rpcs3_version: Bump to 0.0.20 ( #11318 )
2022-01-01 00:32:14 +00:00
Nekotekina
cb2748ae08
Update ASMJIT (new upstream API)
2021-12-29 02:45:00 +03:00
Alex James
900d7df40f
GDB: Rework to_hex/hex_to functions
...
macOS defines uint64 as an alias of unsigned long long. Drop the length
modifiers to resolve the warning on macOS:
rpcs3/rpcs3/Emu/GDB.cpp:107:37: warning: format specifies type 'unsigned long *' but the argument has type 'u64 *' (aka 'unsigned long long *') [-Wformat]
sscanf_s(val.c_str(), "%" HEX_U64, &result);
~~~~~~~~~~ ^~~~~~~
Also use std::from_chars to implement hex_to_{u8,u32,u64} instead of
sscanf.
2021-12-28 02:02:44 +03:00
clienthax
6837370a62
Handle SYS_NET_IPPROTO_IP get/setsockopt
...
Improve net logging.
Should allow latest vsh to load (Depending on windows version apparantly..)
2021-12-27 20:58:09 +03:00
Nekotekina
d836033212
LLVM: enable some JIT events (Intel, Perf)
...
Made some related adjustments.
Currently incomplete.
2021-12-26 16:41:37 +03:00
Nekotekina
510041a873
rsx_methods.cpp: optimize compile time (120s to 10s)
...
Untemplate NV308A_COLOR
2021-12-26 14:40:21 +03:00
Nekotekina
8b4b6ba946
copy_data_swap_u32: build AVX-512 path
2021-12-26 14:40:21 +03:00
Nekotekina
599e00d6da
BufferUtils: remove dead code (vertex streaming)
...
RIP. It won't be useful.
2021-12-26 14:40:21 +03:00
Nekotekina
3cd8891ab8
Re-refactor copy_data_swap_u32 again
...
Drop AVX2 path for now, since it usually operates on small data.
Rely on automatic SSE vectorization on recent compilers.
Side refactoring on JIT.h to workaround weird conflict issue.
2021-12-26 14:40:21 +03:00
kd-11
a9303acfdf
rsx: Fix zclip w scaling
2021-12-26 12:50:31 +03:00
Eladash
6ee9d0f35f
sys_rsx: Outlaw mapping sys_vm memory to RSX IO address-space
2021-12-25 02:22:49 +03:00
nastys
a0040e6fb1
macOS: Implement texture converter for Metal (2) ( #11289 )
...
* macOS: Implement texture converter for Metal (2)
* Fix texture conversion formatting
2021-12-24 15:46:37 +03:00
kd-11
28d7af313b
rsx: Remove noisy debug print
2021-12-24 15:13:33 +03:00
kd-11
39ef39aa4e
rsx: Exercise caution when testing for overlaps in invalidated sections
2021-12-24 15:13:33 +03:00
kd-11
56dd09f4fe
rsx: Handle floating point shenanigans
...
- If near and far clip are too close together, the API will not distinguish between them leading to out of bounds values
2021-12-22 22:08:53 +03:00
kd-11
de495952fd
rsx: Enable fallback for devices without wide integer Z buffers
2021-12-22 22:08:53 +03:00
kd-11
1ce5349199
rsx: Remove zclip hackery
...
- Calculates precise Z value as requested by the game
- Works properly if the underlying Z format matches the PS3 1:1 but may cause minor problems otherwise
2021-12-22 22:08:53 +03:00
Nekotekina
dcd011048d
Implement "built_function" utility (runtime-generated assembly)
...
Similar to build_function_asm, but links without indirection.
Achieved by emitting code directly into a byte array.
2021-12-22 19:27:20 +03:00
Nekotekina
12e3c9e08b
Use PAUSE in vk::query_pool_manager::get_query_result
2021-12-21 23:28:09 +03:00
Nekotekina
262ff01619
Use aligned stores in write_index_array_data_to_buffer
...
Ensure that target buffer is cache line aligned.
Improve stx::make_single to support alignment.
2021-12-21 23:28:09 +03:00
Nekotekina
76ccaf5e6f
BufferUtils: refactoring
...
Optimize CPU capability tests for arch-tuned builds.
Separate streaming and non-streaming utilities.
Rewritten copy_data_swap_u32(_cmp) with AVX2 path.
2021-12-21 23:28:09 +03:00
nastys
47e4a95d8f
Fix remap_vector redefinition on macOS ( #11271 )
2021-12-21 10:36:09 +01:00
Nekotekina
c0bafbc804
TSX: enable same data optimization for PUTLLC
2021-12-19 20:23:01 +03:00
Nekotekina
61c64d1060
TSX: refactoring M
...
Remove first stage 'optimistic' transactions.
2021-12-19 20:23:01 +03:00
Nekotekina
3e1e1a683c
TSX/PPU: fix conditional store regression
2021-12-17 21:48:01 +03:00
Megamouse
18f59d3be8
Input: fix min stick input of keyboard pad handler
2021-12-17 17:21:44 +01:00
Megamouse
bf739aa156
Input: implement stick multipliers for keyboard
2021-12-17 17:21:44 +01:00
RipleyTom
43b7d1fe98
Add missing virtual destructors to some base class
2021-12-15 18:05:55 +03:00
Megamouse
cc21d1b3cf
cellSaveData: prevent some potential crashes due to corrupt files
2021-12-14 20:30:47 +01:00
nastys
08333e0876
macOS moltenVK support and SIGBUS handling ( #11252 )
2021-12-12 21:35:56 +01:00
Malcolm Jestadt
2f93df480b
SPU LLVM: Disable affineqb shufb paths temporarilly
2021-12-10 19:32:10 +03:00
Megamouse
56fe450959
Qt: fix screenshot path creation
2021-12-10 17:27:52 +01:00
clienthax
6f9adbd162
Debug SPRX check
2021-12-10 14:23:26 +01:00
Megamouse
f48c535802
cellAudio: Recover XAudio on failed initialization
2021-12-09 01:46:44 +01:00
Megamouse
5f7e5a9844
cellAudio: relax FAudio error handling
2021-12-09 01:46:44 +01:00
Megamouse
3f3b4bc363
cellAudio: recover Cubeb on failed initialization
2021-12-09 01:46:44 +01:00
Megamouse
68466f05b6
cellAudio: move some stuff to cpp
2021-12-09 01:46:44 +01:00
Megamouse
e6b4655142
cellAudio: use members instead of config values
2021-12-09 01:46:44 +01:00
xddxd
f690d55045
Remove unnecessary define
2021-12-09 01:21:11 +01:00
kd-11
d523f9cc6b
rsx: Avoid skipping input mask checks due to static flow control
2021-12-08 23:58:32 +03:00
kd-11
7ca15c60bb
rsx: Improve image aspect tests
...
- Replace old format-based detection with proper aspect test.
Explicit image aspect has been available for a long time, but older
code was not updated.
2021-12-08 23:58:32 +03:00
Nekotekina
8abd3e8bb4
PPU LLVM: fix bitcast usage to enable constant folding
2021-12-07 15:35:51 +03:00
Nekotekina
6730dc1dc4
LLVM DSL: print some debug info in get_const_vector<v128>
2021-12-07 13:21:24 +03:00
Nekotekina
6b40d69a8f
Introduce coroutine support (util/coro.hpp)
...
Implement coroutine types `lazy` and `generator` in stx namespace.
Implement fs::list_dir_recursively.
2021-12-07 13:04:10 +03:00
Nekotekina
d6420b8803
Put std::hash specialization out of std
2021-12-07 13:04:10 +03:00
Megamouse
a4ad0a9468
cellVideoOutConfigure: treat unknown aspect as AUTO
2021-12-06 20:50:57 +01:00
Malcolm Jestadt
0617e9e14b
SPU LLVM: Fix vgf2p8affineqb usage
...
- Reverse the order of the bytes in the selection masks. Previously it was assumed that byte 0 would determine the output of bit 0, but byte 7 determines the output of bit 0.
2021-12-06 12:34:11 +03:00
Nekotekina
e3e39e8de3
PPU LLVM: rewrite and optimize saturation bit
...
Use vector accumulator
2021-12-03 00:14:06 +03:00
Nekotekina
209b14fbac
PPU LLVM: inline remaining vector instructions
2021-12-03 00:14:06 +03:00
Nekotekina
04c9d01390
PPU LLVM: modernize most vector instructions
...
Rewritten VSUM instructions:
VSUMSWS, VSUM2SWS, VSUM4SBS, VSUM4SHS, VSUM4UBS
2021-12-03 00:14:06 +03:00
Nekotekina
c9d8e59dbf
PPU LLVM: allow to drop setting SAT flag (optimization, module-wide)
...
Implement ppu_attr::has_mfvscr (partially, module-wide search).
If this instruction isn't found, allow to drop setting SAT flag.
It's based on presumption that only MFVSCR can retrieve SAT flag.
2021-12-03 00:14:06 +03:00
Nekotekina
86b194014b
PPU LLVM: rewrite more packing instructions
...
Rewritten VPKUHUM, VPKUHUS, VPKUWUM, VPKUWUS.
Decoupled saturation test from sat pack pattern.
2021-12-03 00:14:06 +03:00
Nekotekina
e7c827f73b
PPU LLVM: rewrite some packing instructions
...
Rewritten VPKSHSS, VPKSHUS, VPKSWSS, VPKSWUS.
Decoupled saturation test from sat pack pattern.
2021-12-03 00:14:06 +03:00
Nekotekina
abe498f35c
PPU LLVM: modernize some code with new DSL
...
PPU: rewritten instructions VMHADDSHS, VMHRADDSHS
PPU: added optimized path for VPERM (ra=rb)
2021-12-03 00:14:06 +03:00
DH
49c02854f5
[rsx] reduce size of config structs
2021-12-02 21:36:57 +03:00
DH
cccfb89aa0
[Config] Use std::less<> for std::map<...>
...
Reduces amount of string copies
[Utilities] fmt::replace_all: avoid creation of temporary strings
2021-12-02 21:36:57 +03:00
DH
2981867375
sys_spu_thread: Removed unused field access
2021-12-02 21:36:57 +03:00
DH
56d922999f
Fixed debug build compilation errors
...
const_str_t constructor without arguments shoud be constexpr for usage as default initializer in constexpr functions
2021-12-02 21:36:57 +03:00
kd-11
02832d9623
rsx: Add some sensible fallbacks ( #11219 )
...
* rsx: Add some sensible fallbacks
* Update GLPresent.cpp
* Update VKPresent.cpp
* Update rsx_utils.h
* Update rsx_utils.cpp
2021-12-02 16:02:08 +03:00
Eladash
0ab36ef44d
sys_spu: Implement SPU image segment info checks ( #11211 )
2021-12-02 13:17:10 +03:00
kd-11
9bb46aa944
rsx: Simplify unconstrained aspect ratio conversion
...
- There is a reason resolutions are defined by only a height variable.
2021-12-01 21:55:53 +01:00
Megamouse
474baca6d8
rsx: default initialize RsxDisplayInfo
2021-12-01 21:55:53 +01:00
Megamouse
88d0b7d135
cellAvconfExt: add some trivial param checks
2021-12-01 21:55:53 +01:00
Megamouse
aea1ec2594
avconf: Add const to fxo references
2021-12-01 21:55:53 +01:00
kd-11
22a7b026e7
rsx: Fix image scaling
...
- Specifically fixes a corner case where double transforms are required.
Technically this can be made more readable using transformation matrices:
* M1 = transform_virtual_to_physical()
* M2 = transform_image_to_virtual()
* M3 = M1 * M2
* Result = Input * M3
But we don't use a CPU-side matrix library and it is not reasonable to do this on the GPU.
2021-12-01 21:55:53 +01:00
Megamouse
c8d4a0dcdc
VK/GL: honor game's aspect ratio when scaling
2021-12-01 21:55:53 +01:00
Eladash
f16949c292
fs::file: always use strict reading mode for large reads ( #11206 )
2021-12-01 19:09:07 +03:00
Vestral
e5005597fe
CellAudio fixes
2021-11-29 20:43:00 +01:00
kd-11
38bfefcdfa
vk: Fix incorrect mixed transfer modes for mipmapped VTC
2021-11-28 01:44:21 +03:00
kd-11
44fe6f6d39
rsx: Fix sloppy format matching test
2021-11-27 17:47:41 +03:00
RipleyTom
4fe17fcecf
sys_usbd improvements ( #11202 )
2021-11-27 01:49:35 +00:00
RipleyTom
276ee81da8
Ignore Log subsection for config obsolete check
2021-11-25 19:42:12 +01:00
RipleyTom
5e158bd3f2
Impl sys_usbd_get_device_location
2021-11-25 00:53:00 +01:00
clienthax
2b924175aa
Emulated v406 usio
2021-11-24 21:59:48 +01:00
Vestrel
37a722cc1d
Audio backend improvements
...
Callback based audio update.
Upgraded common backend interface.
Added Cubeb backend.
Support multiple audio providers.
Dropped pulse, alsa, openal backends.
2021-11-24 19:41:05 +01:00
orbea
a84223bdc6
rpcs3: Fix the DATADIR path for AppImage
...
Even when DATADIR is defined the other paths may still be correct.
Fixes: https://github.com/RPCS3/rpcs3/issues/11195
2021-11-24 19:14:06 +01:00
kd-11
4df1a938b1
Unused var
2021-11-24 16:02:24 +03:00
kd-11
94a3b1cfe8
rsx: Roll back some optimizations
...
- Just use RGB565 for all blit targets. Avoids really dumb transforms done by GPU hw.
- When X16 is used, all the channels get written to R channel alone. CmdBlit does perform format conversion!
- gl: Force image copy when blit is requested with compatible targets. Avoids format conversion issues.
2021-11-24 16:02:24 +03:00
kd-11
a21c6c4628
rsx: Fix handling of scaling requests for packed formats
...
- One does not simply interpolate RGB565 components as U16 data!
2021-11-24 16:02:24 +03:00
kd-11
58f0fa3ca5
gl: Enable handling of X16 blit targets
2021-11-24 16:02:24 +03:00
kd-11
97bd8f7bc1
rsx: Update sampler format class when inheriting mipmap slices/sections
2021-11-24 16:02:24 +03:00
clienthax
4c0ef37a5c
Stub uvc camera init
2021-11-23 23:41:13 +01:00
AniLeo
1df8f52a9f
vk: Remove lavapipe workaround
...
Current lavapipe version now has support for
shaderStorageBufferArrayDynamicIndexing
2021-11-23 22:48:46 +01:00
shockdude
f9434091c3
sys_usbd: make emulated turntable interrupt transfer as fast as possible
...
Also add missing mutex
2021-11-23 02:19:36 +00:00
orbea
59f253ba24
cmake: Use GNUInstalldirs
2021-11-22 21:45:55 +01:00
Eladash
c52d447381
sys_fs: Place all path-format checks upfront, implement more checks
2021-11-22 21:03:07 +03:00
Eladash
524b065bc8
Debugger: Show PPU reservation data
...
Asterisk marks the offset of data that had been given to the guest PPU code.
2021-11-22 14:48:34 +03:00
Eladash
f7b55ec8d4
lv2: Add missing reservation disowning in lv2_obj::yield
2021-11-22 14:48:34 +03:00
Megamouse
e7fc2bfa3b
Input: Log path on hid_open_path error
2021-11-22 09:41:12 +01:00
Megamouse
22e3075c64
cellSaveData: always log setList and setBuf
...
For debugging
2021-11-20 08:43:46 +01:00
Megamouse
09ead539a5
improvise CELL_SAVEDATA_ERRDIALOG_NOREPEAT
2021-11-20 08:43:46 +01:00
Megamouse
5272dd951b
Qt: simplify callbacks.resolve_path
2021-11-20 08:43:46 +01:00
Megamouse
7eee9e7b05
overlays: simplify backup icon copy procedure
2021-11-20 08:43:46 +01:00
Eladash
e5eb727110
Memory Searcher: Peek full string in log, fix case-insensitive search
2021-11-20 07:57:34 +01:00
Eladash
7352a5a495
GUI: Rename memory string searching tool to "Memory Searcher"
2021-11-20 07:57:34 +01:00
Megamouse
de2be90636
Qt: only show prefix for fatal messages
...
Always messages are supposed to be humanly readable
2021-11-17 22:53:20 +01:00
Artur
9f35c3f52d
Properly recognize triggers and axes for evdev pads.
2021-11-17 21:29:24 +01:00
RipleyTom
22910c02a9
Implement sceNpManagerGetPsHandle ( #11164 )
2021-11-17 18:02:01 +00:00
Megamouse
0f7534c755
VK: fix NVIDIA driverVersion check
2021-11-16 09:31:16 +01:00
Megamouse
4d0330bf82
rsx: fix possible segfault
2021-11-16 09:31:16 +01:00
Megamouse
026efd96b2
cellKbCnvRawCode: use proper constants
...
and comment out unreachable code
2021-11-16 09:31:16 +01:00
Megamouse
f6af5ff13a
cellRtcGetDaysInMonth: fix param check
2021-11-16 09:31:16 +01:00
Megamouse
0d7b7585a8
Some typo/warning fixes
2021-11-16 09:31:16 +01:00
Eladash
6283600b84
Qt: Fix log prefix in log_frame
2021-11-16 09:02:43 +01:00
Megamouse
f6e04ffdd2
overlays: add stick input to native dialogs
2021-11-16 01:38:33 +01:00
Megamouse
44b42f68fd
overlays: add R3, L3 and PS buttons
...
Unused at the moment
2021-11-16 01:38:33 +01:00
Megamouse
56241838c0
input: add made up CELL_PAD_CTRL_PS enum
...
And remove useless comment about 0x0 buttons. It's a bitmap, so 0x0 is literally useless.
2021-11-16 01:38:33 +01:00
Megamouse
26475f8f40
cellGem: add comment about hack
2021-11-16 01:38:33 +01:00
Megamouse
ff5e31f396
overlays: add system sounds
2021-11-15 23:03:30 +01:00
kd-11
59b1c324a9
rsx: Properly implement immediate mode rendering
...
- Treat the draw commands as being consumed on-the-fly with ATTR0 as provoking attribute
- Analysing streams sent to RSX and the results implies they are consumed fully inline.
This only makes sense if a provoking attribute is present. The 'static' register is truly the immediate register for the draw.
2021-11-15 18:14:15 +03:00
kd-11
1f627caa81
rsx: Clear some leaking register state between runs
2021-11-15 18:14:15 +03:00
Megamouse
7dc3a50ddf
Fix headless mode
2021-11-14 17:07:18 +01:00
Eladash
cfe08de951
Account empty EDAT ( #11146 )
...
* Improve sys_fs_open logging
2021-11-14 02:15:27 +03:00
Eladash
48ad959697
sys_event: Fix PPU queue forced uproot of waiters ( #11147 )
2021-11-13 20:22:54 +03:00
陈俊嘉
05881ffa62
Disable vulkan in Windows build when HAVE_VULKAN is off and other cmake build fixes. ( #11118 )
...
* Make WolfSSL build support multi-config generator.
Fix a build error in Windows when using QT's moc.
Disable vulkan in Windows build when HAVE_VULKAN is off.
* add WIN32_LEAN_AND_MEAN definition to VS project.
add HAVE_VULKAN definition to VS project.
Define NTSTATUS in main.cpp.
2021-11-13 16:11:49 +01:00
Megamouse
8b3ed7b599
Qt: fix initial pad settings dialog size and position
2021-11-11 23:06:57 +01:00
Megamouse
cbec04cd0f
Curl: fix --verbose-curl option
2021-11-11 17:37:22 +01:00
Malcolm Jestadt
3fde455932
SPU LLVM: Optimize branch following ORX
...
- test the input of ORX directly for zeroes, instead of the result
2021-11-11 12:58:38 +03:00
RipleyTom
ba727e13ae
Fixes rpcn_client.h func ptr comparison warning
2021-11-11 08:11:14 +01:00
Megamouse
2359ba9aed
curl: add verbose logging
...
and really verbose logging i you use --verbose-curl
2021-11-11 00:36:42 +01:00
RipleyTom
b736691bde
Special nullptr optParam->cbFunc case fix
2021-11-10 20:03:11 +01:00
RipleyTom
50bf528f3f
NP: add signaling_handler wakeup on connect queue
2021-11-10 12:43:45 +01:00
kd-11
7e3eab9915
rsx: Fix texture state propagation between unrelated draw calls
...
- Older games can load all textures before a draw sequence and then swap shaders for different draws.
- Optimizations in texture state streaming make it so that only referenced data is carried forward.
2021-11-09 12:39:49 +03:00
RipleyTom
dc0793b731
NP: Implement sceNpMatching2DeleteServerContext
2021-11-08 13:10:40 +03:00
RipleyTom
c194804fec
NP: Implement sceNpBasicGetFriendListEntry
2021-11-08 13:10:40 +03:00
RipleyTom
d41e405420
NP: Cache Manager + improvements
2021-11-08 13:10:40 +03:00
RipleyTom
516cb959cb
rpcn: new allocator + refactoring of np_handler
2021-11-08 13:10:40 +03:00
RipleyTom
704e74b904
rpcn: extra changes
2021-11-08 13:10:40 +03:00
Nick Renieris
b70f08d850
The Velocity Improvements: RoomData/RoomMemberData commands & fixes
...
modules/np2: Correct some SceNpMaching2 ptr type endianness
np/handler: Use STL .contains() method
Ignore USECRYPTO & USESIGNATURE in recvfrom/sendto
Implement RoomData/RoomMemberData commands
2021-11-08 13:10:40 +03:00
Malcolm Jestadt
7573d7289b
SPU LLVM: Hook up 128 bit spu verification
...
- Also fix FMA enablement for sapphirerapids
2021-11-06 21:12:12 +03:00
Megamouse
f9abe40494
Qt: fix initial TSX selection
2021-11-06 13:47:43 +01:00
Megamouse
88bb26afb4
vk: make upscaler dynamic
...
The config option was marked as dynamic, but was never actually changed ingame
2021-11-06 01:02:54 +01:00
Megamouse
dac0baac0d
Qt: improve fsr tooltip area
2021-11-06 01:02:54 +01:00
kd-11
f7eacf70ec
rsx: Restore shader disassembler to working state
2021-11-05 23:55:07 +03:00
Megamouse
067b35217a
Qt: Consider TSX-FA in settings dialog
2021-11-04 23:34:10 +01:00
Megamouse
af3ef02ca0
fix npDrmIsAvailable
2021-11-04 21:41:07 +01:00
Eladash
c49ebba648
Fixes of PS3 filesystem EDAT/SDAT handling
...
* Return EFSSPEIFIC if encountered corrupted EDAT or an unmatched key in sys_fs_open and sys_fs_read.
* Fix validate_dev_klic() for license-free EDAT.
* Fix EDATADecrypter::ReadData() for when size + pos > file_size but pos < file_size.
* Try to save up to 16 decryption keys. Educated guess based on NPDRM file descriptors count llimit.
* Return LICENCE_NOT_FOUND if needed RAP file is not found in sceNpDrmIsAvailable.
* Check additional sys_fs_open errors for sceNpDrmOpen. (EISDIR, ENOTMOUNTED)
2021-11-04 21:32:15 +03:00
kd-11
933d96af5f
vk: Do not clip region using renderpass renderarea, we have scissor for that
2021-11-04 21:05:15 +03:00
Whatcookie
bf6044fced
SPU/SYSINFO: Disable TSX by default for TSX-FA cpus ( #11105 )
...
- Also detect the new RTM_ALWAYS_ABORT bit in cpuid
- This new bit indicates that RTM is disabled in the microcode
- On cpus with RTM_ALWAYS_ABORT TSX can be renabled by writing 0x4 to the msr 0x0000010F
2021-11-04 16:44:25 +00:00
Ani
1a0392bf15
CPUTranslator: Enable FMA for alderlake CPUs ( #11106 )
2021-11-03 19:31:46 +00:00
kd-11
ad00c44231
rsx: Configure pitch correctly for pitch-zero textures (1D)
2021-11-03 16:58:30 +03:00
Nekotekina
69f321a471
LLVM 13
2021-11-02 20:11:08 +03:00
Malcolm Jestadt
37383f4217
SPU ASMJIT: Disable 512 wide spu verification
...
- Apparantly this crashes every game.
2021-11-01 20:04:26 +03:00
Eladash
b84e95d768
rsx: Fixate time stamp of VBLANK
2021-11-01 10:04:53 +01:00
Eladash
4369fb234e
rsx: Fix typo in VBLANK processing regarding emulation pause
2021-11-01 10:04:53 +01:00
Eladash
58040d478a
rsx: Implement NTSC fixup mode, improve VBLANK accuracy
2021-11-01 10:04:53 +01:00
AniLeo
46a54f5474
rpcs3_version: Bump to 0.0.19
2021-11-01 03:05:52 +00:00
Eladash
e31173e33e
GUI: Always show thread name for fatal messages ( #11090 )
2021-10-31 13:24:41 +01:00
kd-11
5b0ef401f7
rsx: Fix sampling in X when 0 pitch is given
...
- A pitch of 0 still allows 1-dimensional addressing.
2021-10-31 14:32:42 +03:00
Megamouse
1650dd1c7d
overlays: fix graph offset error after applying new config
...
I already had this figured out last time but forgot the dynamic config use case.
2021-10-31 10:14:08 +01:00
Megamouse
84f123041a
overlays: fix offset of right edge oriented graphs when detail level is none
2021-10-31 10:14:08 +01:00
Megamouse
f258ae795c
Add more logging for Emulator Stop events
...
This should give us more insight into the conditions that cause emulation stops.
This may also help find false issue reports.
2021-10-31 04:12:47 +01:00
Megamouse
33e80a733d
overlays: fix trophy notification sound in queue
2021-10-30 22:44:30 +02:00
Megamouse
20331a77ce
Qt: multithreaded trophy icon refresh
2021-10-30 22:44:30 +02:00
Megamouse
4e6b37ca04
Qt: fix missing vfs mount
2021-10-30 22:44:30 +02:00
Eladash
646ad3eed4
SPU DisAsm: Force decimal point insertion for constant floats
2021-10-30 21:33:06 +02:00
Eladash
edcc2a9e0d
PS3 String Searcher: Implement instruction searching in embedded SPU images
2021-10-30 21:33:06 +02:00
Megamouse
0e20acdf55
overlays: add optional sound to trophy popup
2021-10-30 17:16:45 +02:00
Megamouse
f262e77fbd
overlays: add fade to trophy notification pop-ups
2021-10-30 17:16:45 +02:00
Megamouse
244aa6879a
overlays: fix trophy notification pop-up locations
2021-10-30 17:16:45 +02:00
Megamouse
e9fe90244f
Emu: Move VFS mount to Init
2021-10-29 19:46:11 +02:00
Eladash
a90376a7c4
SPU DisAsm: Print SPU floats
2021-10-29 19:15:21 +02:00
Megamouse
aff7d8a994
Qt: fix QSvg deployment
2021-10-28 23:54:56 +02:00
Megamouse
7f4b6b1ae7
Qt: Use svg instead of png
2021-10-28 21:01:27 +02:00
kd-11
78bcb0fd53
rsx: Do not reuse/destroy sections that have references held
...
- Avoids a situation where blit-dst and blit-src have overlapping ranges. Uploading blit-dst destroys blit-src and vice-versa.
This is not the end of the world, but blit-src should be kept around until the operation is completed to avoid stale references!
2021-10-27 12:30:43 +03:00
kd-11
c733e794de
gl: Use real image dimensions when decoding compressed textures
...
- Image size is already correctly calculated using block dimensions
2021-10-27 12:30:43 +03:00
kd-11
99fc90648b
gl: Disable shader interpreter if hardware does not support bindless textures
2021-10-27 12:30:43 +03:00
kd-11
2587545eed
gl: Fix decoding of wide, swizzled textures
...
- Handle pre-byteswapped data (swizzled usually) in the compute-safe path
2021-10-27 12:30:43 +03:00
capriots
ac300c7356
Correct channel order
...
Documentation says the order is Front L, Front R, Center, LFE, Surround L, Surround R, Rear L, Rear R
2021-10-27 10:24:02 +03:00
Megamouse
2af2db2cbf
Lower some log spam
...
These functions probably aren't perfect, but they spam a lot of unnecessary log messages.
2021-10-27 00:25:27 +02:00
Megamouse
d5ca9dacb6
Qt: add sound-effect to screenshots
2021-10-26 09:18:37 +02:00
Megamouse
5e436984a2
cellCamera: fix qt handler crash if object is destroyed from another thread
2021-10-24 15:01:43 +02:00
Megamouse
be972f04ac
cellGem: hook up camera
2021-10-24 15:01:43 +02:00
illusion0001
00c87a8fc9
Screenshot: add Title ID to filename
2021-10-24 13:12:01 +02:00
Megamouse
e51656e070
Qt: Add camera settings dialog
2021-10-24 11:32:35 +02:00
Megamouse
9dc6d920ce
cellCamera: don't flip qt image vertically by default
2021-10-24 11:32:35 +02:00
Megamouse
e67cf68321
cellCamera: fix compilation on linux
2021-10-24 11:32:35 +02:00
Megamouse
60d35e17ac
cellCamera: support all formats and set RGB32 if possible
2021-10-24 11:32:35 +02:00
Megamouse
d161d8c545
cellCamera: add some more logging and fix some warnings
2021-10-24 11:32:35 +02:00
Megamouse
f66b29f043
cellCamera: Implement dynamic camera selection
2021-10-24 11:32:35 +02:00
Megamouse
77f6db2543
cellCamera: fix some typos (fixes camera attachment in Kung Fu Live)
2021-10-24 11:32:35 +02:00
Megamouse
5eabe9aa33
cellCamera: silence some log errors
2021-10-24 11:32:35 +02:00
Megamouse
76c1681173
cellCamera: fix regular YUV422 conversion of qt camera handler
2021-10-24 11:32:35 +02:00
Megamouse
67ba381dfe
cellCamera: fix qt camera handler format
2021-10-24 11:32:35 +02:00
Megamouse
9a6285942b
cellCamera: fix buffer allocation
2021-10-24 11:32:35 +02:00
Megamouse
d93f16fe87
cellCamera: log qt camera handler status strings
2021-10-24 11:32:35 +02:00
Megamouse
214c1ccc7e
cellCamera: move camera handler interaction to seperate functions
2021-10-24 11:32:35 +02:00
Megamouse
d1ac92fd99
cellCamera: improve image conversion speed
2021-10-24 11:32:35 +02:00
Megamouse
263b7854c1
cellCamera: sprinkle some mutexes and handle disconnected cameras during open phase
2021-10-24 11:32:35 +02:00
Megamouse
843aed228e
cellCamera: fix camera interaction
2021-10-24 11:32:35 +02:00
Megamouse
bf71b1fcf7
cellCamera: fix buffer size for YUV
2021-10-24 11:32:35 +02:00
Megamouse
81c216f330
cellCamera: add error handling to qt camera
2021-10-24 11:32:35 +02:00
Megamouse
e4b242955c
cellCamera: implement CELL_CAMERA_READ_DIRECT
2021-10-24 11:32:35 +02:00
Megamouse
3fac832567
cellCamera: fix qt camera width and height for non-default resolutions
2021-10-24 11:32:35 +02:00
Megamouse
08011e9b78
cellCamera: Add qt camera handler
2021-10-24 11:32:35 +02:00
Eladash
ee7ed1fdc3
Allow booting any ELF inside disc directory, not just ones at 'PS3_GAME/USRDIR/'
2021-10-24 11:03:51 +02:00
Megamouse
d63a712cc5
Qt: fix richtext_item_delegate palette
...
We have to use the styled palette instead of the default palette in order to fix the style of lists as seen the pkg installer.
2021-10-24 10:38:50 +02:00
illusion0001
c549d7154b
Screenshot: sort folders by Title IDs
2021-10-24 05:24:18 +02:00
shockdude
590483b81f
Add emulated Guitar Hero Live guitar controller in Settings I/O tab
2021-10-24 03:04:07 +02:00
Eladash
9ba9d9424e
[Win32] Allow renaming uppercase RAP/EDAT to lowercase with drag-and-drop from /exdata
2021-10-24 02:22:45 +02:00
RipleyTom
962e140cea
fix: cleanup basic handler in np term
2021-10-23 08:31:59 +02:00
Eladash
c0c52c33b9
SPU: Implement interrupts handling for remaining events
2021-10-20 15:46:50 +03:00
kd-11
4ed92f4155
vk: Fully allow CB change in emit_geometry
...
- upload_vertex_data can trigger a flush to CELL which will result in CB flush.
Ensure CB state is correctly reloaded in such a situation.
2021-10-20 12:05:39 +03:00
Megamouse
cb953a418f
Linux: add org.mate.ScreenSaver as fallback
2021-10-20 02:09:28 +02:00
Megamouse
9c1f258be3
Qt: remove pad settings size constraint
...
This might fix some scrolling issues (or add more)
2021-10-19 22:09:02 +02:00
Eladash
c6641748ce
vm_native.cpp: Fix DeviceIoControl usage ( #11029 )
2021-10-19 12:53:08 +03:00
Eladash
12efd29121
SPU/PPU DisAsm: Implement more constant formation patterns
2021-10-17 12:15:58 +02:00
Eladash
a4bd1755cf
PPUDisAsm: Fix MFSPR/MTSPR disassembly
2021-10-16 15:03:52 +02:00
RipleyTom
683c061e60
sys_net: getsockname on unbound p2p socket fix
2021-10-16 11:41:20 +02:00
RipleyTom
0e625e193e
sys_net: redirects 0.0.0.0 packets on windows
2021-10-16 11:41:20 +02:00
Eladash
43302f937c
PPUDisAsm: Fixup SC printing, support LV1 syscalls
2021-10-16 10:56:31 +02:00
Megamouse
792ac5ed64
DS4: add version check
2021-10-15 01:20:15 +02:00
Megamouse
90548468ee
mmjoy: add member prefix to blacklist
2021-10-15 01:20:15 +02:00
Megamouse
1584aba387
sceNpDrmIsAvailable: fix error check
...
No idea where I saw this check. Probably looked at the wrong function
2021-10-14 22:06:12 +02:00
RipleyTom
caea340985
RPCN: Set error state on empty login/password
2021-10-14 19:28:20 +02:00
RipleyTom
ab6c74b3c1
Enables resend token button
2021-10-13 21:18:29 +02:00
Malcolm Jestadt
f06c8b22e8
PPU/SPU LLVM: Emulate VPERM2B with a 256 bit wide VPERMB
...
- Save 1 uop by using 256 wide VPERMB instead of VPERM2B. (Compiles down to a vinserti128 and vpermb)
2021-10-13 17:51:54 +03:00
RipleyTom
68fdc49528
Defaults to 127.0.0.1 when failing to discover IP
2021-10-13 08:17:29 +02:00
shockdude
cd73d738e5
Add emulated DJ Hero turntable controller in Settings I/O tab
2021-10-12 23:29:19 +02:00
Eladash
ab50e5483e
GUI Utilities: Implement instruction search, PPU/SPU disasm improvements ( #10968 )
...
* GUI Utilities: Implement instruction search in PS3 memory
* String Searcher: Case insensitive search
* PPU DisAsm: Comment constants with ORI
* PPU DisAsm: Add 64-bit constant support
* SPU/PPU DisAsm: Print CELL errors in disasm
* PPU DisAsm: Constant comparison support
2021-10-12 23:12:30 +03:00
RipleyTom
8a72bdb422
rpcn: wait for signal before connect
2021-10-12 20:20:32 +02:00
RipleyTom
df39bd39b0
Fix rpcn create/login not returning proper error
2021-10-12 17:30:46 +02:00
kd-11
d58df667b9
rsx: Fix some texture decode instructions
...
- Fix TEX1D_PROJ definition
- Make TEX3D_PROJ cubemap-compatible
2021-10-12 13:47:08 +03:00
Jan Beich
7a24642c56
vm_native: simplify vm.overcommit sysctl
...
dragonfly$ sysctl vm.overcommit
sysctl: unknown oid 'vm.overcommit'
freebsd$ rg VM_OVERCOMMIT /usr/include
/usr/include/vm/vm_param.h
89:#define VM_OVERCOMMIT 12 /* vm.overcommit */
2021-10-12 02:11:58 +03:00
Jan Beich
1a90adfb5e
vm_native: unbreak runtime on FreeBSD after 63104af8e9
...
shm_open() returns a file descriptor on success, not zero. As SHM_ANON
only exists on FreeBSD which also has memfd_create use the same code
as on Linux.
$ rpcs3
[...]
Verification failed (in file rpcs3/util/vm_native.cpp:478[:4], in function shm) (errno=2)
Segmentation fault
2021-10-12 02:11:58 +03:00
Megamouse
3832d4fa1c
sceNpFriendlist: some improvements
2021-10-12 00:40:27 +02:00
Megamouse
8f328b2624
sceNpCustomMenu: improvements
2021-10-12 00:40:27 +02:00
Megamouse
80ef348600
sceNp: more error checks
2021-10-12 00:40:27 +02:00
Megamouse
e2a9c0a8f3
sceNpInit: fix error check order
2021-10-12 00:40:27 +02:00
Megamouse
780a234467
sceNpDrmIsAvailable: add param checks
2021-10-12 00:40:27 +02:00
RipleyTom
ea9dc9317d
rpcn v0.4.0
2021-10-11 22:20:20 +02:00
Eladash
15af1bca69
PPU DisAsm: Fix CMPLI disassembly
2021-10-11 19:34:01 +03:00
kd-11
479150b214
rsx: Fix decoding of linear cubemaps
...
- 128-byte boundary is not observed in linear tiling. Verified in hw.
2021-10-10 16:15:28 +03:00
kd-11
e1d1d16227
gl: Alias register binding points a bit
...
- While aliasing is easy to break, it allows outdated hw to run
2021-10-10 16:15:28 +03:00
Megamouse
877dd1f98d
DS4: add ZEROPLUS Brook Mars controller
2021-10-10 10:34:03 +02:00
Megamouse
7df7ac57cc
input: log hid_get_feature_report return values
2021-10-10 10:34:03 +02:00
Megamouse
e5793acd78
Qt: write version changes to update.log
2021-10-10 10:08:31 +02:00
Eladash
75e66ab5e0
Make pad and patches config savinng atomic
2021-10-10 09:34:50 +02:00
kd-11
b3725baf5a
rsx: Rewrite shader decompiler texture dispatch
2021-10-09 15:10:36 +03:00
kd-11
f1d9a014c0
vk: Silence compiler warning
2021-10-09 15:10:36 +03:00
RipleyTom
8e3112734e
Add edat install support
2021-10-07 14:27:34 +02:00
Megamouse
eb850681ee
cellKb: implement key repeat
...
- Implements key repeat functionality
- Fixes an issue where games registered keys repeatedly even though we weren't actually setting multiple key presses.
2021-10-07 09:49:53 +02:00
Megamouse
c7e5a62909
Add missing cpu_flag formatting
2021-10-05 20:16:11 +02:00
Megamouse
f72d148d37
Fix config mode reset
2021-10-05 20:16:11 +02:00
Megamouse
d8435163bb
input: increase mouse acceleration maximum
2021-10-04 21:21:32 +02:00
Megamouse
af11546b1e
Overlays: fix small performance overlay font sizes
2021-10-04 19:57:57 +02:00
Eladash
63f16d7a46
GUI Utilities: Implement PS3 SDAT/EDAT decryption
2021-10-02 11:29:01 +02:00
Eladash
71b15c1fa6
Suggest tweaking the setting "Stub PPU Traps" after PPU trap ( #10921 )
2021-09-30 21:33:55 +03:00
Eladash
65e9388f00
Update unpkg.cpp
2021-09-30 21:33:28 +03:00
Eladash
056d43eca7
PKG: Simplify files management
2021-09-30 20:48:47 +03:00
Nekotekina
55ec4808f1
SPU LLVM Fixup for VDBPSADBW
...
Fixes #10947
2021-09-30 17:53:47 +03:00
Malcolm Jestadt
2cfa5406e7
LLVM DSL: reimplement vdbpsadbw
2021-09-30 13:22:35 +03:00
Malcolm Jestadt
86716dc37b
SPU LLVM: Optimize branches following byteswaps
...
- The first element can be extracted via vmovd rather than vpextrd, which saves 1 uop.
2021-09-30 13:22:35 +03:00
Malcolm Jestadt
f9ab077908
SPU LLVM: Use VDBPSADBW in SUMB
...
- This instruction can be used to sum bytes horrizontally if the second input vector is all zeroes.
2021-09-30 13:22:35 +03:00
Megamouse
8b3a3e4ac8
Qt/Linux: Properly hide taskbar progress when done
2021-09-29 22:38:50 +02:00
Megamouse
45f5819ef3
Qt/Linux: Implement SignalFailure with dbus
2021-09-29 22:38:50 +02:00
Megamouse
3f55067414
Qt: Add sound if download fails
2021-09-29 22:38:50 +02:00
Megamouse
797b69fe8f
Qt: fix downloader taskbar progress
2021-09-29 22:38:50 +02:00
Megamouse
019fa390f2
settings_dialog: Add Restore Defaults button
...
Only works for config.yml for now (not gui settings)
2021-09-29 19:52:00 +02:00
Megamouse
42de2a3e0b
settings: Fixup for ranged combobox fallback
...
# Conflicts:
# 3rdparty/SPIRV/SPIRV-Headers
# 3rdparty/SPIRV/SPIRV-Tools
# 3rdparty/yaml-cpp/yaml-cpp
# 3rdparty/zlib/zlib
2021-09-29 19:52:00 +02:00
kd-11
f90bf2dd40
vk: Use a dynamic number of descriptor allocations
2021-09-29 01:20:32 +03:00
kd-11
dc8fc9fc79
vk: Clean up around vkQueueSubmit handling
...
- Explicitly declare one version for CB flush and the other for Async flush
- Always flush descriptors on CB flush in case of page fault handling.
Other threads other than offloader can also enter the method and require normal flow.
- Fix overlapping interrupt IDs.
- Minor formatting fixes
2021-09-28 23:18:26 +03:00
kd-11
3d49976b3c
vk: Add deregister event for sets
...
- Unused in practice, but this is more for peace of mind.
2021-09-28 17:43:15 +03:00
kd-11
eed38e1bbc
vk: Make the new descriptor system spec compliant
2021-09-28 17:43:15 +03:00
kd-11
9595297a3a
Whitespace fix
2021-09-28 17:43:15 +03:00
kd-11
7c5b5d25e3
vk: Implement descriptor allocation batching
2021-09-28 17:43:15 +03:00
kd-11
2e22a0d9bb
rsx: Optimize thread self-tests
2021-09-28 17:43:15 +03:00
kd-11
ba2a8ebf2e
vk: Enable deferred descriptor updates via descriptor-indexing
2021-09-28 17:43:15 +03:00
kd-11
381c7544fa
Optimize basic descriptor batching
2021-09-28 17:43:15 +03:00
kd-11
4752c4014b
vk: Implement basic descriptor updates batching
2021-09-28 17:43:15 +03:00
kd-11
24642a4c18
vk: Refactor descriptors a bit
2021-09-28 17:43:15 +03:00
kd-11
62979c7bd9
vk: Enable descriptor indexing extension if supported
2021-09-28 17:43:15 +03:00
kd-11
7b9fb7ad9c
rsx: refactor rsx_utils a bit
...
- Move obviously standalone things to their own utility files
2021-09-28 17:43:15 +03:00
kd-11
7f830d555d
vk: Simplify texture cache OOM tracking a bit
2021-09-28 17:43:15 +03:00
kd-11
9aafd8c09f
rsx: Avoid get_system_time for simple draw ordering
2021-09-28 17:43:15 +03:00
kd-11
6781eb7c76
rsx: Avoid calling get_system_time() every draw call
2021-09-28 17:43:15 +03:00
kd-11
3e09b97f58
rsx: Minor optimization; avoid preparing unused vertex streams
...
- Also discards unused program state variables
2021-09-28 17:43:15 +03:00
Eladash
e7b9513d4a
Bugfix after recent PPU patches pr
2021-09-28 12:12:12 +03:00
Eladash
34c36c73ee
Debugger/Disasm: Name PPU Syscalls
2021-09-28 12:12:12 +03:00
Megamouse
2821eb7397
Remove some lwmutex log spam
...
I don't know if there's a reason for the warning message.
So I'll just change it and see how many developers throw insults at me :)
2021-09-26 21:28:17 +03:00
Eladash
65c9cd99cd
Patches/PPU: Implement HLE/LLE/With-TOC function call patches
...
Example patches:
[ jumpf, 0x12340, "cellGcmSys:cellGcmSetFlip"] // Places a call to cellGcmSetFlip at 0x12340
[ jumpf, 0x12340, "cellGcmSys:0xDC09357E"] // Same, using FNID
[ jumpf, 0x12340, 0x2345678 ] # Function OPD based call eading OPD at 0x2345678
2021-09-26 20:49:57 +03:00
Megamouse
b217e8384c
Qt: Fix SnapSlider in settings
...
The SnapSlider function is used to snap the current slider to certain values if modified with the mouse.
But it only triggered if the user was dragging the handle of the slider and not if the bar itself was clicked.
This is fixed by using an eventFilter that listens for mousepress and mouserelease events instead of the sliderPressed and sliderReleased signals.
Maybe this is a Qt bug, but I don't want to bother with reporting this right now.
2021-09-26 12:08:40 +02:00
Ani
df96be199b
config: Remove Lower SPU Priority setting
2021-09-26 00:29:21 +01:00
Ani
ecc55048c5
ui: Remove SPU Cache from settings dialog
2021-09-26 00:29:21 +01:00
Ani
e58911cc95
config: Disable SPU loop detection by default
2021-09-26 00:29:21 +01:00
Megamouse
269c4604aa
VFS: move VFS settings to seperate file
2021-09-25 19:21:59 +03:00
Megamouse
8f1dc7a2d4
Fix VFS regression
...
Implements cfg_mode
2021-09-25 19:21:59 +03:00
Megamouse
da91a841b7
VFS: add logging to mount
2021-09-25 19:21:59 +03:00
Megamouse
4323ca4a01
Remove unused lambda
2021-09-25 19:21:59 +03:00
Eladash
fff0c96bf3
Debugger: Implement editing instruction for entire SPU group
2021-09-24 21:05:11 +03:00
kd-11
e4aff539b0
vk: Fix scanning for upload heap types.
...
- HOST_CACHED support must be prioritized, but is not a mandate.
- Scan for that flag explicitly and fall back to uncached if it is not supported.
- Uncached memory is too slow for our requirements to contend with cached memory.
2021-09-23 01:45:37 +03:00
Eladash
d0e31f4ec3
sys_fs: Add write log messages for SDATA/EDATA
2021-09-22 14:57:16 +03:00
Eladash
3e06446297
sys_fs: Fix sys_fs_read/write when nbytes is 0
2021-09-22 14:57:16 +03:00
Eladash
4237039d53
sys_fs: Fix SDATA/EDATA file-stat
2021-09-22 14:57:16 +03:00
Eladash
5ae7dbf77c
Fix cellFsSdataOpenByFd flags
2021-09-22 14:57:16 +03:00
Megamouse
f1037f75d9
perf_overlay: fix initial graph positions with detail level none
2021-09-22 08:06:58 +02:00
Megamouse
a7cb513a89
cellOsk: partially implement continuous mode
2021-09-21 23:22:26 +02:00
Megamouse
e3ec71c683
cellOsk: partially implement cellOskDialogExtUpdateInputText
2021-09-21 23:22:26 +02:00
Megamouse
f7870d4968
cellOsk: do not notify INPUT_ENTERED on each input
...
Apparently the event is only sent when a user confirms the dialog during any continuous mode with seperate windows.
2021-09-21 23:22:26 +02:00
Megamouse
80ef0ce9b5
cellOsk: reset options after unload
2021-09-21 23:22:26 +02:00
Megamouse
696a3c4a42
cellOsk: stub some settings
2021-09-21 23:22:26 +02:00
Megamouse
81a01134bb
cellOsk: fix dialog abort w/o user interaction
2021-09-21 23:22:26 +02:00
Megamouse
70c291753c
cellOsk: dont send INPUT_ENTERED unless continuous
2021-09-21 23:22:26 +02:00
kd-11
3c7ada8e83
rsx: Fix 3D texture decode
...
- 3D mipmaps are shrunk in all 3 axes, they are not 2D array textures.
- Fixes mip1-mipN for all situations
2021-09-21 19:53:46 +03:00
kd-11
46b3027981
rsx: Invariably clear the texture state if referenced.
2021-09-21 19:53:46 +03:00
kd-11
334999f639
vk: Enable sampler mirror-clamped-to-edge as an extension
2021-09-21 19:53:46 +03:00
kd-11
dabfce5c82
rsx: Rework how depth/stencil initialization+clear works
2021-09-21 19:53:46 +03:00
kd-11
0a8d9a12ab
vk: Rewrite memory initialization
2021-09-21 19:53:46 +03:00
kd-11
19b2da2590
Enable stencil export extension when required
2021-09-21 19:53:46 +03:00
Eladash
17a074e1ac
Fix memory leak in cellOskDialog ( #10895 )
2021-09-21 11:29:32 +03:00
Eladash
38d5f688b3
cellAudio fix
2021-09-20 07:59:34 +02:00
Megamouse
e307a1b4bd
input: fix keyboard_pad_handler pressure sensitivity
2021-09-19 23:46:51 +02:00
Megamouse
a50e22a11f
Overlays: Fix position of centered perf-overlay
2021-09-19 20:30:02 +02:00
AniLeo
c995505023
edat: Check for the correct directory
2021-09-18 18:20:55 +01:00
AniLeo
1f8f428a59
unpkg: Don't append title ID to license packages
2021-09-18 18:20:55 +01:00
Eladash
e10c6cbaf7
SPU: cpu_work() fixup, fix recursion in AV handler
2021-09-18 19:43:55 +03:00
Eladash
5870da0b55
SPU MFC: Add shuffling in steps setting
2021-09-18 19:43:55 +03:00
Eladash
5f729d4dbf
GUI Settings: Add MFC Delay Command checkbox
...
Limited control over "MFC Commands Shuffling Limit" setting.
2021-09-18 19:43:55 +03:00
Megamouse
ebde86b967
CLI: add "high-res-timer" argument (defaults to 1)
2021-09-18 00:58:05 +02:00
Megamouse
14a425e487
rsx: wait when emulation is paused
...
This decreases my cpu usage by to <1% during Emu.Pause()
2021-09-17 23:13:24 +02:00
Megamouse
1f1d1da87b
silence some warnings
2021-09-17 23:13:24 +02:00
Megamouse
129ade2f73
System: only init fxo objects if a game is started
...
The progress_dialog and patch system aren't needed unless a game is started.
Before, they were both initialized everytime we added a single game to the game list or even when simply started RPCS3.
This both means that a thread was needlessly idling all the time and even worse: The patch.yml was read countless times when we didn't need it.
2021-09-17 22:45:14 +02:00
Eladash
c37c6fb6de
System.cpp: Remove outdated and bugged code-block
2021-09-17 22:15:48 +02:00
Eladash
5736fa3351
Fix Emulator::IsPathInsideDir
2021-09-17 22:15:48 +02:00
Eladash
3e84a2acc0
PKG: Implement SDATA decryption
2021-09-17 22:15:48 +02:00
Eladash
77c252a4c0
PKG: Debugging messages
2021-09-17 22:15:48 +02:00
Eladash
e4f92ddf77
GUI: PARAM.SFO formatting
2021-09-17 22:15:48 +02:00
Eladash
1f3b1e1c99
Implement Emulator::GetFakeCat()
...
I still have nightmares about that cat.
2021-09-17 22:15:48 +02:00
Eladash
73bdf7481e
Emu: Fix disc game move from hdd0/game
2021-09-17 22:15:48 +02:00
kd-11
c2ab3c664c
rsx: Fix stupid overflow
2021-09-17 20:12:08 +03:00
Eladash
ddec5d6908
CPUThread: Prevent recursive check_state calls
2021-09-17 14:02:22 +03:00
Eladash
975aae1d13
SPU MFC: Implement MFC commands execution shuffling
2021-09-17 11:38:10 +03:00
Nekotekina
9e62ca562b
SPU LLVM: implement SQRT and DIV pattern detection (xf)
2021-09-17 10:23:43 +03:00
Nekotekina
d28b0ba2fa
SPU LLVM: implement spu_re, spu_rsqrte
...
Improve matching with peek_through_bitcasts() helper.
Implement erase_stores() helper.
2021-09-17 10:23:43 +03:00
Nekotekina
aba332d4c4
SPU LLVM: make intrinsics for most xfloat instructions
2021-09-17 10:23:43 +03:00
Nekotekina
543fb7a9cb
LLVM DSL / SPU LLVM: implement infinite precision shifts
...
Remove old make_*** helpers in favor of matcheable expressions.
2021-09-17 10:23:43 +03:00
Nekotekina
67b3fc70f8
LLVM DSL: implement absd and match helpers
...
Matcheable expression absd(a, b) (absolute difference).
2021-09-17 10:23:43 +03:00
Nekotekina
2268aa9093
LLVM DSL: reimplement fre, frsqe, fmax, fmin
2021-09-17 10:23:43 +03:00
Nekotekina
4b8ee85995
LLVM DSL: reimplement pshufb, add 'calli'
...
Implement postponed custom intrinsic replacement.
Make bitcast operator static like other ones.
2021-09-17 10:23:43 +03:00
Nekotekina
86ead1b93b
SPU LLVM: implement FI instruction
...
Use approximate reciprocal in FRSQEST.
2021-09-17 10:23:43 +03:00
Nekotekina
7ec7f261b1
LLVM DSL: implement fpcast
2021-09-17 10:23:43 +03:00
Nekotekina
1685769bd9
LLVM DSL: reimplement fmuladd, force hw fma if present
2021-09-17 10:23:43 +03:00
Nekotekina
2acb6ed60d
SPU LLVM: optimize SHUFB for permutation-only shuffles
...
Drop constant generation when unused.
2021-09-17 10:23:43 +03:00
Nekotekina
144244e902
SPU LLVM: implement missing constant mask handling in SHUFB
2021-09-17 10:23:43 +03:00
Nekotekina
7cf9d1380b
LLVM DSL: add line number in get_const_vector automatically
2021-09-17 10:23:43 +03:00
Nekotekina
f188019244
LLVM DSL: reimpelement fsqrt, fabs
2021-09-17 10:23:43 +03:00
Nekotekina
38dfc88e8d
LLVM DSL: reimplement avg
2021-09-17 10:23:43 +03:00
Nekotekina
95c36221fa
LLVM DSL: reimplement ctlz, ctpop
2021-09-17 10:23:43 +03:00
NicknineTheEagle
b30ac48513
Refresh game list after installing RAP files via menus
2021-09-16 23:54:53 +02:00
NicknineTheEagle
4fcc1c0f31
Fully implement sceNpDrmVerifyUpgradeLicense
2021-09-16 23:54:53 +02:00
Megamouse
1a2fad4eac
cellSearch: more stubs and implementations ( #10578 )
2021-09-16 22:05:29 +01:00
Megamouse
da4f4dafbd
overlays: Show feedback while stopping ppu compilation
2021-09-16 22:18:43 +02:00
Eladash
e5876b3a1b
Fix BDVD path setting
2021-09-16 21:28:52 +03:00
Eladash
9c2d94ca1a
sys_prx: Improve sys_prx_get_module_info error checking
2021-09-16 19:09:18 +03:00
Eladash
ae4f837f57
sys_prx: Implement sys_prx_get_module_id_by_address
2021-09-16 19:09:18 +03:00
xddxd
bcda172ae7
Switch from r16ui to r16
2021-09-16 14:09:21 +03:00
xddxd
d511e76a63
Enable the precise occlusion query feature
2021-09-16 14:09:21 +03:00
Megamouse
56e982375e
Qt: add changelog to updater ( #10844 )
2021-09-16 04:34:06 +01:00
Megamouse
e3eaf5f29e
Qt: Reset stick positions on pad handler change
...
Fixes weird stick positions when pads are disconnected or not sticks are not supported.
2021-09-15 21:43:29 +02:00
Megamouse
e56609d836
Qt: Relocate pad handler parameter changes
2021-09-15 21:43:29 +02:00
Megamouse
460fb66949
Qt: reset config when null pad handler is selected
2021-09-15 21:43:29 +02:00
Megamouse
b955469721
Qt: fix player selection checks
2021-09-15 21:43:29 +02:00
Megamouse
6378e16fdf
Emu.Load: add more logging
2021-09-15 21:43:29 +02:00
Eladash
8b48fd95fe
Fix sys_prx_start/stop_module for older firmware
...
The old structure is only 32 bytes long, not containing prologue/epilogue functions.
2021-09-15 18:08:58 +03:00
Eladash
5600430a05
Fix user_interface::alloc_thread_bit() usage
2021-09-13 22:36:53 +03:00
Eladash
50ad7ba1f6
vm: Fix vm::unmap
...
* Make vm::unmap atomic, squash the memory unmapping process inside this function while still using the same VM mutex ownership.
* Make vm::unmap not fail due to random vm::get calls, shared_ptr reference count is no longer a condition.
* Fix sys_mmapper_free_address spuriously failing with EBUSY due to random vm::get calls.
* Fix sys_vm_unmap race condition due to non-atomic vm::unmap.
* Add an optional verification block ptr arg to vm::unmap, used by patches.
2021-09-13 20:53:34 +03:00
Eladash
fe6cb4774e
Fixup default config-path ( #10863 )
...
Fixes #10862
2021-09-12 21:28:48 +03:00
Eladash
91fefd4671
Fix vm::try_alloc regression
2021-09-12 19:05:26 +03:00
Eladash
677d5f09ce
Add debugging info for when sys_tty_write is executed
2021-09-12 19:05:26 +03:00
Eladash
c7f5475b56
Improve sys_fs_close logging
2021-09-12 19:05:26 +03:00
陈俊嘉
42e3add6a1
BUILD: a couple of cmake msvc compile fixes ( #10799 )
...
* cmake: a couple of msvc compile fixes
Throw error when using multi-config generators.
Add USE_MSVC_STATIC_CRT option for statically linking with CRT.
Set curl's CURL_STATIC_CRT aligned with USE_MSVC_STATIC_CRT.
Fix cmake configs of 7z and OpenAL in msvc build.
Remove unecessary hard coded compiling and linking flags.
Use debug option in windeployqt when configuring for a debug build.
Search for windeployqt tool in configure time.
Add vcpkg's Qt support.
* Fix some typos
2021-09-11 23:55:53 +02:00
Megamouse
8dc98bbc1b
Add support for sc vtrm crypto
...
For VSH for @Clienthax
2021-09-11 21:13:46 +02:00
Eladash
f98595bee5
Patches/PPU: Add jump_link patch type
2021-09-10 11:46:39 +03:00
Eladash
fafefb2cf5
Fixup No.3 after #10779
2021-09-10 11:46:39 +03:00
Eladash
1cbcf7e1ad
Reimplement config selection for game startup
...
* Implement manual selection of config file.
* Implement default config option.
* Fix bug which led to 'force global config' to not work in some games. (any game using process relaunch such most game collections, RDR, MGS4 etc)
* Relax CLI config purpose - instead the emulator forever ignoring any other config except for the one provided in arg, use it only for the CLI-booted game.
2021-09-09 21:56:50 +02:00
Eladash
df080fbc53
Ensure frozen emulation for special executables inspection modes
2021-09-09 19:30:54 +02:00
Eladash
bd66dfedc9
Do not allow to unpause after fatal error occured in emulation
...
* Plus fix #10590
2021-09-09 19:30:54 +02:00
Megamouse
69faf14a79
System: remove deprecated custom config location
2021-09-08 21:56:50 +02:00
Megamouse
1a443cf6b5
Qt: remove deprecated playtime code
2021-09-08 21:56:50 +02:00
Megamouse
2fb68bfc03
Qt: release scaled pixmaps from memory if possible
2021-09-08 20:40:34 +02:00
Megamouse
4d70c483b2
Qt: release unused data when switching list modes
2021-09-08 20:40:34 +02:00
Megamouse
29256df5b1
input: make pad_thread a named_thread
2021-09-08 20:15:28 +02:00
Megamouse
a74156fe5b
input: reimplement lost optimization
...
We don't need to check all the buttons constantly
2021-09-08 20:15:28 +02:00
Megamouse
57473ff98d
Qt: Add missing Boot confirmation
2021-09-08 20:15:28 +02:00
Talkashie
00618995d9
fix
...
Makes things more consistent.
There were cases where both "Alt-Enter" and "Alt+Enter" were being used, so I made them all use the same style.
Added more commas and periods to give a more natural flow of sentences.
2021-09-07 13:26:08 +02:00
Eladash
6a340afb8a
Log emulation pause/unpause events
2021-09-07 08:51:59 +02:00
Eladash
dfbc49513d
Debugger/Disasm: Name SPU Syscalls
2021-09-07 01:13:57 +02:00
Megamouse
7bb830a228
Enable PPU java mode handling by default ( #10825 )
...
I don't remember if we had decided to do this, so I'll just make a PR and Ani or Neko can merge if needed.
2021-09-06 20:26:23 +01:00
kd-11
b3f002f68f
Add enums for zcull precision control
2021-09-06 20:04:03 +03:00
kd-11
ea949a5f28
Add ZCULL control options to the GUI
2021-09-06 20:04:03 +03:00
kd-11
53457262d4
rsx: Implement ZPASS results scaling for precise stats
2021-09-06 20:04:03 +03:00
kd-11
472efc08eb
rsx: Implement precise ZCULL stats
2021-09-06 20:04:03 +03:00
Megamouse
0525070898
remove deprecated avcodec_register_all
...
We already use newer avcodec code anyway.
2021-09-06 10:00:34 +02:00
Megamouse
cbc1c472d5
VS: add missing generated file
2021-09-05 10:16:25 +02:00
Megamouse
aca9884e76
input: fix custom pad config loading
2021-09-05 10:16:25 +02:00
Megamouse
17fb601c02
input: fix custom pad config saving
2021-09-05 10:16:25 +02:00
Megamouse
76ac8ffbd6
input: fix custom pad config removal
2021-09-05 10:16:25 +02:00
Eladash
fe0c164de2
sys_net: Anti-log spam enhancement
2021-09-04 11:58:59 +02:00
Eladash
ea2c5294df
cellCamera: Anti-Log spam enhancement
2021-09-04 11:58:59 +02:00
Megamouse
3c0681ad6d
Qt: patch creator
2021-09-04 10:39:32 +02:00
Megamouse
0debcfed0a
Silence some warnings
2021-09-02 19:39:42 +02:00
Nekotekina
06f733a7f2
Fixup No.2 for #10779
2021-09-01 16:56:38 +03:00
Nekotekina
ad6a72e369
Fixup for #10779
2021-09-01 14:38:20 +03:00
Eladash
b40ed5bdb7
Patches/PPU: Extend and improve patching capabilities (code allocations, jumps to any address) ( #10779 )
...
* Patches/PPU: Implement dynamic code allocation + Any-Address jump patches
Also fix deallocation path of fixed allocation patches.
2021-09-01 13:38:17 +03:00
polar
ee6e4c493d
BUILD: Refactor wolfssl submodule ( #10780 )
2021-09-01 09:58:05 +02:00
Ani
9c0c8f2bc7
rpcs3_version: Bump to 0.0.18
2021-08-31 23:03:30 +01:00
Malcolm Jestadt
43cc62d267
SPU LLVM: Add m_use_vnni
...
- Alderlake and Sapphirerapids will require an update to the llvm fork before they can be detected
2021-08-31 14:02:05 +03:00
Malcolm Jestadt
d304b52391
SPU LLVM: Add VNNI optimized variant of sumb
...
- Uses vpdpbusd to horrizontally add values, for some reason this is much faster than the normal horizontal add instructions.
2021-08-31 14:02:05 +03:00
Malcolm Jestadt
a86b278115
SPU LLVM: Expand byteswap elimination to more instructions
2021-08-31 14:02:05 +03:00
Justin Lewis
ae491f04a1
Fixes build issue with LLVM on Windows with cmake ( #10776 )
...
LLVM fails to build on Windows with C++ 20 standard. When building LLVM
on Windows, we use C++ 14 already. This commit changes the c++ standard
to be picked by each subdirectory rather than the standard being picked
by the root level cmake file.
2021-08-31 11:07:49 +01:00
RipleyTom
1e108d97b2
Removes need for sys/sysctl.h on linux
2021-08-31 12:30:22 +03:00
Nekotekina
8db02dcf40
Fixup get-commit-db utility
2021-08-30 14:42:16 +03:00
Nekotekina
63104af8e9
vm_native: detect overcommit support on FreeBSD and other OS
...
Used in sparse memory initialization code.
2021-08-30 14:42:16 +03:00
kd-11
b5dcfb3431
rsx: Rework gamma override mask from RGBA to ARGB to match other per-channel mask registers
2021-08-30 11:41:19 +03:00
kd-11
a5e455d8ed
rsx/fp: Handle signed operator precedence
...
This was marked TODO for a long time
- Unsigned remap seems to be overriden by gamma mask (Resistance 3)
- We already know sign mask overrides gamma mask from UE3 titles
2021-08-30 11:41:19 +03:00
Eladash
6781373727
Patch cooperate with system SPU group creation ( #10791 )
2021-08-29 22:03:17 +03:00
Megamouse
b07960d3bc
input: move pressure sensitivity to the handlers
...
This removes a data race where the button was kept pressed but the values ingame could vary
2021-08-29 10:41:22 +02:00
Megamouse
977d729ee0
input: use buffers during button translation
...
This should reduce some random noise by assgning the values once instead of twice
2021-08-29 10:41:22 +02:00
Megamouse
a33b2afe08
input: remove inconvenient pad mutex
...
It takes too long to wait for some handlers after all, causing stutter.
2021-08-29 10:41:22 +02:00
Megamouse
2eb0d19a75
input: rename some variables
2021-08-29 10:41:22 +02:00
Megamouse
9ecd1e37fa
add log message for downloader
2021-08-29 10:41:22 +02:00
kd-11
3ab9e04db7
rsx: Fix surface access bit flags
...
- The previous enumeration was a holdover from older access management.
- A bitflag of 0 seriously messes up the mask tests
2021-08-29 11:10:30 +03:00
Eladash
f185aba5fc
Mark "Disable Logging", add explanatory log message
2021-08-28 20:35:30 +02:00
Megamouse
2431fcc2a1
windows: fix get-commit-db
2021-08-28 18:29:46 +02:00
Megamouse
1060e93783
curl: log errors
2021-08-28 17:37:52 +02:00
Megamouse
5aee8a8a81
pad settings: Check duplicate button assignment
2021-08-28 11:15:43 +02:00
Megamouse
28b9f4238a
pad settings: disable more stuff during key input
2021-08-28 11:15:43 +02:00
Megamouse
a09c2dbdd7
Qt: fix newlines. someone ™️ changed to richtext
2021-08-28 11:15:43 +02:00
Megamouse
e1a5a24a93
Qt: remove obsolete lambda
2021-08-28 11:15:43 +02:00
Eladash
ddb042148d
Patches/LLVM: Implement Complex Patches Support
2021-08-26 23:04:32 +03:00
Eladash
2d9929059f
vm: Fix an overflow at vm::alloc, fix vm::find_map ( #10760 )
...
* The statement addr += align could have overflowed resulting in either infinite loop or allocating memory outside of the region (illegal).
Add a check checking if it's the last iteration of the loop, then break without adding.
* vm::find_map condition didn't consider the size of the map to be allocated, allowing illegal occupation of [<=0xB000'0000]-0xCFFF'FFFF. (0xC000'0000-0xCFFF'FFFF is reserved for RSX)
2021-08-26 18:14:08 +03:00
kd-11
b0e352c44e
Add missing const
2021-08-26 13:55:00 +03:00
kd-11
2ff407ac6a
rsx/fp: Fix perspective correction handling
...
- Perspective correction flag multiplies VP output by HPOS.w.
NOTE: Not the same as division by w when it comes to NaN/Inf problems!!
- Restructure indexed loads a bit to avoid re-initializing registers unnecessarily
2021-08-26 13:55:00 +03:00
kd-11
b0e5de4c9c
rsx: Texcoord control mask affects decompiler output!
2021-08-26 13:55:00 +03:00
Megamouse
970fe0df12
input: revert stupid ideas
...
In order to make input more "atomic" I added man in the middle interfaces to decrease the delay between input and cellPad.
But I failed to notice that this introduced a data race between both ends of the pipeline.
I hope the new mutex location doesn't cause any noticeable input lag.
2021-08-26 08:48:03 +02:00
Megamouse
38097783b8
input: fix keyboard handler port status
...
🤦
2021-08-26 05:01:16 +02:00
Megamouse
ae1729bd8a
fix MSVC filters
2021-08-26 05:01:16 +02:00
Megamouse
72f0637efe
Windows/Audio: add listener for device change
...
For some reason XAudio2 doesn't automatically change the device anymore.
So let's just listen for the OnDefaultDeviceChanged event and update the cell audio thread if necessary.
2021-08-25 22:44:16 +02:00
Eladash
4e139ee080
vm: Fix vm::page_protect error checking
2021-08-24 18:52:01 +03:00
kd-11
57b9acec62
rsx: Implement indexed dynamic attribute load
2021-08-24 16:52:18 +03:00
kd-11
c1f31d37f5
fsr: Mark output images explicitly as nonreadable
2021-08-24 15:30:46 +03:00
polar
d84d82c166
BUILD: Refactor yaml-cpp submodule ( #10745 )
...
* moved yaml-cpp files into seperate directory
2021-08-24 06:39:26 +01:00
Megamouse
f44e50b9cd
mmjoy: fix pressure sensitivity button
...
It defaulted to JOY_POVFORWARD (same dumb facepalm bug as with XInput earlier)
2021-08-24 00:01:38 +02:00
Whatcookie
d0451932bf
Offset get_timebased_time at game boot ( #10744 )
...
- Avoids game bugs in the case where games convert the value read from the clock to a float before performing delta time calculations
2021-08-23 13:06:02 +01:00
kd-11
92749f011e
vk: Experimental workaround to just disable compression
...
Applies some flags to disable aggressive optimizations on some hw.
Currently applies to AMD cards which will avoid compression if mutable
format is enabled.
This is a temporary workaround.
2021-08-23 09:34:56 +03:00
kd-11
9080d09583
vk: Add support for other formats as FSR output
2021-08-23 09:34:56 +03:00
kd-11
afc71341a5
vk: Add RADV to list of drivers with unreliable 'OUT_OF_DATE' notification when window size changes
2021-08-23 09:34:56 +03:00
Ani
1cdb2c6a26
vk: Register newer Navi GPUs ( #10740 )
2021-08-22 13:18:38 +01:00
Whatcookie
c62deeefd4
SPU LLVM: Add approximate FCEQ/FCMEQ ( #8729 )
...
- It's 100% accurate, but will sit under approx xfloat anyways
- Attempts to use a single instruction when 1 value is constant
2021-08-22 10:13:34 +03:00
kd-11
4953e79588
Add workaround for wayland session
2021-08-21 21:40:19 +03:00
Marco
5c0bf14554
Whitelist Kamen Rider Summonride Portal sys_usbd ( #10722 )
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-08-21 11:08:56 +03:00
Megamouse
62102293b5
Input: fix keyboard stick lerp
2021-08-21 00:56:50 +02:00
kd-11
3eb37344cd
rsx/fp: Fix indexed TEX[n] loads
2021-08-20 11:59:05 +03:00
Eladash
fcfeac818f
Loader: Improve just-in-time installation of disc game files ( #10719 )
...
* rsx: Indexed access to surface attributes
2021-08-19 08:49:59 +03:00
Justin Lewis
c13a46b07b
Fix warnings about using deprecated inet_ntoa function ( #10698 )
...
* Replaced inet_ntoa with inet_ntop.
The warning in question is: "Warning C4996 'inet_ntoa': Use
inet_ntop() or InetNtop() instead or define
_WINSOCK_DEPRECATED_NO_WARNINGS"
2021-08-18 07:16:38 +03:00
kd-11
705693ecf8
rsx: Fixup image-in data length calculations
2021-08-17 23:10:42 +03:00
kd-11
8848dc6673
vk: Improve driver compatibility
...
- Add workarounds to disable compression on mesa drivers
- Separate intel proprietary vs mesa into two enumerants
2021-08-17 20:19:45 +03:00
Nick Renieris
47e784d5d0
gl/vk: Scale line width & point size by resolution scaling
2021-08-17 19:29:46 +03:00
Eladash
a346767a72
rsx: Improve rsx::recover_fifo() to take a hint from driver wake-up delay
2021-08-17 16:40:41 +03:00
Eladash
107641626a
rsx: Implement crash-proofing for image_in dst/src formats
2021-08-17 16:40:41 +03:00
Eladash
83624e1f68
rsx: Implement crash-proofing for src/dst image_in address
2021-08-17 16:40:41 +03:00
Eladash
2ce164be09
rsx: Implement crash-proofing for 308A_COLOR dst address
2021-08-17 16:40:41 +03:00
Megamouse
aa48bd91f4
input: fix pad defaults when config file was empty
2021-08-15 21:02:38 +02:00
Megamouse
ac986c7c61
fix some warnings
2021-08-15 21:02:38 +02:00
Megamouse
cad96cef72
input: redesign pad profiles
2021-08-15 08:24:35 +02:00
Eladash
41cfa6349a
GUI: Display PKG information & installation confirmation from main menu
2021-08-14 23:26:11 +02:00
Eladash
62beaf299f
Remove old RSX instructions viewer ( #10710 )
2021-08-14 21:20:11 +03:00
kd-11
b928cb0223
vk: Fix unused variable error
2021-08-13 22:46:36 +03:00
kd-11
4b2562d02a
vk: Silence maybe-uninitialized warnings
2021-08-13 22:46:36 +03:00
kd-11
b5faa8f83c
vk: Properly calculate cubemap memory size
2021-08-13 22:46:36 +03:00
Megamouse
53bfc6fa59
cellGem: fix floating point warning
2021-08-13 20:45:18 +02:00
Megamouse
adece0b73e
Qt: fix updater menu button
...
It kept auto accepting
2021-08-13 20:45:18 +02:00
Eladash
063df64108
SPU/event queue: Implement protocol for SPU queue
2021-08-13 08:58:09 +03:00
Eladash
f1f93b8f81
SPU: Remove outdated assertation
2021-08-13 08:58:09 +03:00
Eladash
5784ffc972
Fixup PPU breakpoints
2021-08-12 22:24:54 +03:00
Eladash
91737b11fe
Fix sys_spu_thread_group_resume
...
Do not remove suspend flag when SPU group state is not SPU_THREAD_GROUP_STATUS_RUNNING after operation!
2021-08-12 22:24:54 +03:00
Eladash
bf61c826d5
SPU/event queue: Atomically resume SPU group
2021-08-12 22:24:54 +03:00
Megamouse
5816505e61
input: fix player id if handler has 2 or more pads
2021-08-10 21:31:29 +02:00
dio-gh
6e1c7a2c16
Change the FSR tooltip to not Bri'ish English
...
Apparently artefacts is not a typo, but the en-gb spelling?
2021-08-10 20:36:20 +02:00
kd-11
c9afb3daaa
rsx: Significantly reduce the applied subpixel bias when handling unnormalized access
...
- If a large value is set (e.g 0.5) rounding will sample 'up' and we can read the wrong texel
2021-08-10 12:02:19 +03:00
Megamouse
27c86422c7
input: fix keyboard pad handler
2021-08-09 14:38:33 +02:00
Megamouse
1b775febcd
evdev: fix axis_orientations index
2021-08-09 14:38:33 +02:00
Megamouse
f0d51899c1
input: fix minor data race
...
While usually not exposed to the user, there was a slight chance that user input was read in a dirty state.
This became apparent during usage of the new pressure sensitivity button
2021-08-09 11:29:46 +02:00
Zion
3fa9d23627
Add startupWMClass to linux .desktop Fixes #10685
2021-08-09 09:08:44 +02:00
Megamouse
2b18813115
input: fix pressure sensitivity button
2021-08-09 01:05:15 +02:00
Megamouse
430fd759fe
sys_net: add missing range checks
2021-08-08 21:06:07 +02:00
Eladash
0556837e3b
kernel_explorer: Fix VM object formatting ( #10666 )
...
* kernel_explorer: Fix VM object formatting
* kernel-explorer: Fix type of tree_item_names
unordered_map is completely unordered.. while with array-alike type (such as initializer_list) you can control the order of elements.
* kernel_explorer: Add control data ptr info (lwcond/lwmutex)
* kernel_explorer: Restrict lwmutex data reading furthher
2021-08-07 21:38:03 +02:00
Megamouse
d4802cc766
input: Add pressure sensitivity button
2021-08-07 21:03:34 +02:00
kd-11
0031c41630
rsx: Check all attachments when generating pipeline hash key
2021-08-07 19:38:39 +03:00
kd-11
f745971cc8
rsx: Fix coordinate scaling for shadow access ( #10668 )
...
- For shadow2DProj the 3rd coordinate is actually the depth value, do not scale
2021-08-06 22:49:50 +01:00
kd-11
456b649b19
vk: Do not force check for successful texture cache load
...
The following set of conditions can fail
1. We hit a RTT owned texture
2. The texture is invalidated (failed memory integrity test) and set to write/read-through
In this situation, RTT overlap check will skip this surface, and a match can be found in texture cache if WCB/WDB is enabled.
The incoming hit however has no managed payload. This is expected behavior, the search should load from CPU.
2021-08-06 22:07:23 +03:00
Matias Moran
4035dcf8e3
ui: fix spacing on gpu tab
...
just changed back what didn't seem important from kd's changes lol
2021-08-06 19:43:03 +03:00
kd-11
dff5707e19
Formatting fix
2021-08-06 17:18:48 +03:00
kd-11
0f5603a4bc
Disable warnings around 3rdparty header
2021-08-06 17:18:48 +03:00
kd-11
a4c1fcb59a
Fix 3rdparty imports for case-sensitive platforms (fixes *NIX build)
2021-08-06 17:18:48 +03:00
kd-11
d0a824996b
vk: Add basic support for FSR 1.0
...
- Only implemented for image upscaling.
- Disabled by default. Emulators cannot ensure upscalers are injected at the right rendering step.
- GUI integration not implemented.
2021-08-06 17:18:48 +03:00
kd-11
69b34693f0
vk: Simplify compute job cleanup on exit
...
- Just call destroy automatically on object destruct
2021-08-06 17:18:48 +03:00
kd-11
9a63ed6c50
vk: Unbind global renderer if it is destroyed
2021-08-06 17:18:48 +03:00
kd-11
6f6eda6413
vk/device: Formatting fixes only (EOL)
2021-08-06 17:18:48 +03:00
Nekotekina
86d2316089
sys_net/NP: set some init dependencies
...
Ensure finalization order of network threads.
This should prevent some crashes.
2021-08-06 10:41:40 +03:00
Nekotekina
064fc81697
Fix warnings
2021-08-06 10:41:40 +03:00
Megamouse
b7e4de6ea5
Qt: purge gui settings
2021-08-05 22:56:38 +02:00
Megamouse
a146aabcaf
cellGem: Disable Alignment Checks
2021-08-05 13:10:08 +02:00
Eladash
9ecb6c4e34
Fix sys_spu_thread_group_create
2021-08-05 08:12:34 +03:00
Megamouse
3ccfb86e1b
cellGem: use existing constant for sphere radius
2021-08-05 02:26:20 +02:00
Megamouse
9c21f43df6
cellGem: fix Deadstorm Pirates regression
2021-08-05 02:02:34 +02:00
Megamouse
87c07679e1
cellGem: add calibration logic with 0.5 second delay
2021-08-05 02:02:34 +02:00
Megamouse
6de4c27b32
cellGem: fix controller connection check
2021-08-05 02:02:34 +02:00
Megamouse
995e9b5f9f
cellGem: reset struct on controller reset
2021-08-05 02:02:34 +02:00
Megamouse
e03f323fdd
cellGem: add some more checks
2021-08-05 02:02:34 +02:00
Megamouse
f2bca2ef67
cellGem: set cellGemGetCameraState values
2021-08-05 02:02:34 +02:00
Megamouse
0b88d5f077
cellGem: implement cellGemHSVtoRGB
2021-08-05 02:02:34 +02:00
Eladash
9f67e00e40
sys_spu: Add one more limiting SPU threads creation condition
2021-08-04 21:39:57 +03:00
Eladash
9d71369b2c
Fixup HLE lwmutex
2021-08-04 21:39:57 +03:00
Megamouse
2dd0f488a1
cellGem: cellGemPrepareVideoConvert update
2021-08-04 20:28:34 +02:00
Megamouse
dd7f24b20e
cellGem: fix mouse positions
2021-08-04 20:28:34 +02:00
Megamouse
ccb7531289
cellGem: update cellGemGetState
2021-08-04 20:28:34 +02:00
Megamouse
4d0179174a
cellGem: add more mouse buttons
2021-08-04 20:28:34 +02:00
Megamouse
3ddcf60a11
cellGem: add some more error checks
2021-08-04 20:28:34 +02:00
Megamouse
3b581aaf94
cellGem: disable tracking in cellGemForceRGB
2021-08-04 20:28:34 +02:00
Megamouse
0c68a6afdd
cellGem: improve hue handling
2021-08-04 20:28:34 +02:00
Megamouse
fd29382290
cellGem: fix fake move calibration status flag
...
Apparently OCCURRED means that there are flags to be checked, while SUCCEEDED means that everything went smoothly.
2021-08-04 20:28:34 +02:00
Megamouse
1d3f91a1b8
cellGem: add ext_id and SHARP_SHOOTER_DEVICE_ID
2021-08-04 20:28:34 +02:00
Megamouse
999252a806
cellGem: fix typos, add some comments and reorder
2021-08-04 20:28:34 +02:00
kd-11
da3c9948e6
rsx: Revert use of std::has_single_bit
...
- Zero is not a power of 2 in this situation, and we do not want to treat it as such
2021-08-04 20:28:25 +03:00
kd-11
daa8265a47
rsx: Fix interpreter texture fetch
2021-08-04 20:28:25 +03:00
Eladash
f807ebf9ba
PPU: Improve accuracy of "Accurate PPU 128 reservations" mode
2021-08-04 18:18:59 +03:00
Eladash
8c3a4c260e
Bugfix of sys_lwmutex_destroy
2021-08-04 09:03:17 +03:00
Eladash
06f4dfb9f1
SPU: Implement sys_spu_initialize and limit of physical SPU threads
2021-08-04 08:26:32 +03:00
Megamouse
af89eb5404
ppu compilation: fix facepalm (double increase)
2021-08-03 08:39:57 +02:00
Megamouse
dc0a086400
sys_prx_unload_module: fix log message
2021-08-03 08:39:57 +02:00
kd-11
8aec943093
Use c++20 has_single_bit for POT test
2021-08-03 00:36:04 +03:00
kd-11
99b6963fab
rsx: Improve unnormalized coordinate sampling
...
- Improve rounding when sampling nearest neighbour. This is mostly a problem with NVIDIA
- Implement unnormalized 3D sampling
2021-08-03 00:36:04 +03:00
kd-11
b3c65b7bca
rsx: Implement vtc encoding for NVIDIA OpenGL support
2021-08-03 00:36:04 +03:00
kd-11
0ec526c5f1
rsx: Do not use VTC tiling on NPOT textures
...
- Seems to be ignored for 'normal' textures. Mostly verified through games.
2021-08-03 00:36:04 +03:00
Emmanuel Gil Peyrot
8af694da2e
Crypto/ec: Make internal functions static
...
This reduces the size of the stripped .o by 3 KiB, and the non-stripped
one by 21 KiB, when not doing LTO.
2021-08-01 12:21:17 +03:00
Nekotekina
05d1b3605e
Fixup for SPU Debug mode (bad SHA1)
...
Should fix crashes due to read out of bounds.
2021-08-01 10:12:08 +03:00
Nekotekina
286e154d05
SPU Profiler: adjust accumulation logic
...
Don't append trampoline time to verification time.
2021-08-01 09:59:00 +03:00
Eladash
a0c1b250b6
Fix HLE LWMutex setting - Implement dynamic initialization of HLE functions
2021-07-31 21:47:22 +03:00
Megamouse
6527eef655
System: add progress update on existing modules
...
This could cause dialogs to seemingly finish at e.g. 50/100 modules because the existing modules weren't accounted for.
2021-07-31 16:06:18 +02:00
Eladash
f39a0a5fbe
Debugger: Add some error pop-ups for invalid operations
...
* Show error window when setting breakpoints on these conditions:
- SPU/RSX are selected. (not supported)
- When using non-interpreters decoders.
- Non-executable memory is specified.
* Do not allow instruction stepping for non-interpreters decoders.
* Clear breakpoints when the game is stopped.
* Fix setting breakpoints on HLE functions.
2021-07-31 15:27:30 +02:00
Eladash
a06a93d5ba
Fix sys_storage_read
2021-07-30 17:22:43 +03:00
kd-11
f6e4cc14a2
vk: Fix a few incorrectly calculated scratch buffer sizes
2021-07-30 12:43:21 +03:00
Nekotekina
658b4f70ef
Fix some warnings
2021-07-30 09:31:36 +03:00
Nekotekina
fc5840cda6
SPU Cache: allow to dump cache upon startup
...
Print also some stats (if SPU Debug is enabled).
2021-07-30 09:21:11 +03:00
Nekotekina
2f6db5802f
Fix CPU Profiler regression
2021-07-30 09:21:11 +03:00
ibancel
77c191df42
Qt: add fullscreen mouse lock setting
2021-07-29 22:55:55 +02:00
Eladash
d85bb3f4eb
vm_ptr.h: Improve try_read() ( #10627 )
2021-07-29 21:14:29 +03:00
Jan Beich
3a6399aaaa
vm_native: add workaround for FreeBSD 12
...
rpcs3/util/vm_native.cpp:302:16: error: no member named 'memfd_create' in the global namespace
m_file = ::memfd_create_("2M", c_mfd_huge_2mb);
~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
#define memfd_create_ memfd_create
^
rpcs3/util/vm_native.cpp:308:15: error: no member named 'memfd_create' in the global namespace
m_file = ::memfd_create_("", 0);
~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
#define memfd_create_ memfd_create
^
2021-07-29 20:48:10 +03:00
Jan Beich
de6f3b5653
vm_native: enable memfd_create on FreeBSD
2021-07-29 20:48:10 +03:00
Megamouse
0262076bfe
Qt: move java mode setting to advanced tab
2021-07-29 12:42:04 +02:00
Megamouse
7aca2785b6
Qt: abort batch PPU compilation on dialog cancel
2021-07-29 10:18:20 +02:00
Megamouse
6dc35a3772
Qt: add nullptr checks in msg_dialog_frame
2021-07-29 10:18:20 +02:00
Megamouse
2efc4812d7
Qt/System: reset boot path after directory scan
...
This should fix the "Play" Button after batch compiling PPU caches.
Previously you would start the last compiled game, which was kinda weird.
2021-07-29 10:18:20 +02:00
Megamouse
bb9c063e80
Remove unused ppu_initialize declaration
2021-07-29 10:18:20 +02:00
Megamouse
22e51e1615
System: add vsh.self when scanning vsh/module
2021-07-29 10:18:20 +02:00
Megamouse
03a46a499e
System: make IsPathInsideDir a member function
2021-07-29 10:18:20 +02:00
Megamouse
f0e01ceb8f
Qt: compile vsh/module instead of vsh.self
2021-07-29 10:18:20 +02:00
Megamouse
c2c74982c4
Qt: fix vsh ppu compilation and add compile stage
...
It was aborted immediately (hilarious).
2021-07-29 10:18:20 +02:00
Megamouse
c390c02acb
Qt: Compile entire sys folder for firmware
2021-07-29 10:18:20 +02:00
Megamouse
56d46b5a49
Qt: disable VSH boot if not installed
2021-07-29 10:18:20 +02:00
Megamouse
0a7a12bbff
RSX: fix 'Working buffer not big enough'
2021-07-27 23:59:12 +02:00
kd-11
ace187cdd0
vk: Fix scratch allocation when doing GPU deswizzle
...
- We have to use double the memory because the transformation does not occur in-place like normal bswap
2021-07-27 19:56:31 +03:00
kd-11
c54ddabe0b
vk: Handle out of memory errors that are deferred during texture binding
...
- Set out-of-memory flag if we have a failure to build a subresource.
- Mark textures as requiring reload in case of references to invalid data.
- TODO: This is overly complicated and can be handled better with a smart restructure.
2021-07-27 10:52:21 +03:00
kd-11
e5029c532b
vk: Fix comparison between composite memory types
2021-07-27 10:52:21 +03:00
kd-11
a4cd9e022a
vk: Force explicit minimum size declaration for scratch buffers
2021-07-27 10:52:21 +03:00
kd-11
99bbcd15e1
vk: Fix undefined format class for typeless helpers
2021-07-27 10:52:21 +03:00
kd-11
9d11c8cbb5
vk: Allow creating temporary subresources to fail if we run out of memory.
2021-07-27 10:52:21 +03:00
kd-11
92d1534917
rsx: Set composite images upload context based on their actual contents
2021-07-27 10:52:21 +03:00
kd-11
abd8bbd6ef
vk: Allocate enough scratch memory for GPU deswizzle
...
- Forgot to take alignment into account.
2021-07-27 10:52:21 +03:00
kd-11
13abe785a9
vk: Try to spread memory usage evenly across compatible types if possible
...
- Avoids running into budget constraints if you just dump everything into one heap
2021-07-27 10:52:21 +03:00
kd-11
6a9d1edee1
vk: Fix use-after-free hazard by checking if we're faulting from within the texture cache
...
- If we're using the texture cache, DO NOT delete resources.
2021-07-25 20:55:09 +03:00
kd-11
69bdbe97a8
vk: Make use of multi-pool memory types
2021-07-25 20:55:09 +03:00
kd-11
de7ed1cbe9
vk: Scrap minimum scratch buffer size and just allocate what is requested.
2021-07-25 20:55:09 +03:00
kd-11
7d3bbd3cf7
vk: Dynamically select panic boundaries based on resolution scale
2021-07-25 20:55:09 +03:00
kd-11
59e7379010
vk: Implement heap aggregation
...
- Aggregate heaps of same type under one object and allow allocator to try each matching type.
2021-07-25 20:55:09 +03:00
Eladash
be9be6e5c9
Make sys_prx_unload_module use success type logging
2021-07-24 14:23:47 +03:00
Megamouse
867f0e1f02
fix warning
2021-07-23 00:09:46 +02:00
Megamouse
202aed560b
Qt: add option to auto install updates
2021-07-23 00:09:46 +02:00
Megamouse
737b0dfd42
Qt: use last window state when leaving fullscreen
2021-07-21 02:39:26 +02:00
Megamouse
66371457fd
Qt: fix game window positions if the window is bigger than the screen
...
If the screen was smaller than the game window, then the window would pop up top right offscreen.
The fix itself was really simple and obvious from the beginning, just some missing clamping.
But I figured it might be less confusing if I add some prosa.
Especially because it took me a couple of hours to figure out why I made it so complex in the first place.
Btw, there might still be some offset to the left occasionally, but that seems to be an upstream issue
2021-07-21 01:15:01 +02:00
kd-11
0502f7881f
vk: Disable async texture streaming on all NVIDIA cards
2021-07-20 23:00:00 +03:00
Megamouse
50354253c8
replace some random Emu.Pause with fatal errors
2021-07-20 19:47:00 +02:00
Megamouse
954d83b6a0
Qt: fix BatchCreatePPUCaches cancel
2021-07-20 09:46:51 +02:00
Megamouse
f83a877331
Qt: Add VSH to BatchCreatePPUCaches
2021-07-20 09:46:51 +02:00
Megamouse
2a8d740d63
Qt: Add Boot VSH option
2021-07-20 09:46:51 +02:00
Eladash
c84e5489f2
vsh.self: Fix execution on default settings ( #10586 )
2021-07-20 00:36:32 +02:00
Matias
aa08df0455
Include different case files on file selection filters ( #10587 )
...
* Include upper-case .PUP files on firmware selection window filter
* Include uppercase files on a few more filters
2021-07-19 21:47:21 +02:00
Ilya Oleinik
e51d16aa37
Initial implementation of sys_uart
2021-07-19 19:20:43 +03:00
Eladash
98e40d12ef
sys_ppu: Implement sys_ppu_thread_rename
2021-07-19 12:37:33 +02:00
Eladash
e6e0210e73
Extend ppu_thread::call_history_t formatter
2021-07-19 09:28:46 +02:00
Eladash
83a2f06e3a
PPU debugger: Make calling history detect common LLE functions trampolines
2021-07-19 09:28:46 +02:00
Eladash
a5c3c7d2e5
cellSaveData/UNIX: Optimize IO ( #10574 )
2021-07-18 21:08:04 +02:00
clienthax
65b2a0d538
stub rsxaudio
2021-07-18 21:08:03 +03:00
clienthax
d099148961
sys_hid vsh
2021-07-18 14:20:33 +02:00
Eladash
6f901636bf
rsx: Fix vertical windows' clip
2021-07-18 13:44:23 +02:00
Eladash
b087d79a08
PPU debugger: Implement function names at the starting instruction
2021-07-18 13:23:18 +02:00
Eladash
904ec44a8c
PPU debugger: Add instruction disasm for PPU calling history
2021-07-18 13:23:18 +02:00
Eladash
6f6503ee32
cellSaveData: Fixup funcDone result check
2021-07-17 23:30:26 +02:00
clienthax
441713d959
sys_storage vsh implementation ( #10559 )
...
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-07-17 22:06:40 +02:00
clienthax
e75e437a4a
sys_ss vsh stubs
2021-07-17 21:35:47 +02:00
kd-11
0d87d909c6
vk: Fix double-spill for invalidated resources
2021-07-17 21:28:11 +03:00
kd-11
2d4df57d87
vk: Fix nul deref in spill code
...
- Restores code lost in a rebase
2021-07-17 21:28:11 +03:00
kd-11
b7df539871
vk: Fix null deref in texture cache when dumping temporary storage
2021-07-17 21:28:11 +03:00
kd-11
d53f2f10fb
rsx/vk: Improve recovery during OOM situations
...
- Do not spill when running on IGP with only one heap as it will just crash anyway.
- Do not handle collapse operations when OOM. This will likely just crash and there are better ways to handle old surfaces.
- Spill or remove everything not in the current working set
- TODO: MSAA spill without VRAM allocations
2021-07-17 21:28:11 +03:00
Eladash
5940247200
Make little use of formatting byte arrays
2021-07-17 20:02:21 +02:00
Eladash
9a392d2b5c
vm_ptr.h: Do not allow dereferencing for void ptr
...
Do not create vm::ref from it as well.
2021-07-17 20:02:21 +02:00
Eladash
a981c65d2f
Minor fixup of vm::ptr
...
const pointers shouldn't disable reading, they should disable writing.
2021-07-17 20:02:21 +02:00
Eladash
81805945ce
LV2: Fix IPC key reading from attributes
2021-07-17 20:02:21 +02:00
clienthax
7fe15f5f8d
Stub sys_fs mount functions for vsh ( #10561 )
...
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-07-17 19:19:13 +02:00
clienthax
9c5c4457b6
Stub libfs_utility_init to bypass FSCK checks by vsh.
2021-07-17 18:56:07 +02:00
clienthax
1e605de31e
sys_sm_get_ext_event2 stub
2021-07-17 18:35:26 +02:00
Eladash
1e9afdc289
Formatting Library: Implement byte arrays formatting
2021-07-17 18:10:43 +02:00
Eladash
1f6ca25820
Implement TAR-based directory archiver
...
* Implement the ability to save directory contents as TAR.
With the ability to customize saving of specific files and also select which files are saved and which aren't.
* Implement full original TAR USTAR 255 characters path support.
* Implement file modification time and access time support for extracted/archived TAR.
2021-07-17 17:50:18 +02:00
Eladash
8e2c34a003
PPU debugger: Implement PPU calling history
2021-07-17 17:28:23 +02:00
clienthax
c2f0fbcd82
Stub sys_io for vsh.
2021-07-17 17:06:57 +02:00
clienthax
85b33e9cae
Hack for msmw2.sprx timeout.
2021-07-17 14:39:36 +02:00
ZeeWanderer
6250e478f4
[MSVC] glslang fix + vs2022 fixes
...
- glslang - fixed wrong path to common props
- emucore - fixed for VS2022, its a 64 bit app now
- common_default.props - use C++20 standard for VS2022 and further
2021-07-17 02:52:03 +02:00
kd-11
aaac4c1bde
Clang workaround for c++20 non-compliance
2021-07-15 18:05:35 +03:00
kd-11
974a3c8807
Fix linux build
2021-07-15 18:05:35 +03:00
kd-11
369f1132f3
Formatting fixes
...
- Non-functional stuff, move along
2021-07-15 18:05:35 +03:00
kd-11
2524c35638
vk: Improve handling of texture cache temporary resources
...
- Temp resources from the texture cache are used to hold composite objects being sent to the GPU and can waste a lot of memory.
- Remove them if we run out of memory as they can linger around for a long time.
2021-07-15 18:05:35 +03:00
kd-11
d906ccc77e
vk: Switch on the new VRAM management system
2021-07-15 18:05:35 +03:00
kd-11
a2f93b0696
rsx: Implement a simple cache eviction routine
...
- Can remove all non-essential textures from the cache except those passed as an exclusion list
2021-07-15 18:05:35 +03:00
kd-11
77c9dff054
vk: Minor whitespace fix
...
- Non-functional formatting and warning fixes
2021-07-15 18:05:35 +03:00
kd-11
09f9f21261
vk: Add overallocation quota for texture cache
2021-07-15 18:05:35 +03:00
kd-11
5f6d1644cf
vk: Refactor VkTextureCache by moving most of the code to cpp file
...
- Makes adding next set of changes easier
2021-07-15 18:05:35 +03:00
kd-11
c18e5e07cc
vk: Implement VRAM spilling
...
- The idea is to shift memory to "shared graphics memory" when VRAM is running out
2021-07-15 18:05:35 +03:00
kd-11
000414c47d
vk: Refactor surface cache by moving code to cpp file
2021-07-15 18:05:35 +03:00
kd-11
2ffa8f4623
vk: Rename rsx::vk_render_targets to vk::surface_cache
...
- Makes some changes much easier going forward to pull in vk-specific stuff into vk namespace.
- TODO: The same thing needs to happen with GL
2021-07-15 18:05:35 +03:00
kd-11
53c9fb3e00
vk: Improve memory load balancing and reporting
...
- Track pool usage
- Take allocation percentages into account when making decisions on whether there is overloading or not
2021-07-15 18:05:35 +03:00
kd-11
342b25d00e
vk: Expose memory heap sizes to the runtime.
...
- This will help to make decisions regarding VRAM utilization instead of relying on budget blindly
2021-07-15 18:05:35 +03:00
kd-11
88abf3a6ba
vk: Introduce the concept of VRAM allocation pools
...
- Each buffer or image has to declare which pool it belongs to. This will aid with memory management down the line.
2021-07-15 18:05:35 +03:00
kd-11
71a5e5333a
rsx: Fix invalid reference when purging unlocked sections
2021-07-15 18:05:35 +03:00
RipleyTom
a34201ebff
Fix deref in sceNpMatching2CreateContext ( #10539 )
2021-07-14 00:11:14 +01:00
Eladash
6a7324ab3e
kernel_explorer: Atomic PPU state updates
2021-07-10 22:20:37 +03:00
Megamouse
f4d0261387
Qt: add more Qt blockingMapped workarounds
...
This probably won't fix anything, but better be safe than sorry
2021-07-10 13:29:39 +02:00
Megamouse
7f7bd961e2
Qt: kernel_explorer optimizations
...
- roughly 10 times faster update from scratch on average
- removed some unused function
- added fatals for unexpected node failure
2021-07-10 08:18:38 +02:00
Megamouse
fcbacf8afd
sys_usbd: add PlayTV SCEH-0036
2021-07-08 22:06:48 +02:00
Megamouse
e75de44907
cellGame: treat media apps as CELL_GAME_GAMETYPE_HDD
...
This is kinda hacky but it fixes some errors in PlayTv
2021-07-08 22:06:48 +02:00
Megamouse
161fa95066
cellGame: improve logging
2021-07-08 22:06:48 +02:00
Megamouse
8f8605ab2f
Mount bdvd_dir regardless of patch category
2021-07-08 22:06:48 +02:00
Megamouse
544a458f20
Qt: show patch version for disc games regardless of the patch category
...
Patches for disc games can also appear as "TV App" etc.
2021-07-08 22:06:48 +02:00
polar
285b9dad83
Refactor faudio submodule ( #10397 )
...
* updated bad header import
* added faudio shared library option
2021-07-08 21:31:45 +02:00
Megamouse
770a607ba5
Qt: add PPU LLVM Java Mode Handling to debug tab
2021-07-02 19:34:06 +02:00
Eladash
a2d4bd4fff
kernel-explorer: Add logging ability
2021-07-02 12:29:59 +02:00
Eladash
fe8d524352
Improve kernel-explorer's user experience
...
* Default width of dialog has been increased to fit PPU, SPURS and filesystem objects' description length.
* Height has been increased as well to allow viwing more objects at once.
* Added title of the game to the kernel explorer's windows' title.
2021-07-02 12:29:59 +02:00
Megamouse
e212f16962
sceNp: fix invalid ctx dereference
...
Fixes "Buzz! Quiz Player" Offline Gameplay
2021-07-01 23:09:23 +02:00
Ani
020fdcc781
rpcs3_version: Bump to 0.0.17
2021-06-30 20:14:13 +01:00
kd-11
194bfc54d1
rsx: Implement dynamic vertex offset updates
...
- Vertex offsets can be updated mid-draw to dynamically render different meshes without breaking up draws
2021-06-30 10:07:33 +03:00
Eladash
9b050a33e4
Fix HLE callbacks within context of HLE PPU stack variables
2021-06-28 14:31:28 +03:00
Eladash
b6fccee6a4
Improve ppu_thread::stack_push
...
Save actual stack memory allocation size locally. (not in PS3 memory)
2021-06-28 14:09:24 +03:00
Eladash
23468a2d07
vm_ptr.h: Use concepts
2021-06-28 14:01:58 +03:00
kd-11
2c7c1c501d
rsx: Implement support for extended vertex programs
...
- Some games are kinda pushing it with RSX register space and spilling VP data into adjacent unused space.
2021-06-28 10:52:05 +03:00
Eladash
3cbdc3a198
VFS: Fix paths override
2021-06-27 17:49:33 +03:00
Eladash
dcb2e8cd9e
rsx: Improve VBLANK accuracy
2021-06-27 16:39:08 +03:00
Nekotekina
571bdfc828
Fixup for #10490
...
Restore explicit signaling of RSX thread for now.
2021-06-27 14:02:32 +03:00
Eladash
0aed00a758
Improve thread aborting mechanism ( #10490 )
...
Call pseudo-virtual operator=(thread_state) of thread context.
2021-06-27 11:43:48 +03:00
Eladash
58847fa2ca
sys_fs: Fix ENOTMOUNTED of open
2021-06-26 14:53:22 +03:00
Megamouse
bba5285740
Qt: apply gui settings on regular apply and save
...
This fixes the annoying issue of accidentally clicking the dialogs save or apply buttons after changing stylesheets.
2021-06-25 20:27:26 +02:00
Megamouse
e7234fd4b2
Qt: replace old grey config icons in gamegrid mode
2021-06-25 19:58:20 +02:00
Long
400002e64c
Increase some icons' visibility in dark themes. ( #10485 )
...
* Update custom config, controller, combo icons.
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-06-25 19:40:42 +03:00
Kilowog01
d59707bc4b
Trophy notification improvements ( #10482 )
...
* Makes the text more similar to the original PS3 trophy notification.
2021-06-25 16:25:44 +03:00
kd-11
926fa73fee
vk: Remove unused input from attachment clear pass
2021-06-25 14:45:36 +03:00
kd-11
cd8cb9cced
rsx: Don't leak data during partial clears
...
- Partial clears either in active clear channels or scissor region must get barrier inserts to load previous data.
- Fixes some incorrectly discarded data during clear where data in untouched/uninitialized channels is lost.
2021-06-25 14:45:36 +03:00
Megamouse
fad79a96a2
media_info: improve error logging
2021-06-25 09:41:32 +03:00
Megamouse
b6128c5dfa
cellSearch: extend media_info for video files
2021-06-25 09:41:32 +03:00
Megamouse
68a1da31a0
cellSearch: move audio info to separate util file
2021-06-25 09:41:32 +03:00
Megamouse
f4bcf9ad1d
Qt: fix warning
2021-06-25 09:41:32 +03:00
Megamouse
7e0f2f9b12
sceNp: add some more constants
2021-06-25 09:41:32 +03:00
Eladash
50be3bd2e5
kernel-explorer: devirtualize lv2_fs_object and print more information ( #10487 )
...
* Make lv2_fs_object an "abstract" structure with protected constructor.
* Improve kernel-explorer information for filesystem objects.
2021-06-24 16:47:14 +03:00
Nekotekina
3c614d95b8
fs: alternative fs::pending_file implementation (Win32)
...
Use MOVEFILE_WRITE_THROUGH instead of sync() on commit().
2021-06-20 22:08:24 +03:00
Eladash
aaa20c0ff0
cellCamera/cellGem: Fix time stretching setting ( #10476 )
2021-06-20 21:25:13 +03:00
Eladash
0531b3d801
rsx: Fix emulation stopping in cpu_thread::is_paused poll ( #10475 )
...
Ignore pause flags if thread is stopped.
2021-06-20 20:00:12 +03:00
Eladash
40493c564f
GUI: Add PPU threads to debug tab
2021-06-20 19:27:33 +03:00
Eladash
bbaa93c846
RSX Cache: Prevent crash on failure to obtain cache directory ( #10474 )
2021-06-19 16:57:07 +03:00
Nekotekina
72680c7707
sys_fs: improve sys_fs_open accuracy for /dev_bdvd
...
Based on software test.
2021-06-18 17:47:49 +03:00
Eladash
039ca6e839
Fix cellMouse/Keyboard initialization
2021-06-17 20:43:43 +02:00
kd-11
9fadd48ea3
vk: Ensure async scheduler thread is never auto-spawned by fxo
...
- This thread is a resource hog for design reasons.
2021-06-17 00:43:20 +03:00
kd-11
4bf9700562
rsx: Remove unused variable leftover from refactoring
2021-06-17 00:43:20 +03:00
kd-11
966aec7ad7
rsx: Resync excluded memory regions to avoid memory tests failing after flush events
...
- This is a mostly correct fix, but a corner case exists that can leak old data to the surface cache
2021-06-15 15:42:16 +03:00
kd-11
78972cd611
rsx: Refactor surface inheritance logic
2021-06-15 15:42:16 +03:00
Eladash
24e4a43ec4
lv2_timer: manage timers by separate thread ( #10445 )
...
Substitutes missing abort op for lv2_obj manager.
2021-06-15 15:04:51 +03:00
kd-11
c3415bcff2
rsx: Fixup for byte order when passing data via vertex registers that are not inline arrays (register vertex data and push buffers)
2021-06-14 23:20:35 +03:00
Megamouse
35a380676e
Qt: add missing key auto repeat checks
2021-06-14 19:02:59 +02:00
kd-11
d3ff67ffb5
rsx: Pass vertex attributes streamed via register write in PS3-correct format
...
- TODO: Optimize this, we can avoid the double bswap in FIFO and then in attribute push
Not very important since nobody is doing register push in high-performance path.
2021-06-14 10:24:03 +03:00
Nekotekina
6f874be41b
vm_native: bypass rpcs3_vm creation if overcommit is enabled (Linux)
...
Unfortunately, different systems need different approach here.
2021-06-12 19:12:59 +03:00
Eladash
cb0929d933
Logs: Prevent minor race in Emu.Run() regarding logging levels
2021-06-12 13:14:04 +03:00
Nekotekina
dfbd63df94
vm_native.cpp: change rpcs3_vm name/location priority (Win32)
...
Prefer temp directory, rename to rpcs3_vm_sparse.tmp
Try to remove archive attribute (doesn't work well).
2021-06-11 19:15:21 +03:00
Eladash
76bfe54c7e
Improve bitwise serialization trait
2021-06-11 16:54:17 +03:00
Megamouse
9cbcce671d
Qt: Fix Play/Pause/Resume Shortcuts
2021-06-11 08:28:42 +02:00
Eladash
0628a5d931
serialization.hpp: Fixes
2021-06-11 08:59:02 +03:00
Nekotekina
696be6aacd
Implement fmt::ensure (assert-like with formatted message) + fmt::tie
...
Arguments should be provided via fmt::tie() due to some limitations.
Allow to specify simple message (non-formatting) for plain ::ensure().
Remove redundant function for narrow error.
2021-06-10 21:16:57 +03:00
Megamouse
766cc2d42f
Qt: fix empty game list phenomenon
2021-06-10 17:45:09 +02:00
Megamouse
2dc6adc038
Qt: fix possible race in RepaintIcons
...
This might also improve performance while scrubbing the icon size slider
2021-06-10 00:24:04 +02:00
Megamouse
27cc5c8a63
Qt: invalidate invisible game item pointers
2021-06-10 00:24:04 +02:00
kd-11
cd6552d344
vk: Properly destroy renderpass cache
2021-06-09 22:35:50 +03:00
kd-11
20bd723e7c
rsx: Add floor workaround for GPUs with rounding issues
...
- Mainly affects nvidia where x/w * w can sometimes return a value smaller than x.
In such conditions, floor(x) will return x-1 if x is an integer which is horribly wrong and exaggerates minor precision drift to great proportions.
2021-06-09 10:55:55 +03:00
Nekotekina
2d3fe7ce1c
fixed_typemap.hpp: add range iterator
...
Remove recently added functions.
2021-06-09 00:07:15 +03:00
Eladash
c918f395b9
Make rsx::simple_array compatible with serialization
2021-06-08 19:29:46 +03:00
Eladash
4a4f318e24
System.cpp: Move some Emu.Stop() code to a more strategic placement
2021-06-08 19:29:46 +03:00
Eladash
e7b1fc6696
Fixup serialization utility
2021-06-08 19:29:46 +03:00
Eladash
76bf720adf
Improve emulation stopping speed
...
Split phases of signalling threads and joining them.
2021-06-08 18:26:14 +03:00
Eladash
2169e8d935
Implement serialization.hpp, remove cereal submodule
...
Bump RSX capture version, use new serializer.
2021-06-07 16:28:42 +03:00
kd-11
ddbe496097
rsx: Fix depth/color mismatch resolve in texture cache
...
- Sometimes we need a depth texture but only a color texture is available.
2021-06-07 01:03:49 +03:00
kd-11
3f80d0b7d8
rsx: Fix surface deduplication crash
2021-06-07 01:03:49 +03:00
Megamouse
2eebecfb17
Qt: Fix concurrency bug in trophy manager
...
The missing mutex frequently caused a crash after I improved the individual trophy folder parsing by deferring icon loading to when it is actually needed.
2021-06-06 19:26:21 +02:00
Megamouse
70c24a9466
Qt: Only load trophy icons on a need to know basis
...
Also cache existing trophy icons
2021-06-06 19:26:21 +02:00
Megamouse
4ab2e40d8a
Qt: simplify zero padding in trophy icon path
2021-06-06 19:26:21 +02:00
kd-11
568af756cc
rsx: Fix expired sampler descriptors
...
- Rebuilding when strict mode is enabled was incomplete.
The copy has to be redone if the source has been updated.
2021-06-06 15:37:47 +03:00
Megamouse
f5366c91a7
Qt: kind of lazy loading icons
2021-06-06 09:38:13 +02:00
xddxd
b5f1f50a16
Get rid of mobile Kepler class and add some missing GPUs
2021-06-06 08:07:43 +02:00
kd-11
6ac9e6f9c4
gl: Add some debug visualization to internally verify consistency
2021-06-05 21:02:14 +03:00
kd-11
39815801aa
rsx: Implement proper decoding for some obscure fragment instructions
...
PK4UBG and UP4UBG were dropped from the NV_fragment_program spec in 2002.
Not much information about them remains but seems pretty straightforward.
2021-06-05 21:02:14 +03:00
Eladash
11ab9b7fa9
Fix sys_event_flag_wait result set ( #10404 )
...
Set result upon syscall exit, not at the beginning.
2021-06-05 16:41:02 +03:00
Eladash
a7f1e788e6
Fix missing game licence logging ( #10402 )
2021-06-04 20:06:04 +02:00
polar
6c44664c19
BUILD: Refactor zlib submodule ( #10393 )
2021-06-02 07:33:50 +02:00
Nekotekina
f2d6b52561
Fix span copy after refactoring
...
- Add range check at fast path.
- Fix typo in element by element copying.
Should fix #10385
2021-06-01 21:18:25 +03:00
JoãoPaulo
8405314399
Update FW 4.87 Latest Version
...
Updates the latest FW version according to: https://www.playstation.com/en-us/support/system-updates/ps3/
List of changes:
2021-06-01 20:20:52 +03:00
kd-11
98f534b1bd
vk: Rewrite partial clear shader
...
- Completely removes the feedback loop and replaces with hardware channel masking
2021-06-01 12:54:10 +03:00
kd-11
f85881c18c
vk: Enable use of input attachments
2021-06-01 12:54:10 +03:00
polar
b8b5b93b63
BUILD: Refactor spirv submodule ( #10384 )
...
* relocated SPIRV files
* updated gitmodule paths for Vulkan submodules
* cleaned up Vulkan child builds
* updated gitignore
2021-06-01 09:53:58 +02:00
Megamouse
20e25cd928
Qt: fix game list custom config icon refresh
...
I accidentally forgot to update the custom config icon after custom config creation/removal.
This happened during some refactoring back in mid-april.
2021-06-01 09:31:23 +02:00
Megamouse
ac83871214
impressive typo fix
2021-05-31 23:01:13 +03:00
Nekotekina
a1608b636f
span: implement as_span workarounds as utils::bless
...
Minor cleanup.
2021-05-31 15:46:34 +03:00
Nekotekina
d862817485
vm::ref: remove erroneous default constructor
2021-05-31 15:31:20 +03:00
kd-11
4a32b70aec
vk: Validate pipeline state before compiling in case of shader cache moved between GPUs/drivers
2021-05-30 22:35:34 +03:00
kd-11
9199b1b1d8
vk: Improve compatibility with sub-par drivers and hardware
...
- Adds workarounds for INTEL + MSAA
- Adds support for younger drivers where all features may not be
implemented.
Things that won't out-right break the emulation can be
disabled.
2021-05-30 22:35:34 +03:00
Ani
a49446c9e9
Replace gsl::span for std::span (c++20) ( #7531 )
...
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte
Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
Nekotekina
f5e529db61
shared_ptr.hpp: don't use fake objects
...
This lifts the limitation for casting with abstract classes.
Use new C++20 feature (constexpr allocator) to test viability.
Add SamePtr concept to types.hpp
2021-05-30 15:07:17 +03:00
Nekotekina
eec9578619
types.hpp: add PtrCastable concept
2021-05-29 18:32:13 +03:00
Eladash
d81a5b1423
SPU LLVM: Add missing WRCH PC updates
2021-05-29 15:26:52 +03:00
Megamouse
3cbe42df0a
pads: Remove outdated DualSense battery note
2021-05-29 12:46:21 +02:00
Megamouse
a2da525064
cellVdec: silence "Unsupported time_base" error log spam
2021-05-29 12:46:21 +02:00
Malcolm Jestadt
7c2b08b9b6
SPU LLVM: Expand branch optimizations for more instructions
2021-05-29 13:07:35 +03:00
Megamouse
99af70ae59
Include limits.h
2021-05-29 10:09:56 +02:00
Megamouse
5a0b93742c
overlays: move more code to cpp
2021-05-29 10:09:56 +02:00
polar
7c7cc3914d
BUILD: Refactor glslang submodule ( #10361 )
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-29 09:47:51 +03:00
Megamouse
0d64b0f94d
VS: fix libPng ProjectReference in emucore
2021-05-29 08:17:30 +02:00
Megamouse
f18e80e899
fix some warning spam
2021-05-29 08:17:30 +02:00
Megamouse
210999b874
perf_overlay: fix guide line locations
...
The guide lines falsely started from the top and not from the bottom, as all datapoints do.
2021-05-29 08:17:30 +02:00
Megamouse
046d029e89
try to fix pad interception
2021-05-29 07:43:09 +02:00
Eladash
7d89938624
cellPad: do not use recusrive mutex
2021-05-28 20:25:16 +03:00
Eladash
6ff9aab2ca
Fix cpu_thread::check_state() cpu_flag::temp support
2021-05-28 20:25:16 +03:00
Eladash
5f47730fc0
Fix reservations handling in logs
...
Remove reservation cb.
2021-05-28 20:25:16 +03:00
kd-11
9e62e98f79
rsx: Minor refactoring ( #10358 )
...
- Fix some misnomers.
- Allow finer grained control over texture section creation routines.
2021-05-27 23:44:07 +01:00
kd-11
763828837b
vk: Forcefully unmap DMA blocks before destroying them ( #10359 )
...
- While the vulkan spec explicitly allows destroying mapped blocks, GPUOpen vma_alloc does not.
- Strangely, this issue does not afflict linux users, only windows.
2021-05-27 23:03:46 +01:00
kd-11
f9d9d12f11
vk: Fix slow bo upload + copy when using RADV
...
- This reverts commit dbcf1b5a03bfef18f404aa6827515af319abd744.
- Avoid unmapping buffers used for GPU upload/download. It is very slow
on some platforms.
2021-05-27 22:49:13 +03:00
kd-11
56f7359da4
vk: Workaround for slow bo transfer (pinned<->VRAM) when using RADV
...
- perf shows extremely high number of cycles wasted in memmove glibc method
2021-05-27 01:27:15 +03:00
Megamouse
6fed80333c
perf_overlays: only calculate metrics on update
...
This should give a significant performance boost
2021-05-26 23:26:12 +02:00
Megamouse
befd38d9ae
perf_overlays: only compile dirty graphs
...
This should give a small performance boost
2021-05-26 23:26:12 +02:00
Megamouse
98b668b3a8
perf_overlays: add avg and 1p high/low
2021-05-26 23:26:12 +02:00
Eladash
f103004aa0
sys_prx/overlay: Fix disambiguator of module names opened by FD ( #10340 )
...
Don't append zero offset.
2021-05-26 23:38:17 +03:00
polar
177933e212
Refactor hidapi submodule ( #10346 )
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-26 22:03:53 +03:00
Megamouse
83d3658ef0
scale debug overlay based on current dpi settings
...
Depending on the dpi settings, the debug overlay was almost unreadable.
I also took the liberty to refactor some redundant client size calls and to add some margin to the left of the debug text.
2021-05-26 20:31:29 +02:00
Eladash
44f0ca08e2
Simplify PPU exit
2021-05-25 22:47:23 +03:00
kd-11
338dc62474
vk: Fixup on linux + RADV combo ( #10341 )
2021-05-25 20:40:53 +01:00
kd-11
a736350859
rsx/vk: Use backend configuration to track options that can be modified on a per-device basis
2021-05-25 20:54:17 +03:00
kd-11
156b092dc9
vk: Lock passthrough DMA behind the async streaming option
...
- Without async streaming this option can introduce artifacts.
The correct fix for it is to use async streaming which allows the GPU to process texture data in parallel with rendering.
Without streaming enabled the GPU can sometimes pull stale data via DMA when rendering and find the CPU has modified it.
2021-05-25 20:54:17 +03:00
kd-11
122bb4d829
vk: Avoid repeated chip_class lookup by using generic global function
2021-05-25 20:54:17 +03:00
kd-11
7508949ca8
vk: Add workarounds to disable incompatible options
2021-05-25 20:54:17 +03:00
Megamouse
ac59073071
perf_overlay: update interval config update
2021-05-25 11:04:45 +03:00
Nekotekina
7311c161f6
vm_native: fix Linux/Posix sparse file check
...
Fix fast path condition (xnor is not ==, facepalm).
Increase probe size.
Should fix #10334
Closes #10335
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2021-05-25 09:55:43 +03:00
Eladash
9ba3e6d3f7
sys_mmapper: Fix IPC-enabled instances memory consumption
2021-05-24 23:16:06 +03:00
Nekotekina
5db38c0127
vm_native: improve sparse file check (Linux/BSD)
...
Use lseek(FIND_DATA) to check for sparse file support.
2021-05-24 18:21:52 +03:00
Nekotekina
191cb92300
vm_native: improve sparse file implementation (Win32)
...
Fix sparse attribute set/check, improve logic.
Implement actual check of file data.
Ask to restart RPCS3 first time (Win7 bug).
2021-05-24 18:21:52 +03:00
Nekotekina
2491aad6f2
types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
...
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Nekotekina
4b239a0b87
types.hpp: rewrite _u16-_u64 suffixes
...
_u48 is unused and gone, blends into _u64.
2021-05-23 07:33:54 +03:00
Nekotekina
2768727e2f
types.hpp: replace custom std::bit_cast
...
Remove memcpy version.
Use builtin instead.
2021-05-23 07:33:19 +03:00
Eladash
309759b725
kernel-explorer: Save self mem-container ID and use it
2021-05-23 05:37:37 +03:00
Nekotekina
160b131de3
types.hpp: implement smin, smax, amin, amax
...
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.
Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
Nekotekina
613777afde
vm_native: try to workaround another bug (Win32)
...
Resize sparse file gradually.
2021-05-22 08:16:54 +03:00
Eladash
dcfd29c2d9
kernel-explorer: Implement PPU scheduler state information
2021-05-21 18:12:36 +02:00
Eladash
a7d0c4fb1e
kernel-explorer: Fix horrible performance
2021-05-21 16:37:29 +02:00
Eladash
3a2b9f83ec
TROPUSR: Optimization
2021-05-21 16:43:34 +03:00
Eladash
48870f3e8b
TROPUSR: Loader Improvements
...
* Replace invalid TROPUSR.DAT with empty new ones. (+report an error)
* Fix return code of Load whenever TROPUSR.DAT hadn't existed before.
* Add header magic test.
* sceNpTrophyRegisterContext will abort if TROPUSR.DAT generation failed.
2021-05-21 16:43:34 +03:00
David Carlier
1f93fc902b
crypto light refactoring.
...
using volatile f/p guaranting assembly will generate call* instruction on memset for secure buffer zeroing. usage in sha1 api as well.
2021-05-21 16:34:38 +03:00
Nekotekina
c646476ca8
logs.hpp: another fixup for RPCS3.log
...
Don't print channel names for initial messages.
2021-05-21 00:41:37 +03:00
Nekotekina
de94f6c2f6
logs.hpp: fix fatal typo
2021-05-20 19:10:51 +03:00
Eladash
f0c4aa6777
Fix bugs due to clocks scale setting being dynamic
2021-05-20 13:38:36 +02:00
Eladash
0811d2d527
Fix bug of sys_rsx_context_attribute
...
Mistake of reversing.
2021-05-20 09:25:51 +03:00
Eladash
3abf14beef
Update sys_rsx_context_attribute
2021-05-20 09:25:51 +03:00
Eladash
638f20c80f
Improve get_current_cpu_thread()
2021-05-20 09:25:51 +03:00
Nekotekina
04cac6cd33
logs.hpp: refactoring (logs::message)
...
Make .error/.warning/... callable objects which can be pointed to.
Make .always() more hard to access.
Memory layout optimizations.
2021-05-20 01:08:32 +03:00
Nekotekina
1d0f6eebdc
Improve error_code (new formatting constructor)
...
Minor cleanup in formatting utilities.
2021-05-19 22:41:16 +03:00
Nekotekina
16620f6835
vm_native: sparse file fixup (Win32)
...
Clear file if it occupies blocks.
Makes it more fool-proof and fixes possible bug.
2021-05-19 22:41:16 +03:00
Nekotekina
4b11a4256e
Add supporters
2021-05-19 22:41:16 +03:00
Megamouse
1dc00ccedd
edat: Remove redundant logging
2021-05-19 21:09:18 +02:00
Megamouse
7832acbceb
Minor change in msg_dialog_frame
...
This shouldn't have any impact
2021-05-19 20:24:06 +02:00
Lctrs
0042f4e16e
metainfo: move away from deprecated appdata
2021-05-19 19:55:58 +03:00
Lctrs
ffc9211ce2
metainfo: make license explicit
2021-05-19 19:55:58 +03:00
Nekotekina
8217840acc
Simplify error_code class
...
Remove "not an error" detection trait. Use fixed CellNotAnError class.
Use constructor overload to disable reporting it.
2021-05-19 00:48:45 +03:00
Nekotekina
6e497ae372
vm: disable sparse files on win7
2021-05-18 13:31:46 +03:00
Malcolm Jestadt
52780e65e7
SPU LLVM: Optimize branching
...
- Detect a pattern where vpmovmskb and a check against the sign bit can be used instead of checking against zero
2021-05-17 16:59:20 +03:00
Eladash
57cd4ff3c6
Move HLE table address to FXO ( #10284 )
2021-05-17 14:22:27 +03:00
Eladash
2e28e2d293
lv2: Fix overflows of periodic timers
2021-05-17 13:17:45 +03:00
kd-11
a84cf030bb
Fixup
...
FreeBSD + concepts = fail
2021-05-15 23:51:12 +03:00
kd-11
af05ebe428
Update cmakelists
2021-05-15 23:51:12 +03:00
kd-11
c5a06dab0a
rsx: Refactor program texture state handling to be persistent across shader swaps
2021-05-15 23:51:12 +03:00
polar
11bace8804
BUILD: Move buildfiles & improved prop includes ( #10251 )
...
* moved buildfiles to subdirectory
* fix msvc build
* fix cmake build
2021-05-15 20:20:12 +02:00
Eladash
7a9a46e093
kernel-explorer: Implement SPU ports/interrupt tags information
2021-05-15 09:00:12 +03:00
Eladash
8bd58b1ad4
Remove lv2_event_queue::check(weak_ptr)
2021-05-15 00:31:14 +03:00
Eladash
c681395fb2
sys_interrupt: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
33580e0aa1
sys_timer: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
47436bd774
sys_spu: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
a992a5fba9
cellAudio: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
94e2f464e3
CPU Profiler: weak_ptr -> shared_ptr
2021-05-15 00:31:14 +03:00
Eladash
56471f4ad4
SPU: Optimize SPU ports/queues
2021-05-15 00:31:14 +03:00
Eladash
cacb852a1e
Emulation stopping bugfix
2021-05-14 15:35:07 +03:00
Nekotekina
6dca588370
SPU LLVM: improve MPYH instruction
...
Rewritten to use 16-bit multiplication, as in SPU ASMJIT.
2021-05-13 23:16:53 +03:00
Nekotekina
2a26bc6668
Fix page mapping rights to file mapping
2021-05-13 13:49:24 +03:00
Paul
4e12e70929
Add Intel's Rocket Lake 11th gen cpu. ( #10205 )
...
This does nothing but may be required later.
2021-05-13 11:34:37 +03:00
Nekotekina
f0ad20a250
Implement const_str_t<> helper
2021-05-13 10:23:33 +03:00
Nekotekina
8ae727ca04
lv2_obj::create: fix pessimizing move
...
Could have been preventing copy elision.
2021-05-13 10:23:33 +03:00
Nekotekina
126141cdce
vm_native: improve sparse file handling
...
Don't specify O_TRUNC every time.
Add portable support test (Linux/Unix).
Use PAGE_WRITECOPY (Windows).
2021-05-13 10:23:33 +03:00
octopoulo
fe17c83020
reverted comment
2021-05-12 15:28:30 +03:00
octopoulo
b8928d230a
gl: Intel GPU shader fix
2021-05-12 15:28:30 +03:00
kd-11
675c9a7945
vk: Ensure MSAA surfaces are in RW state before attempting to transfer data.
2021-05-12 13:04:09 +03:00
kd-11
1a73b0a0da
rsx: Fix transfer barriers not triggering resolve target initialization
2021-05-12 12:32:24 +03:00
Nekotekina
0bd64a0e72
Don't fatal on sparse file initialization failure
...
Also try two different locations (Win32).
2021-05-10 00:39:28 +03:00
Eladash
acded1e08a
rsx: Move sys_rsx info to rsx::thread ( #10258 )
2021-05-09 19:16:14 +01:00
kd-11
a4f4b81e6b
vk: Add some more debugging utils for RDC captures
...
- Labels make life so much easier
2021-05-09 13:07:47 +03:00
kd-11
0b18ec8208
vk: Allow flipping without wait
2021-05-09 13:07:47 +03:00
kd-11
e3944bc67f
rsx: Handle transfer_read differently from transfer_write
...
- Transfer writes are expected to clobber surface cache contents. Do NOT reload from CPU memory for writes.
- TODO: During transfer write to surface cache objects, lock memory if it was unlocked to avoid silly problems.
2021-05-09 13:07:47 +03:00
kd-11
b085284c55
rsx: Ignore write-to-self via blit engine.
2021-05-09 13:07:47 +03:00
Eladash
31b55e0030
event queue: Structure size efficiency
2021-05-09 10:58:14 +03:00
Eladash
7a4918e4a4
kernel explorer: Implement interrupt handler/service information
2021-05-09 10:58:14 +03:00
Eladash
1e1880893a
sys_interrupt: Save ID of self tag/handler
2021-05-09 10:58:14 +03:00
Eladash
363cc60c82
sys_event: Save ID of self event queue
2021-05-09 10:58:14 +03:00
David Carlier
b09970f159
couple of warning build fixes
2021-05-09 09:25:40 +02:00
Megamouse
52930a7597
VS: fix some filters
2021-05-07 22:51:08 +02:00
Megamouse
96fa531566
Qt: allow renaming of the current user
...
Since the dialog cannot be opened ingame, there should be no reason to disable the rename user option.
2021-05-07 22:51:08 +02:00
Eladash
64997662d2
LV2: Fixup for IPC
...
* Fix typo in lv2_obj::create.
* Always save ipc_key as 0 for non-shared object creations, regardless of thbe value set by creation attribute.
* Show IPC key of shared memory (sys_mmapper) memory objects in kernel explorer.
2021-05-07 14:58:22 +03:00
Eladash
900ebf6583
sys_event: Typo fix ( #10246 )
2021-05-07 09:34:25 +01:00
polar
ce94a4ecea
BUILD: Refactor libpng submodule ( #10238 )
...
* relocate libpng files
* fix cmake build
* fix MSVC build
2021-05-07 10:07:42 +02:00
Eladash
7b6482c01d
LV2: Improve IPC support ( #10206 )
...
* Remove custom event queue's IPC management of favour of universal LV2 approach.
* Move ipc_manager to FXO.
* Fix ipc_manager internal storage memory leak: deallocate entry when IPC object destroyed.
* Rewrite lv2_obj::create to be simpler (remove many duplicated code).
* Always execute lv2_obj::create under both IPC and IDM mutexes at once (not in non-atomic single-steps). Fixing potential case where concurrency can cause IDM to contain 2 or more different objects with the same IPC key with SYS_SYNC_NOT_CARE (instead of the same object).
* Do not rely on smart ptr reference count to tell if the object exists. Use similar approach as event queues as it makes error checkings accurate.
* Optimize lv2_event_port by using std::shared_ptr for queue which wasn't allowed before.
2021-05-07 09:58:30 +03:00
David CARLIER
f56ecb6d3f
stblib: disable another unsupported clang warning ( #10244 )
2021-05-07 01:26:21 +01:00
Nekotekina
e24ada37bf
fs: implement fs::get_temp_dir() (Win32)
...
Trying to workaround issues with sparse files (#10231 )
2021-05-05 19:38:36 +03:00
Nekotekina
546b52200b
vm: disable locking main/video/stack for now (TODO)
2021-05-04 19:18:57 +03:00
Nekotekina
327c000c82
Implement s128 type (based on u128)
2021-05-04 18:02:52 +03:00
Nekotekina
1b0b2fe21e
vm: add "hook" memory (32G)
...
Implement overcommit emulation for shm.
2021-05-04 18:02:52 +03:00
Nekotekina
e327d47169
vm_native: add cow flag to map functions
...
CoW is copy-on-write mapping type.
2021-05-04 09:53:19 +03:00
p01arst0rm
35ee550171
changed discord-rpc to discordRPC
2021-05-04 01:27:41 +02:00
p01arst0rm
2447fdb90d
relocated stblib files
2021-05-04 01:27:41 +02:00
p01arst0rm
c6c5faa95c
buildsystem refactoring cleanup
2021-05-03 08:01:25 +02:00
polar
df39bac449
BUILD: Refactor asmjit submodule ( #10230 )
...
* relocated asmjit files
* fix cmake build
* fix MSVC build
2021-05-02 19:59:38 +02:00
HerrHulaHoop
c3bf9bd4a0
Correct mismatched licenses in Crypto
...
5 files in Crypto were licensed under GPL-3.0-only which is
incompatible with our project's GPL-2.0-only license. They have now
been corrected to use GPL-2.0-or-later.
2021-05-02 13:39:50 +03:00
polar
b09b0bc43b
BUILD: Refactor curl submodule ( #10228 )
...
* relocate curl files
* fix cmake build
* fix MSVC build
2021-05-01 21:56:56 +02:00
Eladash
0224c7a9eb
SPU TG: Simplify state of saved SPU image data
...
Save only entry points instead of sys_spu_image structure.
2021-05-01 19:43:00 +03:00
p01arst0rm
ca0d38d19d
fix relative links to common_default* props
2021-05-01 18:38:42 +02:00
polar
b62ac7a046
BUILD: Refactor 7zlib ( #10222 )
...
* relocate 7z files
* fix MSVC build
* fix cmake build
2021-05-01 18:07:28 +02:00
Eladash
daa53b77cf
Simplify named_thread construction
2021-05-01 18:08:03 +03:00
Ani
b8477a470f
rpcs3_version: Bump to 0.0.16
2021-04-30 21:42:14 +01:00
Ani
37331d8ead
stblib: Ignore new 3rdparty warnings
2021-04-30 17:07:05 +01:00
Megamouse
71d58e3a67
rsx: remove unused tile functions
2021-04-30 08:23:16 +02:00
Megamouse
37425d6fcd
GL: Remove unused copy functions
2021-04-30 08:23:16 +02:00
Megamouse
1f295bba5b
VK: ReSharper warning fixes
2021-04-30 08:23:16 +02:00
Megamouse
a50be7a912
GL: resharper findings (too lazy for const functions)
2021-04-30 08:23:16 +02:00
Megamouse
d331ff3193
overlays: implement text_align::right
2021-04-30 00:30:26 +02:00
Megamouse
035a187c42
user-overlays: add sanity check for enter button
2021-04-30 00:30:26 +02:00
Megamouse
3c37036f7a
save-overlays: add entry size info
2021-04-30 00:30:26 +02:00
Megamouse
14b6d6291b
save-overlays: add localization
2021-04-30 00:30:26 +02:00
Megamouse
5720a32bc5
save-overlays: change list entry contents.
...
There's no need to tell the user that the entry is for game xy, they are already playing that game.
On a real PS3 only the subtitle and the date are displayed.
2021-04-30 00:30:26 +02:00
Megamouse
11f57f259c
cellSaveData: keep focus after confirmation cancel
...
It was very annoying to be thrown to beginning of the list after cancelling the confirmation.
2021-04-30 00:30:26 +02:00
Nekotekina
3fc6375ec5
Use consteval (experimental)
2021-04-29 23:16:43 +03:00
Nekotekina
f8e05f8e3c
Remove redundant operators !=
2021-04-29 22:57:40 +03:00
polar
dece8a69f6
BUILD: Refactor libusb submodule ( #10169 )
...
* relocate module files
* fix cmake errors
* moved & updated libusb MSVC build file
2021-04-29 16:50:18 +01:00
Nekotekina
5724d2d4c7
Simplify umax
...
Add operator less and conversion operator.
2021-04-29 12:21:12 +03:00
Nekotekina
b1736b6411
Simplify utils::umulh64 (MSVC)
2021-04-29 09:45:57 +03:00
Nekotekina
703ec474f5
Fixup for sys_time_get_timezone (3rd path)
...
Also simplify Linux path a bit.
2021-04-29 00:07:22 +03:00
kd-11
1d9dd8d29d
vk: Add support for tagging objects to ease debugging
...
- Makes use of VK_EXT_debug_utils
2021-04-28 16:53:02 +03:00
kd-11
8b0e1d6c03
rsx: Make renderdoc compatibility mode a general option
2021-04-28 16:53:02 +03:00
Megamouse
f1a9f6263e
Rename Rockband to Rock Band
2021-04-27 23:33:46 +02:00
Nekotekina
a049c6fd6b
Implement sys_time_get_timezone syscall
...
Try to get system timezone automatically.
Attempt to address #10195 .
2021-04-27 22:21:58 +03:00
kd-11
9609767c51
vk: Refactor render target code
2021-04-26 00:33:05 +03:00
Nekotekina
86a8e0716f
Test alterable aggregates via overriding be_t
...
Checking how it might look like without introducing too many changes.
Alteration of its behaviour as a "template template" argument allows:
- normal access
- easier aggregate inspection
- memory access interception
2021-04-25 19:00:16 +03:00
Nekotekina
4d9a167f56
u128: add multiplication support (for MSVC)
2021-04-25 18:17:38 +03:00
Nekotekina
b704cc8375
shared_ptr.hpp: implement make_single_value(), make_shared_value()
...
A function that constructs single_ptr from its argument.
Type can be deduced from the argument (unlike make_single).
2021-04-25 18:17:38 +03:00
Nekotekina
e34c956196
shared_ptr.hpp: add invoke operator
2021-04-25 18:17:38 +03:00
clienthax
7197dd751a
Fcntl e0000025 ( #10172 )
...
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-04-24 21:43:09 +03:00
David Carlier
0b9e4ffe54
Mac OS build update and simplification, recent releases of macOS has clock_gettime support.
2021-04-24 12:55:21 +03:00
Megamouse
486ba6121d
Qt: fix window position of update dialog
2021-04-24 11:46:51 +02:00
Megamouse
1015c126d7
fix formatting (somehow broken by copy pasta)
2021-04-24 11:46:51 +02:00
Megamouse
1caf81811a
Move unspecific Emulator code out of System.cpp
2021-04-24 11:21:22 +03:00
kd-11
4c2a11b6d0
vk: Fix broken FBO swizzle for depth textures. WDB was basically broken for these.
2021-04-24 00:19:50 +03:00
Megamouse
8fd3b26308
sys: more constants
2021-04-23 22:46:15 +02:00
Megamouse
617d21fa84
sys_prx: more constants
2021-04-23 22:02:52 +02:00
Megamouse
4a88ffe250
Fix typo causing unreachable code
2021-04-23 22:02:52 +02:00
Megamouse
41b68ef353
some more constants
2021-04-23 22:02:52 +02:00
Eladash
72c85744b9
kernel-explorer: Show bound queue to port information
...
Show its IPC key or ID, depends on the queue's type.
2021-04-23 21:34:05 +03:00
Eladash
c7b5bbd467
Fix emulation restart
2021-04-23 20:59:02 +03:00
David Carlier
082bbc7336
Following up on MacOS build fix.
...
Specialisation of llvm_value_t to allow build with LLVM this time.
2021-04-23 15:20:40 +03:00
Megamouse
087dccd194
Implement most of cellUserInfo
2021-04-23 05:50:19 +03:00
Nekotekina
67649d7976
SPU LLVM: restore lost comment
2021-04-21 13:33:44 +03:00
Malcolm Jestadt
6247969ede
SPU LLVM: Absolute final fixes for icelake shufb paths
...
- The constant mask was accessing bits in reverse order of what was expected
2021-04-21 11:00:02 +03:00
Malcolm Jestadt
efd38fa940
SPU LLVM: Improve byteswap elimination
...
- Use the data before it has been swapped rather than relying on a second byteswap to cancel out the first
2021-04-20 23:24:21 +03:00
Malcolm Jestadt
551472220e
SPU LLVM: Remove icelake shufb paths for now
2021-04-20 23:24:21 +03:00
p01arst0rm
01703b1350
moved cmake_modules to project root
2021-04-20 21:38:47 +03:00
p01arst0rm
e9d785475e
removed redundant cmake version check
2021-04-20 21:38:47 +03:00
p01arst0rm
bcfae17219
unified missmatched indentation in CMake files
2021-04-20 21:38:47 +03:00
dio-gh
ddea45160b
GUI: take out some unwise shortcuts
...
Removes the ability to stop or restart emulation via keyboard shortcuts
while the game is running. Prevents loss of work that can happen due to
the current bindings conflicting with very-widely established shortcuts.
Ctrl+C and Ctrl+E will now be unbound, and Ctrl+R will now mean Resume.
Strings that mention these keybinds were adjusted accordingly.
2021-04-20 19:46:47 +03:00
Malcolm Jestadt
53f13a9721
SPU LLVM: Final fixup for icelake shufb paths
...
- The cause of the problems was due to the constant mask for gf2p9affineqb being used as the first argument, instead of the second argument.
2021-04-20 13:07:24 +03:00
Megamouse
3e33f064bf
overlays: hotfix for dialog interaction
...
Turns out there was an undocumented reason for this.
Nobody warned me that "It's a trap!".
I wonder how this hasn't summoned a shitstorm yet.
2021-04-20 00:42:11 +02:00
Megamouse
aa0afc9a4e
Input: avoid mouse events when unused
2021-04-20 00:06:23 +02:00
Eladash
a0d1cf26d0
Reduce precompilation failure log level (error -> notice)
2021-04-19 23:18:31 +03:00
Megamouse
01d14aed80
fix null chars in hostname log message
2021-04-19 21:54:27 +02:00
Megamouse
3c4c830e20
Qt: Speed up Log Viewer
2021-04-19 21:25:19 +02:00
Nekotekina
0c9c481cee
Use requires syntax in more places
...
Change style in some places.
2021-04-19 16:51:40 +03:00
Nekotekina
7dae376646
Implement fill_array() utility
2021-04-19 12:33:32 +03:00
Nekotekina
ccb89bd76a
MSVC: disable throwing new
2021-04-19 12:33:32 +03:00
Megamouse
b2317543c8
Qt: Fix initial gs_frame position on multi-monitor
2021-04-19 10:44:48 +02:00
p01arst0rm
b812ef2771
removed space between and its opening parentheses
2021-04-19 08:59:28 +03:00
David Carlier
7618e7f3fb
FreeBSD/clang update proposal.
...
silence few build warnings, VKDMA: disable Intel chipset for host buffer as it requires root privilege.
2021-04-18 19:56:21 +03:00
David Carlier
b6732fbae9
MacOs build fix proposal.
...
Made on Big Sur, removing few unnecessary old specifics.
Build with LLVM homebrew.
2021-04-18 17:18:09 +03:00
clienthax
68fa377d13
Add dev_flash2+3
2021-04-18 14:49:29 +03:00
Nekotekina
7a9561b966
vm_native: document some unmap_critical behaviour (posix)
2021-04-18 13:13:15 +03:00
Nekotekina
c061991c43
vm_native: supply only one madvise flag at a time
2021-04-18 13:13:15 +03:00
Megamouse
bdac1d9bfd
Qt: fix type mismatch crash of game grid items
2021-04-18 09:58:54 +02:00
David Carlier
266c4209c4
VM: FreeBSD c_madv_no_dump/dump constants support.
2021-04-17 20:47:36 +03:00
Nekotekina
fb26da1cb0
bs_t<>: create BitSetEnum concept
...
Try concepts instead of SFINAE.
2021-04-17 19:23:19 +03:00
Nekotekina
d623720f4d
Fix condition for -Wno-attributes (regression)
2021-04-17 16:26:41 +03:00
Nekotekina
9d4fcbf946
bs_t<>: fix/cleanup some operators
2021-04-17 15:54:33 +03:00
p01arst0rm
896db3806d
replaced CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID
2021-04-17 15:54:27 +03:00
Megamouse
691b986e36
keyboard pads: release all keys on FocusOut event
2021-04-17 14:03:50 +02:00
Megamouse
5416f60643
basic keyboard: release all keys on FocusOut event
2021-04-17 14:03:50 +02:00
Eladash
67e2e154fa
Replace simple_type with std::common_type
2021-04-17 10:27:55 +03:00
Megamouse
330dea181a
Qt: unify some movie hover code and fix cellLeave
2021-04-16 23:18:13 +02:00
Megamouse
7bc673002f
overlays: fix dirty state of message dialog
2021-04-16 23:18:13 +02:00
Megamouse
ae8d1a3a60
Qt: smoother scrolling in savedata manager
2021-04-16 21:26:24 +02:00
Megamouse
27975e9dfd
Qt: remove uncritical deprecated notes and titles
...
This also fixes a savedata notes bug.
The detail section notes were always taken from the deprecated settings.
2021-04-16 21:26:24 +02:00
Megamouse
bff938ccf5
Qt: optimize game list repaint with new logic
...
We now pass a shared pointer to the icon items, so there is no need to trigger a full refresh of the list anymore.
Sadly this doesn't apply to the game grid.
2021-04-16 11:21:04 +02:00
Megamouse
53f317e076
Qt: use gifs as icons on hover if available.
2021-04-16 11:21:04 +02:00
Malcolm Jestadt
0a7df9d02e
SPU LLVM: add AVX-512 SPU verification
...
- This is hidden behind a new setting, as some cpus may downclock agressively when executing 512 wide instructions
2021-04-16 09:35:26 +03:00
Nekotekina
408ffd3d2c
fxo: add debug name to the typeinfo
2021-04-15 20:01:29 +03:00
Nekotekina
a211895e28
shared_ptr.hpp: use for fs::virtual_device
...
Add new constructors for single_ptr and shared_ptr.
Change virtual device prefix format.
2021-04-15 17:26:47 +03:00
Nekotekina
19763f8973
Remove unnecessary default:breaks
2021-04-15 15:23:59 +03:00
Desterly
99d6f9c7a9
Skylander - Traptanium portal cleanup
...
- Remove "Status" query responses from reset request
- Add additional request types for newer portal
2021-04-15 12:10:22 +02:00
Desterly
63e4ac80bd
Skylander - Change portal version
...
Switch emulation to the Traptanium portal. This portal is universal
and works with all games.
2021-04-15 12:10:22 +02:00
polar
24983ea329
removed whitespace
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-04-15 11:37:35 +02:00
p01arst0rm
6cab5b5591
removed extra perentheses pair
2021-04-15 11:37:35 +02:00
p01arst0rm
c9d2aed286
small collection of fixes
2021-04-15 11:05:15 +03:00
Eladash
a16cc3ac8a
lv2: Remove flags from IPC-supported objects
2021-04-15 10:31:40 +03:00
TotalCaesar659
ba1699a831
Fix typo
2021-04-14 20:01:18 +02:00
Megamouse
20c69a0e3e
overlays: make auto-repeat buttons configurable
...
and properly reset the auto-repeat timer whenever a new button was pressed
2021-04-13 20:57:05 +02:00
Megamouse
bdc5ed094b
overlays: implement OSK password mode
2021-04-13 20:57:05 +02:00
Megamouse
088d22675b
overlays: fix osk placeholder
2021-04-13 20:57:05 +02:00
Megamouse
fc9b3c13e6
misc: fix old some style casts and redundancies
2021-04-13 20:57:05 +02:00
kd-11
14a64e2529
rsx: Handle rare rounding issue where position.w is very close to zero
2021-04-13 21:26:23 +03:00
Megamouse
f5415fb4ac
overlays: dynamically change dialog background
2021-04-13 19:13:56 +02:00
Megamouse
20076ed57e
Qt: Properly disable perfoverlay datapoint sliders
2021-04-13 19:13:56 +02:00
kd-11
8d1fc18941
vk: Fix mip level packed pitch calculation
2021-04-13 00:14:16 +03:00
kd-11
06dc99ab85
rsx: Fix decompression of RB_RG textures.
...
- Removes several subtle hacks that hid the real issue.
A compressed texture has more than one texel per 'block'.
2021-04-11 21:36:36 +03:00
p01arst0rm
4048b1e515
added inline suggestion to settings_location to prevent duplicate includes
2021-04-11 18:38:02 +03:00
Nekotekina
ccb46df905
Minor fixups (removed unnecessary code)
2021-04-11 16:36:02 +03:00
Megamouse
a16d8ba3ea
More random changes
2021-04-11 14:01:51 +03:00
Eladash
56d34e0e80
Enforce backslash at the end of emulated drives paths
2021-04-10 23:51:49 +03:00
Eladash
5ca6381624
Implement "PPU LLVM Precompilation" control setting
2021-04-10 18:06:46 +03:00
Megamouse
7a105333dc
Qt: fix vfs dir remove button enabled state
2021-04-10 15:18:16 +02:00
Megamouse
332eb5fbd6
Log firmware after Emu was initialized
2021-04-10 15:18:16 +02:00
Megamouse
5b0dac797c
Remove deprecated user management code
2021-04-10 15:18:16 +02:00
Eladash
86ddc00bb1
Suggest adding RPCS3 to anti-virus whitelist on firmware/PKG installation failure
2021-04-10 10:37:20 +02:00
Nekotekina
3107f37864
Fix psf::load error for error::stream
2021-04-10 00:43:08 +03:00
Megamouse
17f5fec538
sceNp: fix rap file regression ( #10084 )
2021-04-09 21:37:57 +01:00
Megamouse
03b76b4606
Emu: some cleanup
2021-04-09 21:03:49 +02:00
Eladash
a3e8a61547
PSF: Fix string_view optimization
...
Avoid redundant copies of std::string.
2021-04-09 20:58:30 +03:00
Eladash
a8d5a8734a
Loader/cellGame: Do not crash on invalid PSF files
2021-04-09 20:58:30 +03:00
Nekotekina
10bbb7fa1f
Fix some warnings (deprecate enum arithmetics)
2021-04-09 10:26:13 +03:00
Nekotekina
8c5f2b249c
shared_ptr.hpp: further fixes
...
Improved is_same_ptr() trait (added third "maybe" category).
Fallback to pseudo-runtime check in certain cases (if "maybe").
Fix single_ptr moving assignment operator.
2021-04-09 10:26:13 +03:00
Nekotekina
332c512eed
shared_ptr.hpp: minor optimization (GCC hotfix)
...
Use thread_local for dummy objects (doesn't work on MSVC).
Couldn't find better way to remove fake static objects completely.
In a sense that they don't appear in object files.
2021-04-09 10:26:13 +03:00
Megamouse
d10584ac6c
DRM: Search all user directories for rap files
2021-04-09 08:47:59 +02:00
Eladash
d2b761b7de
Log error about HG games booted outside of /dev_hdd0
2021-04-08 23:57:00 +03:00
Eladash
49c5ce30cc
Emulation: Fix boot path resolving
...
* Fix /dev_flash executables path arg. (/host_root is wrong for it)
* Fix usage of /host_root for homebrew applications when it is not mounted, use /app_home.
* Fix path source detection. (don't get fooled by path slashes repetitions, symlinks, '.', ".." and ('\' on Windows))
* Unescape tail of /dev_hdd0 paths.
2021-04-08 23:57:00 +03:00
Nekotekina
95725bf7fc
Add -Werror=missing-noreturn (GCC, clang)
...
May be useful to diagnose functions which fail assertions unconditionally.
2021-04-08 10:29:47 +03:00
Nekotekina
94c62b1eec
shared_ptr.hpp: improve is_same_ptr<> trait
...
Don't always return true on MSVC.
2021-04-08 10:29:47 +03:00
Megamouse
02febd3f65
Workaround: Skip progress_dialog during gameplay
2021-04-06 21:39:34 +03:00
Megamouse
497fbb17a8
progress_dialog fixes
2021-04-06 21:39:34 +03:00
Nick Renieris
396c129d41
vm: Flag names (refactoring)
2021-04-06 13:07:54 +03:00
Eladash
4a9be0a8d2
core: Move IDM to FXO
2021-04-04 17:29:32 +03:00
Megamouse
bf1756448e
overlays: fix taskbar progress reset
2021-04-04 13:38:10 +03:00
Nekotekina
ed8f60431f
Fixup for progress dialog closing logic
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-04-03 23:25:02 +03:00
Nekotekina
6f1f75bc8f
Minor progress dialog refactoring
...
Add rsx::overlays::progress_dialog class (identical to message_dialog).
Don't use Emu.CallAfter() for native dialogs.
Make g_progr_ptotal waitable.
2021-04-03 22:38:04 +03:00
Nekotekina
963d150e93
Fix some -Weffc++ warnings (part 2)
2021-04-03 21:54:15 +03:00
Nekotekina
1ddeef71c6
Fix some typos
2021-04-03 21:54:15 +03:00
Megamouse
b7eefeac8b
hotfix: skip progr dialogs if msg dialogs are open
2021-04-03 20:37:40 +02:00
Eladash
e57f36fc5b
Quick sys_sm_get_params implementation
2021-04-03 17:23:40 +03:00
Eladash
32116086b3
Implement _sys_prx_register_module loading imports/exports functionality
2021-04-03 17:23:40 +03:00
Eladash
878da3b474
Implement get_cellos_appname()
...
Identifying vsh.self and possibly other operating system executables in the future.
2021-04-03 17:23:40 +03:00
Eladash
73320d4180
Output all fatal log messages to Console/debugger as well
2021-04-03 08:47:58 +02:00
Eladash
a1d31f640a
Set userland firmware SPRX directory as the default PS3 decryption tool path
2021-04-02 20:54:33 +02:00
Megamouse
9c7230e79f
cli: set user-id per command line
2021-04-02 11:50:28 +02:00
Megamouse
98687d474b
Move system info to extra line
2021-04-02 07:14:23 +02:00
Eladash
7b57b8f2ca
debugger: Implement ability to pause entire emulation on breakpoint
2021-04-01 19:11:55 +03:00
Eladash
55c98bfaef
Fix #9879 and fix firmware confirmation dialog when auto-start is disabled
2021-04-01 14:09:02 +03:00
Nekotekina
e9a45a2f45
Implement scoped_progress_dialog
...
Create Emu/system_progress.hpp
Remove atomic g_progr_show
2021-03-31 23:40:09 +02:00
Nekotekina
2212a131ef
Fix some -Weffc++ warnings (part 1)
2021-03-31 11:27:09 +03:00
Nekotekina
deacf05769
Enable -Wdeprecated-copy
...
Some classes violated the Rule of 3(5) in their special operator definitions.
2021-03-31 11:27:09 +03:00
Megamouse
870224cde0
Emu/overlay: ingame native overlay PPU compilation
2021-03-31 09:38:30 +02:00
Megamouse
e557c962fb
Qt: gs_frame position updates
2021-03-30 19:09:01 +02:00
Eladash
1e71deb0db
rsx: Compile shaders when CELL is not running
2021-03-30 11:13:47 +03:00
Eladash
dea1d01de2
Fix Emulator::Stop race with IDM
...
Newly created threads' state could have not been flagged with exit.
2021-03-30 10:21:54 +03:00
Eladash
e9bea1c742
Emu: Do not obey auto-exit setting after creating firmware cache
2021-03-30 10:21:54 +03:00
Eladash
d51bb8b1cc
Fix Emulator::Pause race with IDM
2021-03-30 10:21:54 +03:00
Eladash
aad5283786
Fix Emulator::IsPaused()
2021-03-30 10:21:54 +03:00
Megamouse
66df38957b
add AppIcon to fatal_error_dialog
2021-03-29 23:32:15 +02:00
xddxd
7cbafd603a
Get rid of non-LLVM build configurations ( #10030 )
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-29 22:45:48 +03:00
dio-gh
3e48c9744b
upgrade icons to a modern design
...
Credits go to @DAGINATSUKO, and @hcorion for the svg version.
2021-03-29 22:24:40 +03:00
Megamouse
a982280400
Qt: Drop int for QT_SCALE_FACTOR_ROUNDING_POLICY
2021-03-29 20:37:33 +02:00
Megamouse
d62983e1a2
Qt: Properly set QT_SCALE_FACTOR_ROUNDING_POLICY
2021-03-29 20:37:33 +02:00
Megamouse
90ac24e524
Qt: set find_dialog "next" button to default
2021-03-29 19:19:24 +02:00
Megamouse
0b2ba98238
Qt: add option to hide the log prefix
2021-03-29 19:19:24 +02:00
xddxd
b978aa6dca
Wording changes and tooltip fix for unsupported CPUs
2021-03-26 18:56:16 +01:00
Megamouse
6565855005
Qt: clean global cfg before adding custom cfgs
2021-03-26 09:08:30 +01:00
Megamouse
9f80a55652
Qt: don't show updater if booted with cli arg
2021-03-25 23:39:42 +01:00
xddxd
9d895e6b15
Scheduler overhaul
2021-03-26 00:29:44 +03:00
Megamouse
a7acb84b8b
Qt: Remove unused GUI entries when saving a config
2021-03-25 20:34:00 +01:00
Megamouse
8d54453981
Qt: Fix debugger breakpoint deletion
2021-03-24 20:47:51 +01:00
Megamouse
452fb59c74
Qt: select target item in debugger list
...
This should make it easier to spot the item
2021-03-24 20:47:51 +01:00
Megamouse
ba45daff35
Qt: some cleanup in debugger
2021-03-24 20:47:51 +01:00
Nekotekina
b3fb6d7d18
Add and fix -Wredundant-decls (GCC)
2021-03-23 22:48:57 +03:00
Nekotekina
5dc3467337
vm: fix reservation_update notification
...
Rare function.
2021-03-23 21:09:37 +03:00
Nekotekina
729757b1dd
atomic.hpp: allow raw notify_all by pointer
2021-03-23 20:58:42 +03:00
Nekotekina
393f9d329d
atomic.cpp: allow non-standard sizes in atomic wait (>16)
2021-03-23 20:52:56 +03:00
Nekotekina
820390b7ed
atomic.cpp: remove raw_notify and simplify internal logic
...
Also permit zero size in waiters.
2021-03-23 20:19:10 +03:00
Nekotekina
e0790f758e
Add some warnings (GCC, clang)
2021-03-23 16:40:44 +03:00
Eladash
2f333424a6
Improve ELF/Trophy loader's error checking
2021-03-23 16:05:23 +03:00
Eladash
a67b347966
debugger: Fix SPU memory viewing ( #10007 )
...
* debugger: Fix SPU memory viewing
* Fix terminal recovery from page faults (hack allocation)
2021-03-23 13:33:07 +03:00
Megamouse
dedf09017a
VS: try to unbreak debug builds
2021-03-23 09:11:04 +01:00
Megamouse
cd07ab5b5f
VS: fix release build
2021-03-23 00:46:26 +01:00
Megamouse
6892cb1c7e
Qt: prepare for removal of deprecated GUI settings
...
If you remove a custom name and already had a deprecated name before, you'll never get rid of it.
This applies to all of the deprecated settings.
2021-03-22 23:47:11 +01:00
Megamouse
b518a9a338
VS: fix release Optimization
2021-03-22 20:19:36 +01:00
Megamouse
54d078f379
VS: fix AdditionalIncludeDirectories
2021-03-22 20:19:36 +01:00
Eladash
b0a0533a4f
Memory string searcher improvements
...
* Search the entire PS3 4GB address space instead of a small area of memory which is meant mostly for PRX/SELF memory aka vm::main segment. This limitation rendered string searcher nearly useless.
* Implement hexadecimal byte-string, hexadecimal integer, float and double value search formats.
* Multi-thread searching.
* Optimize searching algorithm vastly.
* Fix crash on empty string, report an error.
* Implement case-insensitive string search.
2021-03-22 18:37:26 +03:00
Megamouse
399f20ae54
Qt: Fix debugger step shortcuts
2021-03-22 10:44:30 +01:00
Megamouse
554ba9d6a6
Qt: Allow package installation through cli
...
Adds --installpkg cli option
2021-03-21 18:44:11 +01:00
Megamouse
2c05e9719d
cfg: simplify get_nodes
2021-03-20 20:54:26 +03:00
Megamouse
cb9e7358d2
cfg: log unused config entries
2021-03-20 20:54:26 +03:00
Megamouse
70c98fff19
Make cli fw installation more foolproof
2021-03-20 11:57:04 +01:00
Romain TISSERAND
b5698ee101
Add command-line option to install firmware
2021-03-20 11:57:04 +01:00
Nekotekina
379138af27
Fix NtSetTimerResolution in no-gui mode (Win32)
...
Add dummy persistent timer with 10ms period.
Replace QTimer invocation with Emu.CallAfter().
This way, headless and no-gui modes should be affected by it.
2021-03-19 22:26:48 +03:00
Eladash
1864419561
Fix SPU mapped memory page size
2021-03-19 22:25:08 +03:00
Eladash
a9ddb1d3b3
GUI: Implement full extraction of PUP
...
* Implement full extraction of PS3UPDAT.PUP.
* Implement TAR extraction via GUI.
* Use VFS to implement missing PS3 filesystem characters escaping.
* Use VFS to error on illegal paths. (illegal paths such as malware pointing to "/../../..and so on../C:/Windows")
2021-03-19 17:51:09 +01:00
Eladash
314670a347
Improve firmware installation error handling
...
* Add new error types and descriptions.
* Do not crash on missing 0x100 and 0x300 PUP file entries.
* Report an error on missing PUP package inner files.
* Fix overflow in file-size against header check.
* Move all header errors to pup_object class.
* Move verbose error descriptions to pup_object class.
* Minor optimizations.
2021-03-19 17:51:09 +01:00
Eladash
ad49c54531
Fix race in render_creator ( #9939 )
2021-03-18 12:09:42 +03:00
Megamouse
43ac33c2b4
cellSaveDataEnableOverlay
2021-03-18 11:11:34 +03:00
Nekotekina
ee4009e123
Add supporters
2021-03-17 23:53:10 +03:00
Nekotekina
2decf1ecda
Rename and move g_tls_current_cpu_thread inside cpu_thread
...
Don't declare extern inside get_current_cpu_thread().
Possible workaround for gcc-11.
2021-03-17 23:49:48 +03:00
Eladash
1d7fbd6a9a
Fix sceNpTrophyGet(Trophy/Game)Icon
2021-03-17 22:31:57 +03:00
Eladash
1213708b72
Replace some log errors ( #9980 )
2021-03-17 17:19:35 +03:00
Nekotekina
8fcebebae3
Implement lv2_mp_flag::cache
...
Identify /dev_hdd1 without unsafe path comparison.
2021-03-16 19:37:03 +03:00
Nekotekina
f801dc6558
Save all 8 syscall_args
2021-03-16 19:33:37 +03:00
Eladash
8716ac554f
Fix sys_raw_spu_destroy
2021-03-16 19:31:52 +03:00
Eladash
d7b4753007
Make gamedata installation atomic as real PS3
2021-03-16 19:31:52 +03:00
Eladash
a9b0d25c01
PPU Debugger: Fixup for syscall arguments ( #9932 )
2021-03-16 16:20:45 +03:00
shockdude
6a14849381
sys_usbd: DJ Hero Turntable Emulation ( #9965 )
...
* Initial Turntable Emulation
2021-03-14 23:48:50 +03:00
Megamouse
f93dbb8f49
Qt: dont scale small icons, deal with size instead
2021-03-14 19:56:11 +01:00
Megamouse
f83b19cecf
Qt: Fix wide game icons (weird copy pasta error)
2021-03-14 19:56:11 +01:00
Megamouse
1e09be19f5
Qt: Fix PaintedPixmap crash if icon is null
2021-03-14 19:56:11 +01:00
Megamouse
c1de0bc28c
workaround for clang compilation
2021-03-14 16:46:16 +01:00
Megamouse
1a5a0f5eca
overlays: Fix aspect ratio of custom bakground images
2021-03-14 16:46:16 +01:00
Megamouse
8b0cd60be9
Qt: Fix game icon canvas size
2021-03-14 16:46:16 +01:00
Megamouse
2239a52e9b
Qt: Import Custom Shader Loading Icons
...
and refactor icon import
2021-03-14 16:46:16 +01:00
kd-11
c9214ce6c0
vk: Disable async streaming by default
2021-03-14 16:39:55 +03:00
Nekotekina
bb9b5e6aff
Enable -Wtautological-compare
2021-03-13 23:01:37 +03:00
Nekotekina
0327ecc5c1
Enable -Wduplicated-cond (GCC)
2021-03-13 18:46:59 +03:00
Nekotekina
ccdea1c4ad
Enable -Wduplicated-branches (GCC)
2021-03-13 18:03:08 +03:00
Nekotekina
c22e1e71f0
Continue fixing strict aliasing warnings
2021-03-13 18:02:37 +03:00
Eladash
aff63028d4
SCE Decryption: Detect illegal RAP files
2021-03-13 11:51:40 +01:00
Eladash
7a7b168af3
GUI: Atomic RAP file installation
2021-03-13 11:51:40 +01:00
Eladash
bdf6a1c70e
GUI: Handle all PUP files in drag-and-drop
2021-03-13 11:51:40 +01:00
Eladash
d1e07434a1
GUI: Handle uppercase RAP file extension
2021-03-13 11:51:40 +01:00
Megamouse
c0d823f1d8
Qt: Fix square custom icons
2021-03-13 10:19:39 +01:00
Megamouse
8d0947f07f
Qt: Option for Custom Icons
2021-03-13 10:19:39 +01:00
Megamouse
161d8ef47a
Qt: Center Custom Icons
2021-03-13 10:19:39 +01:00
Megamouse
8c139206d7
Qt: Import Custom Icons
2021-03-13 10:19:39 +01:00
jtscott
e3a7fddddf
Resolve minor typo 'verion'
2021-03-13 01:16:01 +01:00
Eladash
923ba6f3bb
Fix sysutil_send_system_cmd at Emu.Stop()
2021-03-12 21:01:48 +03:00
Eladash
729cd9284e
debugger: Fix PPU threads pausing
2021-03-12 13:01:12 +03:00
kd-11
140c5bfc3e
Add asynchronous streaming to the GUI and auto-enable it
...
- Hopefully not many users are on very weak GPUs
2021-03-12 02:27:05 +03:00
kd-11
a5f0faefc3
vk: Check for uninitialized target before going into any scaling op
2021-03-12 02:27:05 +03:00
kd-11
608f8de347
vk: Solve GPU hang/reset due to waiting on events that are never signaled
...
- TODO: Some refactoring may be required to pair the primary and secondary CB and avoid such blunders
2021-03-12 02:27:05 +03:00
kd-11
3e8a00d264
Basic fixups
2021-03-12 02:27:05 +03:00
kd-11
7d5a72c9e0
vk: Add options to system configuration
2021-03-12 02:27:05 +03:00
kd-11
48d0f80a86
vk: Add an alternate async queue scheduler
...
- This version violates spec but does not rely on CPU threads to keep the GPU from hanging. It's ironically much safer to use.
2021-03-12 02:27:05 +03:00
kd-11
bd6c187fcd
vk: Tune event polling for higher throughput
2021-03-12 02:27:05 +03:00
kd-11
585837a3f0
vk: Support new fxo usage pattern
2021-03-12 02:27:05 +03:00
kd-11
b4e821c28d
vk: Flip on async texture uploads
2021-03-12 02:27:05 +03:00
kd-11
589ac1c5d4
vk: Optimization - avoid touching the mutex at all if possible even when there is no contention
2021-03-12 02:27:05 +03:00
kd-11
c9e8b87c60
vk: Properly clean up async scheduler
2021-03-12 02:27:05 +03:00
kd-11
41f5158247
vk: Sync main pipe with async jobs if any
2021-03-12 02:27:05 +03:00
kd-11
d2993474fb
vk: Lazy-initialize image resource on first use when owned by a separate queue
2021-03-12 02:27:05 +03:00
kd-11
77e312fb99
vk: Add the async task scheduler
2021-03-12 02:27:05 +03:00
Eladash
cd6ef2958b
Add information about unnamed/main threads in logs and fatal dialog
...
* If thread is unnamed, keep log name empty for main thread, otherwise print thread id. In fatal dialog, main thread can be handled differently (with special remark that it's main thread).
* Always print thread id in fatal dialog, regardless of thread type.
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-11 22:55:06 +03:00
Megamouse
40f3adc45f
Overlays: Implement individual pulse
2021-03-11 20:48:12 +01:00
Eladash
cfa2d4aaa8
Loader: Log FNID of imported/exported functions
2021-03-11 15:23:58 +03:00
arabek
bdefeaf6f9
Use maybe_unused macro for chip var
...
Var chip is only used in the WIN32 ifdef block - use maybe_unused to silence the compiler warning about unused variable.
2021-03-11 14:33:04 +03:00
Eladash
0958c10f88
Improve TAR loader ( #9908 )
...
* Fix header magic test.
* Rewrite code to not use so many filesystem calls.
* Add many more error checks.
* Add missing NUL filetype.
* octalToDecimal(header.size) has been fixed to use fixed 12 characters range instead of endless string.
* Add many optimizations.
* Fix possible signed overflows with int, use the unisgned u64 type instead which allows for greater files as well.
* Log errors.
2021-03-11 02:26:39 +03:00
Nekotekina
4adf412049
Fix std::bit_cast misuse
2021-03-10 16:11:30 +03:00
Nekotekina
03332c340d
Implement utils::bless (pointer cast)
...
Tries to workaround strict aliasing troubles.
Don't confuse with std::bless which works differently.
2021-03-10 16:02:00 +03:00
Eladash
63ecb56b51
PPU interpreter hotfix
2021-03-10 13:41:13 +03:00
Megamouse
cbd895a29c
Move code to cpp ( #9938 )
...
* GL: move GLOverlays code to cpp
* GL: move GLCompute code to cpp
* VK: move VKOverlays code to cpp
* VK: move VKCompute code to cpp
2021-03-10 00:58:08 +01:00
Nekotekina
9cbe77904d
Revert changes in BufferUtils.cpp
...
Should fix #9933
2021-03-09 19:19:24 +03:00
Nekotekina
19b5b47b26
Add -Wnull-dereference (commented out)
2021-03-09 15:54:04 +03:00
Eladash
52a0b38379
Workaround segfaults in Vulkan enumeration thread ( #9935 )
...
* Workaround segfaults in Vulkan enumeration thread
2021-03-09 13:50:58 +01:00
Nekotekina
a4fdbf0a88
Enable -Wstrict-aliasing=1 (GCC)
...
Fixed partially.
2021-03-09 03:10:15 +03:00
Nekotekina
3990e2d3e6
Add -Wclobbered and -Wcast-function-type (no effect)
2021-03-09 03:10:15 +03:00
Nekotekina
53af2dbb3f
Add/fix warning -Wignored-qualifiers (GCC/clang)
...
Fix simple_array::const_iterator as a part of it.
2021-03-09 03:09:50 +03:00
Nekotekina
5bdd1cf837
Remove some redundant code
...
Potential fix for future warnings.
2021-03-09 03:09:50 +03:00
Megamouse
1a3c01154a
make from_hdd0_game check lowercase
2021-03-08 22:58:19 +03:00
xddxd
df338f0552
Move sys_crashdump to it's own file and make it a module itself
2021-03-08 22:57:35 +03:00
Malcolm Jestadt
e5d0e035d0
SPU LLVM: Rearange FM instruction for better performance
...
- Doesn't eliminate any instructions, but allows for better out of order execution.
2021-03-08 15:48:36 +03:00
xddxd
6d91a9fe6f
Possible workaround for mobile Kepler chips
2021-03-08 15:46:03 +03:00
Megamouse
935e398930
patch_manager: expand first search results
2021-03-08 12:05:00 +01:00
Eladash
2afc7cbaaa
GUI: Implement MSELF extraction tool ( #9909 )
...
* MSELF: fix overflow
* GUI: Implement MSELF extraction tool
* VS: fix mself files in vcxproj
* fix
* Update mself.cpp
* fixed
2021-03-07 17:59:37 +01:00
Megamouse
1b5cf118e7
Input/Qt: implement XInput battery level
2021-03-07 11:48:19 +01:00
Megamouse
a3a4c0a906
overlays: don't count initial garbage values.
...
This might also shave off some microseconds.
2021-03-07 00:52:11 +01:00
Megamouse
3ae7debc17
Qt: Do not allow updates during emulation
2021-03-07 01:56:25 +03:00
Megamouse
dab53f4e41
Cleanup Emu before the update reboot
2021-03-07 01:56:25 +03:00
Megamouse
9da7910fc9
Fix auto updates. Don't pass exe as arg0 to execl
2021-03-07 01:56:25 +03:00
Nekotekina
3609eb25c9
Implement thread_ctrl::is_main()
2021-03-06 23:10:31 +03:00
Nekotekina
ded828dfc9
sysinfo.cpp: Implement utils::main_tid (main thread id)
...
Careful.
2021-03-06 23:10:31 +03:00
Nekotekina
87af905018
Enable -Wunused-parameter
2021-03-06 18:07:08 +03:00
Megamouse
7205a93751
add some log messages for debugging
2021-03-06 18:06:21 +03:00
GitArUs
f8097a428c
Allow games to list all savedata ( #9547 )
...
* cellSaveData - allow games to list all savedata, not only those they own.
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-06 16:01:04 +03:00
Eladash
228988ca2b
Fix utils::get_firmware_version()
...
* Do not crash on invalid file contents.
* Do not crash on unexpected file.open() error.
2021-03-06 14:53:40 +03:00
Megamouse
d2b0b019ec
DualSense: Fix initial ingame LED update
2021-03-06 11:15:54 +01:00
Eladash
a5d74c5e96
GUI: Improve missing firmware handling
...
* Install PS3UPDAT.PUP at the spot when booting games whenever firmware is missing. The option to boot games without firmware is still supported when all firmware SPRX are HLEd in firmware settings.
* Pop-up a confirmation dialog in firmware installation if firmware is already installed.
2021-03-06 10:34:49 +01:00
Megamouse
3e7e077fad
DS3/DS4: fix battery LED update
2021-03-06 02:07:02 +01:00
Megamouse
dbb03ae2d7
dualsense: implement lightbar pulse (low battery)
2021-03-06 02:07:02 +01:00
Megamouse
06d2c5357b
dualsense: fix LED updates
2021-03-06 02:07:02 +01:00
Megamouse
c8e7530e37
dualsense: get hardware and firmware version
2021-03-06 02:07:02 +01:00
Megamouse
cdffaa1598
dualsense: implement battery level
2021-03-06 02:07:02 +01:00
Megamouse
b836d2497d
dualsense: minor cleanup
2021-03-06 02:07:02 +01:00
Megamouse
bdd94f053c
Qt: reset battery progress bar when not supported.
2021-03-06 02:07:02 +01:00
Megamouse
f88c3ae417
Qt: fix settings_dialog layout. Add stretches.
2021-03-05 14:46:52 +03:00
Megamouse
b09ac19e61
VS 16.9.0 compilation workaround
2021-03-05 14:46:52 +03:00
Timothy Redaelli
826dc7d5a6
Fix linking with system curl
2021-03-04 12:22:19 +03:00
Timothy Redaelli
fa5a2b6a85
SPUThread.cpp: remove "__attribute__((always_inline))"
...
cmp_rdata and mov_rdata are using __attribute__((always_inline)),
without inline, that is not supported on current g++ (see RPCS3#1546).
Moreover __attribute__((always_inline)) is a noop if used without inline so
just remove it.
A proper fix is to move the 2 functions in an header file as static
(with FORCE_INLINE) so it can be correctly inlined by the compiler.
2021-03-04 12:17:27 +03:00
Nekotekina
e6a3b59229
endian.hpp: simplify be_t/le_t constructors
2021-03-03 17:37:51 +03:00
RipleyTom
0eb0b1e1c9
Add some GT6 devices to whitelist
2021-03-03 17:30:16 +03:00
kd-11
1becd2f788
vk: Remove redundant double barrier
...
- Luckily it was not too harmful in single queue submissions
2021-03-03 13:17:04 +03:00
Megamouse
7c0b93f815
perf overlay: Don't allow 0 or 1 datapoint count
...
Doesn't render anyway
2021-03-03 00:33:46 +01:00
Megamouse
fa852c7dbe
perf overlay: add missing graph vertex
...
And fix potential division by 0
2021-03-03 00:33:46 +01:00
Megamouse
73ca2119ed
perf overlay: add datapoint settings to GUI
2021-03-03 00:33:46 +01:00
Megamouse
86dbb859b7
perf overlay: add datapoint count config settings
2021-03-03 00:33:46 +01:00
Megamouse
e1e370999e
perf overlays: fix dynamic font resize of graphs
2021-03-03 00:33:46 +01:00
Megamouse
038c708a0a
perf overlays: add detail level none (hides FPS)
2021-03-03 00:33:46 +01:00
Nekotekina
c71bc25090
PPU: remove artificial 0x20000000 barrier for debug stats
...
Change it to 0xE0000000 (SPU demarcation line)
2021-03-02 21:58:49 +03:00
Nekotekina
52fe86b56c
fixed_typemap.hpp: make it a bit fool-proof
...
Require objects to be non-copyable (move is still allowed).
2021-03-02 21:58:49 +03:00
Eladash
004ebfdaee
SPU debugger: Implement MFC journal
...
* Allow to dump up to 1820 commands with up 128 bytes of data each, using key D with the debugger.
2021-03-02 21:57:51 +03:00
Eladash
d0edd44a69
Atomic trophy status updates
2021-03-02 19:19:27 +03:00
Nekotekina
ea5e837bd6
fixed_typemap.hpp: return reference
2021-03-02 16:08:14 +03:00
Nekotekina
bbf52f3cea
named_thread: fix bugs in std::forward usage
...
Fix few misused threads and other bugs.
2021-03-02 16:08:14 +03:00
Nekotekina
d788b12a8e
fixed_typemap.hpp: reduce indirection
...
Backported some changes from auto_typemap.hpp
Implemented methods init(), reset(), clear()
Disabled recreation support.
2021-03-02 16:08:14 +03:00
Nekotekina
8a9320c4ef
auto_typemap.hpp: reduce indirection
...
Implement is_init() method.
Implement optional Size template arg for further optimization.
2021-03-02 16:08:14 +03:00
Nekotekina
5cc9bd7702
typeindices.hpp: upgrade with size and align info
...
This allows contiguous allocation (as in an aggregate).
2021-03-02 16:08:14 +03:00
Nekotekina
aa7e2376ec
shared_ptr.hpp: minor fixup for arrays
2021-03-02 16:08:14 +03:00
Megamouse
930895a218
DS3: fix LED battery status
2021-03-02 01:29:28 +01:00
Megamouse
3452e18da1
DS3: fix linux output report
2021-03-02 00:45:42 +01:00
Megamouse
b5d4b5a21c
DS3: fix regression: pad data is cleared even if there is no new data
2021-03-01 14:37:49 +01:00
Megamouse
2dc798d539
DS3: fix battery_level aquisition
2021-03-01 14:37:49 +01:00
Megamouse
805d52987f
Qt/Input: set player LED in pad settings
2021-03-01 14:37:49 +01:00
Megamouse
c2467b7b38
ds3: add led battery indicators (Linux only atm)
...
needs testing. maybe doesn't work
2021-03-01 14:37:49 +01:00
Megamouse
22b8cfd0ba
input: add some sanity checks
2021-03-01 14:37:49 +01:00
Megamouse
10a55f16cc
DS3: implement player LEDs
2021-03-01 14:37:49 +01:00
Ani
8e4451d1ab
rpcs3_version: Bump to 0.0.15 ( #9866 )
2021-02-28 23:32:23 +00:00
Megamouse
0b5c6350ae
cellScreenshot: fix overlay scaling ( #9867 )
...
* cellScreenshot: fix overlay scaling
2021-02-28 23:00:49 +00:00
Nekotekina
71e16bfac3
shared_ptr.hpp: minor fixup
2021-03-01 00:28:28 +03:00
Nekotekina
b7c579adf9
Tentative fix for -Wattributes
...
These warnings enabled conditionally for GCC 10.1+.
2021-03-01 00:22:32 +03:00
Eladash
461fa6a88a
Firmware installation bugfixes ( #9855 )
...
* Fix race condition in PUP installation abortion.
* Fix freezes of emulator in case the PUP installation failed due to filesystem errors.
* Use fs::create_path as opposed to fs::create_dir as it is can create upper directories in case they are missing and is better in error handling.
* Report TAR errors on failure to create directories.
* Fix pup_object constructor to not crash on invalid PUP file header. (report an error)
* Fix pup_object::validate_hashes to not crash on invalid PUP file entries. (report an error)
* Do not call Qt functions inside a named_thread because it is wrong.
2021-02-28 22:59:27 +03:00
Florin9doi
dfee46604a
Buzz settings
2021-02-28 22:36:47 +03:00
Megamouse
a7c9827ad4
Improve cellScreenshot ( #9851 )
...
* Fix screenshot logging
* Update libpng to 1.6.37
* cellScreenshot: Write text chunks
* cellScreenshot: add overlay image
* screenshot_manager: add /dev_hdd0/photo/
* read_png_file: use deleter instead of manual close
* cellScreenshot: use Qt for overlays
* cellScreenshot: don't apply overlay to regular img
* screenshot_manager: add mount hack for VFS
* cellScreenshot: escape the whole path
2021-02-28 22:05:04 +03:00
Nekotekina
f580bee32c
Rewrite cellNetCtlNetStartDialogLoadAsync hack
2021-02-28 20:20:17 +03:00
Nekotekina
de9d859f4a
named_thread: implement task queue
...
atomic_ptr: implement push_head()
thread_ctrl::state() triggers task queue execution.
2021-02-28 20:20:17 +03:00
Nekotekina
3aaa0172d5
named_thread: implement "default" event loop
...
Fixup "sleepy" thread at startup on Windows.
Permit threads which lack operator()() overload.
2021-02-28 20:16:13 +03:00
Megamouse
7cb32a3680
Qt: set parent for QThread
...
This may or may not have caused a leak
2021-02-28 18:48:34 +03:00
Megamouse
a4d4ab1df9
remove unused variable
2021-02-28 18:48:34 +03:00
kd-11
4bef176e9b
vk: Fix inadvertent self-assign
2021-02-28 18:00:20 +03:00
kd-11
d2de8a87bf
vk: Explicit initialization of command pool queue family
2021-02-26 15:08:14 +03:00
kd-11
12cad7c393
vk: Add per-queue-family scratch resources and double buffer them
2021-02-26 15:08:14 +03:00
kd-11
be1238cc95
vk: Add support for queue family migration and refactor some texture upload code
2021-02-26 15:08:14 +03:00
RipleyTom
67378c7dea
Add CELL_NET_CTL_INFO_DHCP_HOSTNAME impl
2021-02-26 11:58:42 +03:00
Eladash
c13039396c
Fix stop count incremention in Emu.Stop ( #9843 )
...
Until emulation is completely stopped, further CallAfter callbacks may be issued with incorrect stop count memorized.
2021-02-25 14:37:31 +03:00
Megamouse
e940632d93
Fix Nan in cpu_stats::get_usage
...
And apply same logic to linux and windows
2021-02-25 13:08:27 +03:00
Megamouse
6db25aa7fa
overlays: Fix cpu usage in low detail mode
2021-02-25 13:08:27 +03:00
Eladash
0012f39384
Fix TTY handling of control characters
2021-02-24 16:42:39 +03:00
kd-11
0e7e5b59ae
vk: Handle old GPUs without proper async queues
2021-02-23 23:22:41 +03:00
kd-11
d459da1378
Formatting fixes only
...
- Mostly remove camelcase usage in old code.
- Properly annotate vulkan API imports with _vk prefix to make it clear they are not regular variables.
2021-02-23 23:22:41 +03:00
Nekotekina
3063369322
vk::render_device::create: try to remove failing assertion
2021-02-23 19:46:37 +03:00
Nekotekina
a90ad62fc0
Remove garbage SPUW perf report
2021-02-23 18:24:50 +03:00
Nekotekina
cd01a1eb09
Move CPUStats.h -> util/cpu_stats.cpp
2021-02-23 18:24:50 +03:00
Nekotekina
090a769bf6
Implement fs::sync (Linux/POSIX)
2021-02-23 18:24:50 +03:00
Nekotekina
014846cf31
cellSaveData: fix minor issues
2021-02-23 18:24:50 +03:00
Megamouse
b83cb2dbf5
product_info: add Harmonix Pro-Drum Kit ( #9822 )
...
Co-authored-by: DrGeelfood <79338929+DrGeelfood@users.noreply.github.com>
2021-02-23 18:23:53 +03:00
Eladash
112b7f6571
Fix Emulation::CallAfter
...
Most CallAfter usages were extremely wrong when ordered after Emu.Stop(). could result in anywhere from emulation stopping hangs to even segfaults.
track_emu_state = true is now the default, I haven't found cases which need need it disabled.
2021-02-23 17:55:36 +03:00
Eladash
68a878264c
Minor GUI fix for PPU interpreter at "precompilation"
2021-02-23 17:35:45 +03:00
Megamouse
a771f168eb
overlays: fix perf overlay switching detail levels
...
The body was lagging behind the text. This was fixed by calling an updated version of init() on settings change.
This introduced spikes in the frametime graph, so the data had to become members and m_force_update was adjusted to not interfere with data aquisition.
2021-02-23 13:27:54 +03:00
Megamouse
79b5b79de1
overlays: fix initial size of perf_overlay body
...
You could see that it was not properly adjusted in the first frame in high detail mode.
2021-02-23 13:27:54 +03:00
Megamouse
7cc8380330
overlays: fix perf_metrics_overlay division by 0
2021-02-23 13:27:54 +03:00
Megamouse
e91df31f8c
overlays: Fix perf_metrics_overlay visibility
...
Also change auto type to compiled_resource in order to silence a warning about accidental copy by value
2021-02-23 13:27:54 +03:00
Megamouse
663b2c9c5e
overlays: Fix frametime graph spikes
...
The frametime_timer was restarted at the end of the update method, instead of immediately after reading its value.
This means that the frametime was lower than expected when an expensive task was executed in-between.
2021-02-23 13:27:54 +03:00
RipleyTom
801467e565
Fix rpcn registration
2021-02-23 13:17:49 +03:00
Eladash
447d2b6f93
Atomic RSX capture writes
2021-02-23 11:29:23 +03:00
Eladash
9ccf39b27f
Atomic SPU LS capture writes
2021-02-23 11:29:23 +03:00
Eladash
d4af8dd89a
Fix atomicity of savedata/trophy data writes
2021-02-23 11:29:23 +03:00
Eladash
932f31e37b
Atomic PARAM.SFO writes
2021-02-23 11:29:23 +03:00
Megamouse
0878db4e17
remove unused variable
2021-02-23 05:03:38 +01:00
Megamouse
037586d7bb
fix no-gui crash if no firmware was installed
...
It's a bit mysterious, but the confirmation box doesn't like being called in this mode.
So let's just return false.
2021-02-23 05:03:38 +01:00
kd-11
cb7cf40b5e
vk: Move queue family management from swapchain to logical device
2021-02-23 00:04:53 +03:00
kd-11
3632412c48
vk/dma: Simplify map_dma interface
2021-02-23 00:04:53 +03:00
Nekotekina
4b858648e5
Add supporters
2021-02-22 19:37:42 +03:00
Nekotekina
ad1027455a
Fix minor inconsistency in utils::memory_reset (Linux)
2021-02-22 13:00:01 +03:00
Nekotekina
9dc238187f
Simplify utils::align() a bit
...
std::is_unsigned implies std::is_integral I believe.
2021-02-22 13:00:01 +03:00
Eladash
73d45f3bf0
Remove vm::cleanup_unlock
2021-02-22 12:47:45 +03:00
Eladash
96400234a8
Remove cpu_thread destructor
2021-02-22 12:47:45 +03:00
Megamouse
2e5f321583
evdev: fix build
2021-02-22 10:45:40 +01:00
Megamouse
5a9b29b73a
hid: log more info when adding a device
...
And minor format changes
2021-02-22 10:45:40 +01:00
Megamouse
1b2260132b
only call hid_exit when all hid_handlers are done
2021-02-22 10:45:40 +01:00
Megamouse
1479468730
Input: fix build
2021-02-22 10:45:40 +01:00
Megamouse
f0b7afd7cc
cellPad: minor optimization
2021-02-22 10:45:40 +01:00
Megamouse
870d26f9d8
Input: replace a bunch of static_pointer_cast
2021-02-22 10:45:40 +01:00
Megamouse
f6d465667a
Input: unify some more code
2021-02-22 10:45:40 +01:00
Megamouse
aaae30cb84
DS3: inherit from hid_pad_handler
2021-02-22 10:45:40 +01:00
Megamouse
fbb9396813
DualSense: inherit from hid_pad_handler
2021-02-22 10:45:40 +01:00
Megamouse
b9a4abce0e
DS4: inherit from hid_pad_handler
2021-02-22 10:45:40 +01:00
Megamouse
d0cc5c0fc7
DS4: enumerate devices periodically
2021-02-22 10:45:40 +01:00
kd-11
b7c2bfbcde
vk: Fix cyclic read-write in dma_block::load/flush
...
Some DMA block entries are stubs whose parents are DMA_block_EXT
entries.
Performing load() in this case becomes a memcpy(address,
same_address_again, length) which wastes performance and introduces
bugs.
2021-02-22 01:13:31 +03:00
RipleyTom
8be2a55ccc
Add mutex lock for NP changes
2021-02-21 18:04:55 +03:00
RipleyTom
81270f3142
Remove now useless code from sys_bnet_connect
2021-02-21 18:04:55 +03:00
Eladash
eb0d006168
Fix most of "[x] thread is too sleepy" at Emu.Stop() ( #9813 )
...
* Fixes some thread sleep/wait calls
2021-02-21 16:43:02 +03:00
Oschowa
a47bda026b
Audio/AL: Request our default sampling rate (48kHz) from AL when creating the
...
context.
Otherwise AL might downsample and output in 44.1kHz unnecessarily, which
happens at least on my system. Also tested on an audio device that
doesn't support 48kHz to makes sure that still works.
2021-02-20 14:31:38 +03:00
RipleyTom
5129d0da45
check alcGetString return pointers
2021-02-20 07:39:56 +01:00
Eladash
b86ec2ffcf
Fix potential overflows in utils::aligned_div, utils::rounded_div
2021-02-19 16:10:03 +03:00
Eladash
20eb4352fb
debugger: Fix single stepping ( #9793 )
2021-02-19 14:53:09 +03:00
Nekotekina
e76d8eb046
Fix -Wstring-aliasing (gcc)
2021-02-18 19:38:22 +03:00
Nekotekina
c8fefc4434
Fix -Wpessimizing-move (Clang)
2021-02-18 14:38:56 +03:00
Nekotekina
2c18d67769
Fix -Wsometimed-uninitialized (Clang)
2021-02-18 14:15:52 +03:00
Nekotekina
428771f1d7
Fix -Wself-assign (clang)
2021-02-18 14:07:22 +03:00
Nekotekina
038148bf06
Fix almost all GCC warnings
2021-02-17 22:59:04 +03:00
RipleyTom
6786734d95
Fix mic device default in config
2021-02-17 18:15:58 +03:00
Nekotekina
1446254a03
Add error on missing 'override'
...
For consistency.
2021-02-15 20:21:30 +03:00
Nekotekina
3bcd76bd4e
Fix regression (incorrectly removed specialization)
...
Changed CRLF->LF in VKPipelineCompiler.h
2021-02-15 17:05:51 +03:00
Nekotekina
0bcece4585
Make -Woverloaded-virtual an error
...
Had to devirtualize some functions.
2021-02-15 15:50:05 +03:00
Nekotekina
035ab590ec
Reset -ftemplate-depth to normal
...
It became obsolete.
2021-02-15 14:40:29 +03:00
Nekotekina
8e6e57de86
Enable -Wunused-function warning
2021-02-15 14:39:53 +03:00
Eladash
4c1026436f
Log "Missing Firmware" if firmware is missing
2021-02-15 09:50:52 +01:00
kd-11
9f97bab717
vk: Fixup and refactor for exclusive fullscreen stuff
2021-02-15 10:27:36 +03:00
13xforever
76518d4c59
add a hidden option to prevent switching to exclusive full screen mode
...
this is helpful for people streaming RPCS3, or to prevent disabling HDR mode in Windows
2021-02-14 22:01:33 +03:00
kd-11
eba7d3b172
rsx: Add duplicate section detection when there are too many sections in the surface cache
...
- Check for useless sections.
Helps in games that create a bunch of sections randomly for one-time use
2021-02-14 20:42:34 +03:00
kd-11
b8311caa6b
vk: Silence some compiler warnings
2021-02-14 20:42:34 +03:00
Eladash
5b044a93c1
Fix vm::falloc() for misaligned args ( #9764 )
...
Force addr/size alignment.
2021-02-14 13:19:14 +03:00
Eladash
f009d36811
Update log messages of PPU/SPU hashes and patches applied
2021-02-14 09:35:42 +01:00
Eladash
f43260bd58
Atomic waiting refactoring ( #9208 )
...
* Use atomic waitables instead instead of global thread wait as often as possible.
* Add ::is_stopped() and and ::is_paued() which can be used in atomic loops and with atomic wait. (constexpr cpu flags test functions)
* Fix notification bug of sys_spu_thread_group_exit/terminate. (old bug, enhanced by #9117 )
* Function time statistics at Emu.Stop() restored. (instead of current "X syscall failed with 0x00000000 : 0")
2021-02-13 17:50:07 +03:00
Eladash
cf384795d2
debugger: Improve PPU string constraints
2021-02-13 16:00:26 +03:00
Eladash
423cc1685c
PPU LLVM: Reduce PRX/OVL compilation memory usage a little
2021-02-13 13:05:41 +03:00
Eladash
5ed0cc293d
Fix PS3 process exit/exitspawn
2021-02-12 19:39:47 +03:00
Eladash
5401cb7392
kernel explorer: Display all PRX/OVL segments
2021-02-12 15:27:59 +03:00
Eladash
e26ae9899c
Reimplement/fix PRX patches
2021-02-12 15:27:59 +03:00
Alex Saveau
48296c2ba6
Fixup for multi-thread shader compilation (loading stage) ( #9762 )
...
* Multi-thread shader compilation
This offers a huge improvement in startup performance. With around 13,000 shaders we go from ~1:30 to under 10 seconds. It looks like this was the original intention of the author given the outer scope recompile variable.
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2021-02-12 14:39:35 +03:00
Ani
b858fceb4f
vk: Support incomplete lavapipe
...
Disable features still unimplemented by lavapipe when using it:
- samplerAnisotropy
- shaderStorageBufferArrayDynamicIndexing
- wideLines
as of mesa 21.1.0-dev (aea36ee05e9, 2020-02-10)
2021-02-11 14:49:37 +03:00
kd-11
195fb1cf66
rsx: Improve texture cache invalidate
...
- Bunch of improvements
- Properly signal renderer to rebind textures!
- TODO: Range checks, should be pretty easy
2021-02-10 11:37:14 +03:00
kd-11
52acc23ecf
rsx: Fix protection bug
2021-02-10 11:37:14 +03:00
kd-11
0a34fc4bcd
vk: Offload garbage collection to offloader thread
2021-02-10 11:37:14 +03:00
kd-11
bec91aab7b
rsx: Relax inheritance checks a bit
...
- It is not a fatal error for a texture to be defined where a framebuffer once existed.
2021-02-10 11:37:14 +03:00
kd-11
6f4dbf4fcd
vk/vma: Always use aligned requests
...
- Performance optimization when combined with vma optimizations added by me
2021-02-10 11:37:14 +03:00
kd-11
bf66c36ba4
rsx/texture_cache: Add support for reusing dirty images if possible
...
- Avoids a silly situation where a texture is discarded and an identical copy created immediately afterward.
Unfortunately allocating memory blocks is really slow so avoid it as much as possible.
2021-02-10 11:37:14 +03:00
kd-11
0c10f47e85
rsx: Lower cache block length to 256 pages
...
- Drastically lowers time wasted iterating blocks when many small objects
are present
2021-02-10 11:37:14 +03:00
kd-11
1bad9a939f
rsx: Refactor texture cache utils
...
- Also lays groundwork for optional hashed sections
2021-02-10 11:37:14 +03:00
Megamouse
8d6504d6e3
GUI: initial log viewer
2021-02-09 22:56:28 +01:00
Ivan
04c187deb5
Revert "Replace GetEmuDir() with GetExeDir() in handle_rpcs3"
...
This reverts commit f9eb6a31bd .
2021-02-09 22:24:09 +03:00
Megamouse
bc938ce630
dualsense: implement player LEDs
2021-02-09 19:21:37 +01:00
Megamouse
e5f95a450d
dualsense: update description
2021-02-09 19:21:37 +01:00
Megamouse
b31d38eef7
LED settings: set modal and add has_battery check
2021-02-09 19:21:37 +01:00
Megamouse
db402cb8af
dualsense: add player LED support
2021-02-09 19:21:37 +01:00
Megamouse
1af6550db7
dualsense: add lightbar support
2021-02-09 19:21:37 +01:00
Megamouse
7795f5207f
dualsense: fix switched motors
...
The left one seems to be the large motor
2021-02-09 19:21:37 +01:00
Megamouse
a9b8a50c31
dualsense: add output report structs based on linux driver
2021-02-09 19:21:37 +01:00
Megamouse
a9418fa1e7
dualsense: implement SetPadData for rumble in GUI
2021-02-09 19:21:37 +01:00
Megamouse
08f48d27e8
Input: minor simplification
...
This might prevent some copy paste error in the future
2021-02-09 19:21:37 +01:00
Megamouse
25a66da4ca
Input: rename some functions
2021-02-09 19:21:37 +01:00
Megamouse
ff61bc9e7c
dualsense: add mic button
2021-02-09 19:21:37 +01:00
Megamouse
3e8f4ba018
dualsense: add gyro support
2021-02-09 19:21:37 +01:00
Jordy Vieira
f9eb6a31bd
Replace GetEmuDir() with GetExeDir() in handle_rpcs3
2021-02-09 20:06:26 +03:00
Nekotekina
4f8cac731b
Fix SAFE_BUFFERS attribute for GCC
2021-02-09 12:33:50 +03:00
Nekotekina
3e496f6625
Add -fstack-protector (Non-MSVC)
2021-02-09 12:06:17 +03:00
kd-11
2d62f9c4c5
vk: Improve spec compliance ( #9748 )
...
- Always comply when running under strict mode
- Only allow hacky transport for known-to-work GPUs
2021-02-08 22:11:01 +00:00
Eladash
78811b8816
GUI: Always remove manually added fonts in OnChangeStyleSheetRequest()
2021-02-08 21:38:53 +01:00
Eladash
e38cd5149a
Fix firmware updating/reinstallation
2021-02-08 21:38:53 +01:00
Megamouse
dc2a1e270a
Qt: Repaint log on stylesheet change
2021-02-08 13:24:07 +03:00
Megamouse
44ab50553d
Qt: Replace relative paths in stylesheets instead of changing the working directory
2021-02-07 20:07:58 +03:00
Megamouse
7c683c368d
Qt: Fix weird naming issue on linux
2021-02-07 20:07:58 +03:00
Megamouse
62ca7a9b60
Qt: Simplify stylesheet logic
2021-02-07 20:07:58 +03:00
Nekotekina
632e36ab44
Qt: fix stylesheets on various platforms
...
Replace relative paths to resources.
Paths should start from GuiConfigs.
2021-02-07 14:09:50 +03:00
Nekotekina
0057c89eaa
PPU Analyser: follow fallbacks in some cases
...
Fallback is an "invisible" branch to the next instruction.
This may be necessary for certain cases when patches are used.
2021-02-07 11:02:45 +03:00
Nekotekina
9e9a55df46
PPU LLVM: compile instructions from patches
...
For now, only as a single instruction at a time.
2021-02-07 11:02:31 +03:00
Nekotekina
9463238490
PPU Analyser: minor fixups for end pointer
...
Add more sanity checks for sections.
Remove some redundancy.
2021-02-07 11:02:31 +03:00
Nekotekina
b7ff2ecffb
Patch system: export some info for future use
...
For now it's just a list of addresses.
For now it's not used (just a stub).
2021-02-07 11:02:31 +03:00
Eladash
fad89f1c3b
Fix tiny race in PPU breakpoints ( #9731 )
...
If the PPU has just being paused by the debugger, before it entered the breakpoint handler, the PPU would continue onto the next instruction skipping the breakpoint but then being paused on it instead.
2021-02-07 00:25:40 +03:00
Nekotekina
5063eefa96
Fixup for downloader
2021-02-06 15:21:00 +03:00
Nekotekina
25827c12a3
Make out of source builds get copy of /GuiConfigs/, /git/, etc.
...
Reduce quality of kot-bg.jpg.
2021-02-06 12:55:14 +03:00
Nekotekina
cb32fd15ee
Add supporters
2021-02-06 00:37:53 +03:00
Nekotekina
d6dcab443d
Updater: add minor sanity check
2021-02-06 00:37:53 +03:00
Nekotekina
c32fec774f
Create mini-cache for commits
...
Located in bin/git/commits.lst;
Created with GitHub API with --get-commit-db key.
Can be lazily appended with the same key.
2021-02-06 00:37:53 +03:00
kd-11
ddac4686a7
rsx: Clear vertex output register if nothing is written to it
...
- On NVIDIA GPUs, gl_Position is not initialized. Always clear to 0 to avoid on-screen crap
2021-02-05 22:22:07 +03:00
Megamouse
2865865382
Don't use std::exit during Qt initialization
2021-02-05 17:32:48 +01:00
Eladash
7ce835e878
Support logger stopping at std::exit ( #9722 )
2021-02-05 17:07:17 +03:00
Megamouse
7e0fdbbe99
Fix rpcs3.vcxproj
2021-02-04 23:11:05 +01:00
Megamouse
fd1f2ca1c6
Rename some variables to snake_case
2021-02-04 23:11:05 +01:00
Nekotekina
a6a92f7b6b
Qt: remove Q_OBJECT for mouse/kb handlers
...
Had to move QObject in parent list for g_fxo changes.
2021-02-04 23:11:05 +01:00
Eladash
4f85f151fd
SPU: Always signal the debugger about termination
2021-02-03 15:05:38 +03:00
Eladash
478ae0715e
Tiny fix for zombie PPU threads
2021-02-03 15:05:38 +03:00
Megamouse
714eb6dcc5
Disable LimitCacheSize option in custom configs
...
It doesn't make sense on a per game basis and is used before loading them anyway
2021-02-02 18:37:18 +01:00
Megamouse
89942ed92a
optimize add_only boot process
...
No need for hardcore stuff while adding games to the list
2021-02-02 18:37:18 +01:00
Megamouse
6ed9251f44
Remove tooltip event filter from gamelist
...
Fixes a weird issue where tooltips for the wrong game would popup.
I don't know why the event filter was needed.
Maybe the tooltips didn't work otherwise back then or it was just some copy paste from google.
2021-02-02 15:46:42 +01:00
Megamouse
2c32a721fc
Allow BootGame with indirect paths
2021-02-02 13:21:26 +01:00
Nekotekina
08aaae7999
PPU LLVM: workaround patch handling
...
Try to address #9704
2021-02-02 10:33:13 +03:00
Eladash
2005c89baa
memory viewer: Implement RSX mode
...
* Set the ground for RSX modes of register editor and insttruction editor, do not use shared ptrs directly.
* Make register editor and instruction editor modeless to allow to copypaste values from thread context etc in the background.
2021-02-02 01:05:36 +03:00
Megamouse
8c6aa9db31
Print report_fatal_error to cmd
...
useful if used like:
start /w ./rpsc3 --headless <path>
2021-02-01 21:44:23 +01:00
Nekotekina
58eef983e2
PPU Analyser: fix constraints for all elfs.
...
Added for main executable and OVLs.
Forgot to use it not just for SPRX.
2021-02-01 19:14:24 +03:00
Nekotekina
390b192f0a
TSX: workaround for check_state freezes
2021-02-01 19:14:24 +03:00
Nekotekina
7b40859eff
Remove unused header
2021-02-01 19:14:01 +03:00
Nekotekina
d0126f0fa0
Fix freezes in HLE Vdec and SPU LLVM precompilation.
...
Freezes could accidentally occur on close or ingame.
Deprecate range-for loop on lf_queue.
This is a part of PR #9208
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-02-01 19:14:01 +03:00
Nekotekina
0c034ad7de
PPU LLVM: upgrade to GHC call conv
...
Get rid of some global variables.
Implement ppu_escape (unused yet).
Bump PPU cache version to v4.
2021-02-01 11:30:50 +03:00
Nekotekina
aeeceb7d0b
Minor fixups
2021-02-01 11:30:50 +03:00
Nekotekina
d5f16ce272
PPU Analyser: better constraints for SPRX
2021-02-01 11:30:50 +03:00
Nekotekina
c89362f6a2
PPU LLVM: don't use module name as PRX indicator
2021-02-01 11:30:50 +03:00
Nekotekina
8a029159cd
PPU Analyser: compile certain functions on per-instruction basis
...
PPU LLVM: optimize small blocks
2021-02-01 11:30:50 +03:00
Nekotekina
891ebd0cb1
PPU Analyser: use reloc info (disabled for now)
...
Add blocks from relocations.
2021-02-01 11:30:50 +03:00
Nekotekina
382509d778
PPU LLVM: Implement inline __add_get_ov
2021-02-01 11:30:50 +03:00
Nekotekina
f9ee8978ff
PPU LLVM: improve analyser
...
Compile possibly executable holes between detected functions.
Add unused "PPU LLVM Greedy Mode" option (for future updates).
Add "nounwind" attribute to compiled functions (reduces size).
2021-02-01 11:30:50 +03:00
Eladash
e71c2df39d
Debugger: Add some more shortcut descriptions in F1 helper
2021-02-01 00:21:50 +03:00
Eladash
cfc7865f82
Debugger: Allow to unpause a thread which has been paused by global pause
2021-02-01 00:21:50 +03:00
Nekotekina
cf6606065d
PPU: fix some typos in asm code
2021-01-31 20:00:04 +03:00
Megamouse
9feb92df1b
More informative Error message on Vulkan driver crash
...
The message might not be the only reason, but at least it might help someone like me, who had no idea what he was looking at.
2021-01-31 15:51:21 +01:00
Megamouse
be26810cd7
RSX: Implement set_value for progress dialogs
2021-01-31 15:02:26 +01:00
Megamouse
df79b6c238
RSX: update shader loading dialog at 60 fps
...
Looks much smoother
2021-01-31 15:02:26 +01:00
Eladash
82c86ed2f7
Implement standalone OVL (overlay) loading mode
...
* Allow to load OVL alone.
* Add error checks in ppu_load_exec(), do not crash on error.
* Fix crash on exit from standalone PRX mode, allow kernel explorer to work with it as well for the added OVL mode.
2021-01-31 15:47:05 +03:00
Eladash
9077563dac
Add missing destructor of progress dialog
2021-01-31 12:55:20 +01:00
Eladash
8d15f44b33
Fix ppu progress dialog percentage
2021-01-31 12:55:20 +01:00
Eladash
b3fbada10e
Fix potential crash of progress dialog
2021-01-31 12:55:20 +01:00
Megamouse
31cdd7bdd2
Prevent minor race in Progress Dialog Server
2021-01-31 12:18:32 +03:00
Megamouse
c464e90d5d
Fix stop exit of check_only ppu_initialize
2021-01-31 12:18:32 +03:00
Megamouse
670d2b191c
Minor optimization for check_only ppu_initialize
2021-01-31 12:18:32 +03:00
Megamouse
7bddb87306
Simplify compile threads
2021-01-31 12:18:32 +03:00
Megamouse
2025f02105
Search for more game data directories.
...
Also properly remove duplicate paths
2021-01-31 11:42:33 +03:00
Megamouse
1078626eea
Fix ppu compilation progress dialog
...
We could only increase the value because we completely based the dialog on cellMsgDialog.
This led to an issue where the dialog would increase its maximum and thus decrease the current percentage.
It then couldn't decrease and was stuck on the old percentage.
2021-01-30 21:34:16 +01:00
Eladash
16c6b44f55
Fix #9680 ( #9687 )
...
Fix regression from #9680
2021-01-30 19:05:02 +03:00
Eladash
6b3b06df25
rsx: Set frame limit to auto by default
2021-01-30 16:53:14 +03:00
Eladash
e3b3b0cda7
PPU LLVM: Precompile all executable (PRX, MSELF, overlay) code at startup ( #9680 )
...
* Precompile LLVM cache at startup of games, like the GUI "Create PPU Cache" option.
* Allow OVL (overlay) precompilation as well (used by certain games).
Co-authored-by: Megamouse <studienricky89@googlemail.com>
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-01-30 16:08:22 +03:00
Nekotekina
bb2cc196a6
Fixup for preloading SPRX from MSELF
...
Forgot to append the offset.
Forgot to use different loop variable.
2021-01-29 21:26:34 +03:00
Eladash
d3bc96a201
Fix minor issue with usage of STL thread::hardware_concurrency()
2021-01-29 18:23:29 +03:00
Nekotekina
11ba6e45ab
Add MSELF support to SPRX precompilation.
...
Add ppu_precompile() function in PPUThread.cpp
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-01-29 13:34:43 +03:00
Eladash
a742501a4f
Do not account RSX for TSX pauses
2021-01-29 10:31:15 +03:00
Eladash
70346028c5
Fix GCM HLE
...
Oops.
2021-01-29 10:31:15 +03:00
Megamouse
3359458175
Handle missing cases of Emu.BootGame failure
2021-01-28 20:54:27 +01:00
Nekotekina
6784301376
Check for rsx::thread existence in Emu.Stop/Pause/Resume
2021-01-28 20:23:13 +03:00
Megamouse
51d19e7c31
Input: remove debug error
2021-01-28 18:02:23 +01:00
Eladash
0652870204
New RSX Debugger
2021-01-28 17:40:26 +03:00
Nekotekina
67dd6754a6
Seal cereal includes in util/cereal.cpp
2021-01-28 10:48:53 +03:00
Nekotekina
34274ec391
Purge unused typeid() invocations
2021-01-28 10:23:29 +03:00
Nekotekina
53267e283b
PPU LLVM: implement ppu_finalize
...
Properly free certain compiled PRX/OVL modules (except dev_flash)
2021-01-27 18:03:49 +03:00
Nekotekina
15ed963a29
UI: Add supporters
2021-01-27 14:23:26 +03:00
Nekotekina
ee288340b0
Implement thread_ctrl::scoped_priority
...
RAII priority control (+1, or -1)
2021-01-25 21:49:16 +03:00
Nekotekina
a69248299d
SPU: Don't use shm::map_critical in SPU LS allocations
...
Use shm::try_map instead until proper area is found.
2021-01-25 17:45:47 +03:00
Nekotekina
caa83d20f7
vm_native.cpp: implement shm::try_map
...
Treats addr as a hint, emulating windows behaviour.
2021-01-25 16:55:19 +03:00
Malcolm Jestadt
486d48e4f8
SPU LLVM: Optimize ROTQBY family for VBMI
...
- Avoid masking pshufb index by 0xf by using vpermb instead.
- Also fix conversion of vperm2b index to ShuffleVector index.
2021-01-25 13:18:23 +03:00
Ani
7c62574e59
spu: Restore workers priority after initialization
2021-01-24 16:40:59 +03:00
kd-11
22584fb2d1
vk/dma: Disable pasthrough DMA for NVIDIA+windows
...
- The driver seems to cache page mapping as long as allocation has not been removed
- This is undesirable as we cannot stop the emulator to remove stale allocations every time a page is unmapped
2021-01-24 14:24:55 +03:00
kd-11
90ac9165e2
vk/dma: Unmap pages from GPU when they are unmapped in Cell
2021-01-24 14:24:55 +03:00
kd-11
bcb69a54b2
gl: Avoid type shenanigans used to fake byteswap for select formats
...
- Just use the reversed type instead.
The new uploader backend combines swizzle+swap so there is no need for tricks anymore
2021-01-24 14:24:55 +03:00
kd-11
f93cb262ba
vk/dma: Fix multiple logical bugs
...
- Fix range chaining.
- Add validation checks that no overlaps exist.
2021-01-24 14:24:55 +03:00
kd-11
67949bb5b7
vk/dma: Allow interoperability between pass-through and write-back DMA caching types
2021-01-24 14:24:55 +03:00
kd-11
e56da4eb46
vk: Workaround for amdgpu kernel driver
2021-01-24 14:24:55 +03:00
kd-11
f7fdfe52bc
vk: Fix custom event signals
2021-01-24 14:24:55 +03:00
kd-11
7de0ff337b
vk: Polishing and cleanup
...
Some spec violations fixes
Make the option dynamic
2021-01-24 14:24:55 +03:00
kd-11
e1c0a917fa
vk/dma: Modify default page size to 64k
2021-01-24 14:24:55 +03:00
kd-11
ead180aa60
win32: Be a bit more optimistic with allocated ranges; we get contiguous ranges more often than not
2021-01-24 14:24:55 +03:00
kd-11
58d367d704
vk: Add host-imported DMA buffers
2021-01-24 14:24:55 +03:00
kd-11
a1ab6c28c1
vk/rsx: Fix some more bugs
2021-01-24 14:24:55 +03:00
kd-11
59e46f09b7
vk/dma: Disable memory inheritance
...
- It is not possible to emulate passthrough memory cleanly, and we don't need to
A stupid race condition appears when trying to synchronize DMA blocks with memory inheritance.
Since the usage pattern is to acquire a range and then load or write+flush, this new data is going to be..
overwritten by the commandbuffer execution sequence later. Acquiring a scratch buffer to hold CPU content during the transition is not worth the effort..
as the data will be destroyed anyway during the transfer process immediately afterwards.
Fixes data corruption when moving data around using the emulated DMA passthrough
2021-01-24 14:24:55 +03:00
kd-11
7766076042
rsx/vk: DMA stuff
2021-01-24 14:24:55 +03:00
Eladash
b96864c7e6
rsx: Improve gs frame exit workaround
...
Move to close(), hide before potential hanging at Emu.Stop()
2021-01-23 12:45:53 +03:00
Eladash
79513f06a4
rsx/gui: Delay game window pop-up until first frame
2021-01-23 12:45:53 +03:00
RipleyTom
00ff53499a
fix UserInfo2_to_SceNpUserInfo2
2021-01-22 20:51:10 +03:00
Eladash
142b44d4be
debugger: Implement F1 helper
2021-01-22 00:39:41 +01:00
Eladash
7f28489c70
Improve ppu_thread_cleaner a bit
...
Always join thread.
2021-01-21 21:32:13 +03:00
Eladash
a58c12db0b
SPU: fixup after #9630
...
Co-Authored-By: Ivan <nekotekina@gmail.com>
2021-01-21 21:32:13 +03:00
Eladash
12e1be2626
Implement thread_ctrl::wait_on (see #9208 )
2021-01-21 18:31:51 +03:00
Eladash
f81674232e
Remove SPU and PPU destructors
2021-01-21 18:31:51 +03:00
kd-11
eb086b0e3f
rsx: Add support shadow1D and shadowCube
2021-01-21 10:24:49 +03:00
kd-11
b6b9085773
rsx: Use unsigned variables to avoid sign problems when calculating stipple bits
2021-01-21 10:24:49 +03:00
Nekotekina
241989c5fa
Fix new warnings
...
Added CELL_GCM_CONTEXT_DMA_NOTIFY_MAIN_0+ enums.
Added CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_NOTIFY0+ enums.
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-01-20 12:27:37 +03:00
Nekotekina
f944573b3c
Fix old warnings: remove strncpy
...
Use strcpy_trunc instead.
Change some sce structs.
2021-01-20 12:26:09 +03:00
RipleyTom
5662867730
Change the way skylander ID is generated
2021-01-20 08:46:39 +03:00
Eladash
dbecf0fa50
Introducing RSX debugger entry (main debugger)
2021-01-19 22:55:12 +03:00
Megamouse
62cb532460
Qt: hotfix for downloader
...
I accidentally broke the download progress bar in the last related PR.
I should've put more trust in the sanity of the younger version of myself.
This should fix it.
2021-01-18 22:41:31 +01:00
Nekotekina
f9bc682115
Refactor some 'offending' code a bit (no effect)
...
It appears linkage errors were rare even in debug mode (GCC/clang).
2021-01-18 21:58:28 +03:00
Nekotekina
8a2a76da1e
texture_cache: fix some warnings in AUDIT
2021-01-18 13:49:59 +03:00
Malcolm Jestadt
a2e8e3090c
SPU LLVM: Optimize FSM following comparison
...
- FSM following a comparison instruction can be optimized to a single shuffle instruction
2021-01-17 16:52:44 +03:00
Nekotekina
0ac68def49
vm_native.cpp: minor compilation fix
2021-01-17 15:14:11 +03:00
Nekotekina
def364fe28
SPU LLVM: add splat_scalar helper
...
Unrolls into zshuffle from the preferred slot.
2021-01-17 15:13:28 +03:00
Alex James
d7a8d385d8
CMake: Use find_package to find SDL2
...
This ensures that the SDL2 uses an absolute library path, which is
necessary when SDL2 isn't present in the default link directories (e.g.
on macOS).
2021-01-17 13:51:03 +03:00
Nekotekina
aaaeb66cc8
vm: Minor fix in vm::close
...
Supplied size was wrong.
2021-01-15 20:12:30 +03:00
Nekotekina
4ed76a15ff
Use different approach in shm::unmap_critical (Linux)
...
For now, set protection to PROT_NONE.
Attempt to address #9609
2021-01-15 20:11:09 +03:00
Nekotekina
b5837d1271
Memory: use MADV_DONTDUMP if available (Linux)
...
Also refactor other madvise() usage
2021-01-15 19:54:41 +03:00
Eladash
e4c3b1c2bd
vm: Remove vm::dealloc_verbose_nothrow
2021-01-15 17:37:52 +03:00
Nekotekina
ea916fd7e1
Memory: fix critical bug in shm::unmap_critical (Linux)
...
It was leaving holes in reserved areas.
Windows is unaffected.
2021-01-14 18:04:29 +03:00
Nekotekina
4bee8dc37f
Crypto: modernize key_vault.h
...
Use constexpr, remove warning guards
2021-01-14 15:23:52 +03:00
Nekotekina
8b01d05146
Crypto: modernize ec.h
...
Add const, use u8
2021-01-14 15:17:07 +03:00
Nekotekina
376e564cff
Crypto: make global vars in ec.cpp thread_local
2021-01-14 12:01:41 +03:00
Nekotekina
caf02d1841
Crypto: don't modify EDAT_IV (all zeros)
...
I didn't notice where it gets restored to zeros.
2021-01-13 21:57:38 +03:00
Nekotekina
6cf73fad13
Crypto: workaround -Wunused-variable
...
Ignore for key vault for now.
2021-01-13 19:02:14 +03:00
Megamouse
cfe660ab35
Qt/curl: fix segfault in curl
...
The QThread lived longer than the m_curl object.
This lead to a crash when closing RPCS3 while the download is still in progress.
2021-01-13 19:01:58 +03:00
Megamouse
8eaf76394c
Qt/Input: Use ellipsis as "mouse deadzone"
...
This is experimental and smoothens the existing square shaped deadzone
2021-01-13 11:25:33 +01:00
Megamouse
a692adefd7
Remove legacy patch support
2021-01-13 10:39:17 +01:00
Eladash
e05f1c37ad
memory viewer: Close all instances after emulation exit
2021-01-12 23:57:36 +03:00
Eladash
923fcc3b3d
utils::shm: Hotfix after #9578
2021-01-12 23:57:36 +03:00
Eladash
c50b9bc4b4
utils::shm: Make map_self() atomic ( #9578 )
2021-01-12 19:53:18 +03:00
Eladash
e1f95ceb54
sceNpTrophy: Fix sceNpTrophyRegisterContext for handler abortion ( #9586 )
...
* Implement handler abortion during context registration.
* Fixed recursive calls to sceNpTrophy functions such as by callbacks from registering context.
* Turns out the reader lock for context registeration was incorrect because ctxt->tropusr and trophy directory are being modified. Made it an exclusive lock after callback.
2021-01-12 19:14:51 +03:00
Megamouse
eb77495d5f
Implement richtext_item_delegate
...
And use it in pkg_install_dialog
2021-01-12 14:13:15 +01:00
Megamouse
270d602a26
Add filename to multi pkg installation
...
Some packages are indistinguishable otherwise
2021-01-12 14:13:15 +01:00
Megamouse
dd41ee68de
Simplify numbered_widget_item
2021-01-12 14:13:15 +01:00
Megamouse
46dc40f3f1
Add filename to single pkg installation
...
Some file info is indistinguishable otherwise
2021-01-12 14:13:15 +01:00
Megamouse
7c7af2e102
fix rebase conflicts
2021-01-12 14:13:15 +01:00
Megamouse
36189b8c3b
Try to distinguish between Update and DLC (Part 2)
2021-01-12 14:13:15 +01:00
Megamouse
cde802b16c
Move blocking code in order to free the explorer
2021-01-12 14:13:15 +01:00
Megamouse
1500e5f588
Try to distinguish between Update and DLC
2021-01-12 14:13:15 +01:00
Megamouse
fbe91fb245
fix linux compilation
2021-01-12 14:13:15 +01:00
Megamouse
321e7d6977
Don't hide the PKG install progress dialog after each package
2021-01-12 14:13:15 +01:00
Megamouse
56488a4ac9
Use boolean values in unedat
2021-01-12 14:13:15 +01:00
Megamouse
4a75f44d47
Minor include cleanup in utlis.h
2021-01-12 14:13:15 +01:00
Megamouse
deb4b03200
Add VERSION fallback to GetPkgInfo
2021-01-12 14:13:15 +01:00
Megamouse
df94c906da
Add more info to PKG install progress dialog
...
And fix installation of single packages
2021-01-12 14:13:15 +01:00
Megamouse
4d50d9daa4
unpkg: add missing break and some cleanup
2021-01-12 14:13:15 +01:00
Megamouse
0624bdc72d
Use package reader in pkg_install_dialog
2021-01-12 14:13:15 +01:00
Megamouse
ccec6e53c0
Rename package_reader member variables
2021-01-12 14:13:15 +01:00
Megamouse
68d411918d
Read patchsets from compat db
2021-01-12 14:13:15 +01:00
Nekotekina
0af452720e
RSX: Fix possible bug in memory streaming utils
2021-01-12 15:06:31 +03:00
Nekotekina
db8e6fe7a7
Enable -Wunused-variable
2021-01-12 14:34:14 +03:00
Nekotekina
631d7d0ce7
Enable -Wunknown-pragmas
2021-01-12 13:01:17 +03:00
Nekotekina
ed345e5b65
Enable -Winvalid-offsetof
2021-01-12 13:01:17 +03:00
Nekotekina
d3a66af7d6
Enable -Wcomment warning
2021-01-12 13:01:17 +03:00
Megamouse
52deff06ba
Random stuff ( #9589 )
...
* minor coding style adjustment
* Qt: simplify osk dialog buttons
* replace std::find_if with convenience functions
* RSX: use sv in swizzle comparison
idk, I'll remove this if it was intentional.
* overlays/osk: rename enter to return
This one confused me and make me look for a bug that caused the "enter" key to be disabled, while it was actually the return key (obviously xD).
2021-01-12 12:59:50 +03:00
Megamouse
838cbe1840
tiny include fix
2021-01-11 13:04:46 +03:00
Eladash
70804e2ba6
kernel explorer: Make it single-instance tool
2021-01-10 20:30:23 +01:00
Eladash
07c925223b
rsx: Fix index array offset bits
2021-01-10 18:40:02 +03:00
kd-11
c2cbc62be6
vk: Refactor some uber-headers
...
- VKHelpers was the rug everything was swept under for a long time.
This commit essentially deprecates its usage across most of the backend.
2021-01-10 12:04:31 +03:00
Nekotekina
9d74d42f2a
Fix compilation for gcc-11
...
In response to #9557
2021-01-09 14:38:01 +03:00
Eladash
bf6f43ec3a
Utils: Rewrite fmt::split
2021-01-08 22:23:48 +03:00
Megamouse
36159c2bd4
Add comment for deprecated avcodec_register_all
...
Apparently this is now done automatically and doesn't even need to be called at all
2021-01-08 14:36:49 +03:00
Megamouse
72e1d03860
Qt: ugly fix for ugly deprecation warning
...
Apparently Qt wants us to implement each comparison on our own, and there is no simple replacement for this.
2021-01-08 14:36:49 +03:00
Megamouse
ed1b8f2545
game_list: fix deprecation warning
...
We only need to check if the data is valid for clicks on empty space in the game grid. I don't remember why I initially checked < 0
2021-01-08 14:36:49 +03:00
Nekotekina
1ad0f24ecd
Fix or silence Qt warnings
2021-01-07 13:18:48 +03:00
Nekotekina
586440622b
Silence another warning (clang)
2021-01-07 12:46:45 +03:00
Nekotekina
6231b07d2a
Silence one warning (clang)
2021-01-07 12:42:15 +03:00
Nekotekina
1dcf5e4f85
Error on no return type warning
...
Added non-existing noreturn destructor to fmt::throw_exception (for clang).
2021-01-07 11:56:16 +03:00
Nekotekina
9ba8f4795c
Remove redundant #pragma once
2021-01-06 23:33:37 +03:00
Eladash
951fe3491e
PS3 Loader: Fix sections memorizing
2021-01-06 23:21:38 +03:00
Nekotekina
6ae1f1b02c
VFS: fixup handling . and .. after #9528
2021-01-05 16:16:01 +03:00
Nekotekina
673e84920b
fixed_typemap.hpp: remove useless reporters
2021-01-05 16:16:01 +03:00
Eladash
d1e1c14dc3
VFS: Escape path components which end with space or period
2021-01-05 16:15:47 +03:00
Megamouse
11db3151ae
VK refactoring Part 2 ( #9542 )
2021-01-05 10:49:03 +03:00
matoro
187216096d
Build: Add include for building on certain configs
2021-01-04 10:04:51 +03:00
kd-11
3f9b699eef
rsx: Fix ambiguous call to min(float16_t, float)
2021-01-04 02:28:24 +03:00
kd-11
cbe0000d23
Improved Zen chip detection
2021-01-03 19:31:18 +03:00
Eladash
0e278d2299
rsx: Make FP shader cache load lock-free
2021-01-03 01:47:07 +03:00
Eladash
21d725daa5
rsx: Fix shader cache of 2 or less pipelines
2021-01-03 01:47:07 +03:00
Eladash
247e90b3d0
rsx: Shaders cache loading and saving bugfixes
...
* Fixed crash whenever files are missing from the cache.
* Fixed crash whenever files are empty.
* Fixed crash whenever file creation/overwrite of cache files failed. (handled by fs::write_file)
* Fixed crash whenever there are any subdirectories inside the pipelines cache directories.
* Overwrite invalid shader cache files if encountered such.
* Optimizations have been added.
2021-01-03 01:47:07 +03:00
Ani
2b8eb8deb6
rpcs3_version: Bump to 0.0.14
2020-12-31 23:15:54 +03:00
Megamouse
7262f3d0b7
VK: make static chip_family_tables const
2020-12-31 22:57:17 +03:00
Megamouse
6f80fd0063
VK: move static chip_family_tables to cpp
2020-12-31 22:57:17 +03:00
Megamouse
7a51b7a019
VK: move helpers to vkutils
2020-12-31 22:57:17 +03:00
Megamouse
d9eb31000d
VK: refactoring part 1
2020-12-31 22:57:17 +03:00
Chris
f8589de476
Initial playlist-based custom soundtracks support ( #9362 )
...
* Initial playlist-based custom soundtracks support
This is the initial implementation of playlist-based (cellSearch) custom soundtracks support.
It is based on the initial work by @Megamouse and currently uses a directory-based approach to manage albums and utilizes FFMPEG to read audio metadata.
Background: The real PS3 can import music in XMB from USB into its internal storage (/dev_hdd0/music) and additionally stores metadata (artist, trackname, tracknumber, ...) in a database (/dev_hdd0/mms/db/metadata_db_hdd). Games can make use of imported music via cellSearch.
For the time being, this implementation does NOT make use of metadata_db_hdd as the db-format is not well understood and a folder-based approch is easier to use. Users only have to create folders inside /dev_hdd0/music and add music to it to create a "playlist". This playlists contents will be sorted alphabetically. As a result, users could prefix numbers to the audio-files to force a specific order.
The only really supported audio format is MP3. I also added support for AAC, AC3, WMA, ATRAC3 and ATRAC3 plus, however, non of these formats were successfully tested for several reasons. AC3 and WMA are not enabled in the current FFMPEG build which makes reading codec-specific data impossible. We could enable these later if we want to. AAC actually could work but I was not able to get it working in WipeOut HD Fury. My guess is that the game does not support AAC. Finally, I could not find any ATRAC3 (or Plus) music to test with.
This implementation currently only implements parts of cellSearchStartListSearch() and cellSearchStartContentSearchInList(). There are several other functions which are still completely unimplemented and will probably be needed by other games. However, this implementation is a starting-point and is enough for WipeOut and maybe a few other games.
A video which showcases this custom soundtrack support is available here: https://www.youtube.com/watch?v=4nu1OCtONTY
Next steps:
- Utilize sortKey in cellSearchStartContentSearchInList()
- Eliminate TODOs
- Implement the missing other functions
- Test on more games - I do not own many that support custom soundtracks
Signed-off-by: gladiac1337 <gladiac@gmail.com>
Co-authored-by: Megamouse <studienricky89@googlemail.com>
Co-authored-by: Ani <ani-leo@outlook.com>
Co-authored-by: Ivan <nekotekina@gmail.com>
2020-12-31 22:47:09 +03:00
Florin9doi
f1c61067bc
Buzz! emulated controller ( #9504 )
...
* Buzz emulated controller
Co-authored-by: Florin9doi <Florin9doi@users.noreply.github.com>
Co-authored-by: Ivan <nekotekina@gmail.com>
2020-12-31 21:02:03 +03:00
Nekotekina
8a5620592b
Implement util/fifo_mutex.hpp
...
Prototype. Uses 2 bytes.
Added minor fix to slow_mutex.hpp as well.
2020-12-31 20:07:50 +03:00
Nekotekina
5227e65808
vm: implement vm::atomic_op, fetch_op helpers
...
Can help to reduce lambda depth hell a little.
2020-12-30 20:11:02 +03:00
Eladash
c4c6dc19a5
memory viewer: Implement SPU mode, fix address GOTO
2020-12-30 15:42:56 +03:00
Eladash
7fc26b1fab
rsx: Implement Texture LOD Bias addend setting
2020-12-30 15:37:21 +03:00
Eladash
c0e121abef
rsx: Fix RSXTexture.h spacing
2020-12-30 15:37:21 +03:00
Eladash
7db13fdeff
rsx: Move Anisotropic Filter Override to RSX state
2020-12-30 15:37:21 +03:00
Malcolm Jestadt
c952e99f3e
SPU LLVM: Fix edgecase in icelake codegen
2020-12-29 22:01:11 +03:00
Nekotekina
35322b5d14
Remove deprecated _bit accessor from v128
...
Complicated (a lot of code), confusing (ambiguous)
2020-12-29 21:04:28 +03:00
Nekotekina
6b96807112
Reimplement utils::popcnt64
...
Implement utils::popcnt128
2020-12-29 15:28:02 +03:00
JohnHolmesII
e04b2eebc3
Warnings: Silence false warnings about fatal code paths
2020-12-29 14:17:34 +03:00
JohnHolmesII
02b684b810
Warnings: Warnings use kebab case, Mr. Kot
2020-12-29 14:17:34 +03:00
kd-11
18c120ab9f
rsx: Revert an accidental deletion
2020-12-28 21:49:11 +03:00
kd-11
f87dd91b52
rsx: Allow attempted fetch of non-existent surface
2020-12-28 21:49:11 +03:00
RipleyTom
4a8a161a43
Improve skylander portal emulator
2020-12-27 22:20:58 +01:00
Nekotekina
e3dec420a2
vm_native.cpp: conditionally define c_madv_free
2020-12-27 12:19:50 +03:00
Nekotekina
1e32311a65
Use MAP_NORESERVE when available in mmap (Linux)
...
Used in: memory_reserve, memory_decommit (vm_native.cpp)
2020-12-27 10:20:42 +03:00
Marin Baron
92e5bb88e8
Remove std typeinfo
2020-12-27 00:30:16 +03:00
Eladash
66581d115b
vm: Fix access violations on super memory, support super memory in vm::get_addr
2020-12-26 17:56:49 +03:00
Florin9doi
733f31f90e
Allow USB passthrough for THQ uDraw GameTablet
2020-12-25 14:27:24 +03:00
kd-11
a96b4412d3
rsx: Do not rely on program env state, instead, always use program ucode analysis results when doing codegen
...
- Some things can be present in program env but not ucode state
e.g A texture can be active and bound in a redirected manner but not actually be used in ucode
In such a case, only the ucode analysis or decompilation can decide whether to inject decoding routines
2020-12-25 02:39:08 +03:00
kd-11
bee76fc8d1
rsx: Refactor shader codegen and fix shadow sampling on depth-float
2020-12-25 02:39:08 +03:00
kd-11
d9cb1a6319
vk: Fix more spec violations
2020-12-25 02:39:08 +03:00
Nekotekina
567d23d856
Implement util/auto_typemap.hpp
...
Used in vm::block_t as an example.
2020-12-24 14:55:25 +03:00
Eladash
c94a98e15a
Fix minor typo
2020-12-23 20:50:33 +03:00
Eladash
72e6e87d82
Fix SPU ELF loader
2020-12-23 20:50:33 +03:00
Eladash
0055d84bd6
Partial revert of 43c87e99b0
2020-12-23 08:25:56 +03:00
Eladash
d17d22139e
SPU Debugger: Print reservation data
2020-12-23 08:25:56 +03:00
Eladash
87b6284275
memory viewer: Only allow "words" steps in powers of 2
2020-12-23 08:25:56 +03:00
Eladash
2c6b974f24
Fixup memory viewer SPU headers for RawSPU
2020-12-23 08:25:56 +03:00
Eladash
020acc8235
GUI: Rewrite GOTO address tools in debugger tools
2020-12-23 08:25:56 +03:00
Nekotekina
a8e0d261b7
types.hpp: more cleanup
...
Also fix compilation.
2020-12-22 19:08:09 +03:00
Nekotekina
6357b9a04f
perf_meter.cpp: register only named threads
...
Can workaround some possible problems.
2020-12-22 14:32:30 +03:00
Nekotekina
43a58df8a0
Butcher narrow cast a little (don't print value).
...
Also remove some forward declarations from util/types.hpp
If they don't work properly, it's easier to remove them.
2020-12-22 14:32:30 +03:00
Nekotekina
b7bf316c1a
Don't randomly include "stdafx.h"
...
It's file for precompiled headers.
Include what is used, don't rely on transitive includes.
2020-12-22 14:32:30 +03:00
Nekotekina
41ee792f95
MSVC: remove MemLeak build support
...
There are better memleak detection tools.
1) Requires to guard placement new and external libs
2) Doesn't work thoroughly
2020-12-22 14:32:30 +03:00
Fro Zen
acadaeed3a
Change skylander variants to use hex
2020-12-22 08:58:36 +01:00
Jan Beich
96bde3df81
atomic.hpp: revert Clang < 11 workaround for u128
2020-12-22 09:00:34 +03:00
Nekotekina
bd269bccaf
types.hpp: remove intrinsic includes
...
Replace v128 with u128 in some places.
Removed some unused files.
2020-12-21 21:11:25 +03:00
Nekotekina
5f618814f6
atomic.hpp: use u128 as storage for masks/values
2020-12-21 13:51:23 +03:00
Eladash
43c87e99b0
Debugger: Switch from NoThread when the emulation is running
...
And fix UpdateUnitList() when the emulation is stopped at initial startup.
2020-12-21 13:46:26 +03:00
Eladash
74a09a6338
PPU memory must be exec memory when using debugger's "Next Instruction" feature
2020-12-21 13:46:26 +03:00
Eladash
2b9c407dc3
Mask PC in debugger_frame::keyPressEvent for SPU
...
SPU only has 256kb of memory, need to work with this.
2020-12-21 13:46:26 +03:00
Eladash
59ed222205
Disasm: read instruction contents only once
...
Memory is volatile and may be changed by guest threads, ensure the decoded instruction matches with the data.
2020-12-21 13:46:26 +03:00
Eladash
2c06043617
Debugger: correctness fixes and cleanup
...
* Remove m_current_choice, it's not correct to rely on thread name entry. In extreme corner cases a newly thread can be created, old destroyed with the same entry name. (reoccuring LV2 SPU/PPU ID)
* Remove m_no_thread_selected, can be easily replaced with std::weak_ptr expired() function and is more accurate this way.
* In HandleBreakpointRequest: only remove breakpoint on valid PPU thread and not any thread! also fix potential nullptr deref if thread has recently been destroyed.
2020-12-21 13:46:26 +03:00
Eladash
ef884642e4
Cleanup disasm classes a bit
2020-12-21 13:46:26 +03:00
kd-11
e449111c33
vk: Fixup for renderpass issues
2020-12-19 12:58:44 +03:00
Megamouse
066e53da55
minor cleanup
2020-12-19 08:33:53 +01:00
Eladash
c74b2cb085
memory viewer: Fix resizing down
2020-12-18 21:00:09 +01:00
Nekotekina
eec11bfba9
Move align helpers to util/asm.hpp
...
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00
Nekotekina
d254a5736b
Fix bug with vector arg alignment in BIND_FUNC and callbacks.
2020-12-18 18:07:42 +03:00
Megamouse
b655e4aa47
Emu: implement on_exit callback
2020-12-18 16:05:40 +01:00
Nekotekina
1adec3d8e5
Hotfix: Emu.Quit after Emu.Stop
2020-12-18 13:37:14 +03:00
Nekotekina
db9b7db531
Cleanup and move sysinfo.h -> util/sysinfo.hpp
2020-12-18 12:55:54 +03:00
Nekotekina
05099e2ae1
Replace uint64_t with u64
2020-12-18 12:23:53 +03:00
Nekotekina
77352a2a86
Replace uint32_t with u32
2020-12-18 12:23:53 +03:00
Nekotekina
ae633292c0
Replace int32_t with s32
2020-12-18 12:23:53 +03:00
Nekotekina
d6042cf891
Replace uint16_t with u16
2020-12-18 12:23:53 +03:00
Nekotekina
534c63bf57
Replace uint8_t with u8
2020-12-18 12:23:53 +03:00
Nekotekina
fb29933d3d
Add usz alias for std::size_t
2020-12-18 12:23:53 +03:00
Nekotekina
360c4d1554
Simplify f16 type
2020-12-18 12:23:53 +03:00