Commit graph

11812 commits

Author SHA1 Message Date
Elad Ashkenazi 6995467ff6 SPU: SPURS limiter algorithm update 2024-09-24 10:31:37 +03:00
Elad Ashkenazi ad42a2b89a SPU: Task-based SPURS limiter 2024-09-24 10:31:37 +03:00
Megamouse 4c3d243672 MacOs/Arm64: Fix warning 2024-09-23 23:00:58 +02:00
Ani 02362a4807 spu: Do not apply a Max SPURS Threads limit to libSail
On all the tested games (e.g. Naruto Ultimate Ninja Storm, Catherine),
limiting SPURS threads for "_libsailCellSpursKernelGroup" causes video
playback to hang and the game to permanently freeze. These games still
function properly while limiting the other CellSpursKernelGroup groups,
as I've confirmed through manual thread pausing.

I have not found a single example that shows that 
_libsailCellSpursKernelGroup threads can be limited without the game 
freezing.

This allows the Max SPURS Threads setting to work with more games, or to 
work with a lower thread limit count for games where it already works.
2024-09-21 15:02:41 +02:00
Megamouse c89e30b3d9 cellMsgDialog: only abort dialogs that were actually spawned by cellMsgDialog 2024-09-20 20:43:57 +02:00
Megamouse d88b7f6fde cellSaveData: improve logging for overlays 2024-09-20 20:43:57 +02:00
Antonino Di Guardo df9275819e
Added reconciliation functions for game list file (games.yml) (#16061) 2024-09-20 08:46:51 +02:00
RipleyTom 3d9c8a670e Implement old matching API 2024-09-19 20:34:56 +02:00
Elad Ashkenazi cf65571be7 SPU Analyzer Hotfix 2024-09-19 10:00:18 +03:00
capriots 66eae05e75 cellAtracXdec: fix FFmpeg warning 2024-09-18 07:57:10 +02:00
Antonino Di Guardo d1648dd707
[TESTERS NEEDED] Improved contextual menu (#16038) 2024-09-14 21:51:42 +02:00
capriots 7f2534819e cellAtracXdec: review fixes 2024-09-14 19:37:21 +02:00
capriots e678931cee cellAtracXdec: review fixes 2024-09-14 19:37:21 +02:00
capriots 965dbf2c12 cellAtracXdec: review fixes 2024-09-14 19:37:21 +02:00
capriots 624f34ae13 cellAtracXdec: review fixes 2024-09-14 19:37:21 +02:00
capriots d60eced317 cellAtracXdec: set to HLE by default 2024-09-14 19:37:21 +02:00
capriots c813c5e953 cellAtracXdec implementation 2024-09-14 19:37:21 +02:00
capriots 5ce9c5b09f cellAdec: add internal datatypes 2024-09-14 19:37:21 +02:00
Megamouse e5a526e4d6 input: enable squircle settings in keyboard pad handler
Clamp squircled values to radius 1.
Also set kb and evdev default to 8000 as the others
2024-09-14 17:20:07 +02:00
Elad Ashkenazi 8131f40269 SPU Analyzer: Fix dereferencing freed reference 2024-09-13 19:32:15 +03:00
Elad Ashkenazi 743f9a9f51 rsx: Add 120fps and monitor refresh-rate frame limits 2024-09-12 13:49:03 +03:00
Megamouse 53c84577c0 Set cellSysutilAvcExtInitOptionParam to notice 2024-09-08 20:04:30 +02:00
Megamouse 00e5d54be7 cellSysutilAvc: fix cellSysutilAvcEnumPlayers error check 2024-09-08 20:04:30 +02:00
Elad Ashkenazi 03980304cf SPU Analyser: Fix source termination of starting block 2024-09-08 06:51:57 +03:00
Megamouse 2bc0d19c9d cellSysutilAvcExt: add some param checks 2024-09-06 17:17:17 +02:00
Megamouse fe1fa45956 cellSysutilAvcExt: fix some params and size of long (the disassembly makes zero sense with s64) 2024-09-06 17:17:17 +02:00
Megamouse 6fa993645e cellSysutilAvc: add param checks 2024-09-06 17:17:17 +02:00
Megamouse 144ff82402 Stub cellSysutilAvc 2024-09-06 17:17:17 +02:00
Megamouse 7e9cf297ac cellPad: Remove obsolete comment 2024-09-06 17:17:17 +02:00
Megamouse d780355784 cellPad: draw debug overlay for basic input debugging of port 0 2024-09-06 08:33:55 +02:00
Megamouse b0194ba6af cellPad: scale emulated skateboard IR input down 2024-09-06 08:33:55 +02:00
kd-11 7353696014 cpu: Format additions to sse2neon to match the rest of the file 2024-09-04 07:49:49 +03:00
kd-11 a60eab6e36 aarch64: Fix compilation for windows-on-arm 2024-09-04 07:49:49 +03:00
snake ad1eb93a05
cellMic: add 16-bit PCM to 32-bit float conversion for DSP stream (#16030) 2024-09-03 23:25:24 +02:00
kd-11 c80342e8d4 aarch64: Support calloc patch blocks 2024-08-31 13:55:58 +03:00
kd-11 00a0c4e69d rsx: Silence compiler warnings 2024-08-29 13:08:23 +03:00
kd-11 81f91e2095 Fix GL stencil tracking 2024-08-29 13:08:23 +03:00
Megamouse 3b36df48e9 Vk/Gl/Overlays: Do not blend the alpha channel when rendering overlays
When blending a source pixel with alpha less than 1 onto a texture, we will end up having even less alpha than before.
This can lead to ugly "holes" in the overlays, especially on the edges of glyphs with smooth fonts for example.
We can fix this by only blending the RGB values while keeping the destination's alpha value.
I haven't really seen this happen in RPCS3, but it's better to be safe than sorry.
2024-08-28 01:19:15 +03:00
Elad Ashkenazi d1bfa9cd9c RSX: Fix RSX Captures 2024-08-27 06:51:55 +03:00
Megamouse e5b03d9cbd Qt: check microphone permissions 2024-08-26 07:42:22 +02:00
kd-11 f367703574 Use sysctlbyname 2024-08-25 22:04:45 +03:00
kd-11 8c64192ac7 Implement basic system info detection on macos using sysctl 2024-08-25 22:04:45 +03:00
Elad Ashkenazi 11e3aa660e SPU: Remove condition from GETLLAR spin detection 2024-08-25 18:29:30 +03:00
RipleyTom 3dc75dc3d1 Handle WSAENETRESET error 2024-08-25 13:04:44 +03:00
kd-11 be0ef0cc28 macos - Fix crash executing resolver 2024-08-24 14:13:14 +03:00
kd-11 470f8674df aarch64 - Support for apple exceptions 2024-08-24 14:13:14 +03:00
kd-11 4da30e9eca Add proper transform pass management 2024-08-24 14:13:14 +03:00
kd-11 09ea858dbf Minor fixes 2024-08-24 02:07:00 +03:00
kd-11 296c931d55 Fix v3dv workaround 2024-08-24 02:07:00 +03:00
kd-11 94b6e4598c Fix aarch64 compilation on macOS 2024-08-24 02:07:00 +03:00
kd-11 f5173ca9bf aarch64 - Decode CPU brand information 2024-08-24 02:07:00 +03:00
Elad Ashkenazi 1c16ada670 Debugger: Pointer comparison bugfix 2024-08-22 12:21:55 +03:00
Ani 67308bcf6f vk: Only allow unsupported textureCompressionBC for v3dv 2024-08-21 23:07:13 +03:00
Ani 0649da4cfb vk: Add driver vendor V3DV (Broadcom on Mesa)
VK_DRIVER_ID_MESA_V3DV
2024-08-21 23:07:13 +03:00
Ani 18df24d390 vk: Support v3dv, allow creating device without textureCompressionBC
v3dv supports BC1-BC3 which is all we require, support is reported as 
false since not all formats are supported
2024-08-21 23:07:13 +03:00
Ani c2b275ddbc spu: Workaround GCC 14.1 compiler bug
Stumbled upon this issue with gcc 14.1.1+r1+g43b730b9134-1 on aarch64, 
failing compilation due to implicit fallthrough warnings being treated 
as errors
2024-08-21 21:48:53 +03:00
Ani fc85c1a0c1 config: Set minimum allowed resolution scale to 25% 2024-08-21 21:48:53 +03:00
oltolm 7f30e52fda cmake: fix EGL and add USE_SYSTEM_CURL 2024-08-21 20:33:40 +03:00
kd-11 042a5481ca Formatting 2024-08-21 16:16:28 +03:00
kd-11 4bb79b6c31 Rework aarch64 signal handling 2024-08-21 16:16:28 +03:00
Elad Ashkenazi 7c898c3e4e SPU: Improve some logging 2024-08-21 13:32:45 +03:00
kd-11 d0dbdb1ab5 Fix hang when compiling leaf blocks 2024-08-20 05:18:53 +03:00
kd-11 c2f5de1c55 Fix compiler warnings about unused args for aarch64 2024-08-20 05:18:53 +03:00
kd-11 fbcd8e32b8 Cleanup 2024-08-18 18:27:52 +03:00
kd-11 ca4fa1ac74 Use return-oriented trap approach 2024-08-18 18:27:52 +03:00
kd-11 fc415cf32a Move to a assembler wrapper for injected asm to better handle dependencies 2024-08-18 18:27:52 +03:00
kd-11 2faa61ac31 Refactor aarch64 JIT code 2024-08-18 18:27:52 +03:00
Megamouse fd6ebe2895 Qt/input: Don't report two direction trigger values unless actually requested
Fixes a bug where you could map LT- even if you weren't pressing ALT before.
2024-08-18 10:49:26 +02:00
Megamouse 08f81160cc Input: Abbreviate some variable names and add min output interval
The abbreviation allows for easier diff between handlers.
2024-08-18 10:49:26 +02:00
Elad Ashkenazi bd5fd66408 SPU: Reduce some logging 2024-08-17 06:38:49 +03:00
Elad Ashkenazi 1bd4565186 Implement thread_ctrl::wait_until() 2024-08-17 06:38:49 +03:00
Elad Ashkenazi 981a1c56fb SPU: Disable transfer locking for RSX addresses 2024-08-15 14:05:25 +03:00
Elad Ashkenazi ce92341e75 SPU: Unlock RSX list transfers 2024-08-15 14:05:25 +03:00
Elad Ashkenazi 46ceeed10d Debugger/PPU: Minor bugfix in CR register dump 2024-08-15 14:05:25 +03:00
Elad Ashkenazi 7f92d6003d sceNp: Silence a few functions 2024-08-14 11:53:00 +03:00
Elad Ashkenazi 6fb05be9da CELL: Remove performance hack for reservation
With the new notification method, we can remove this hack with micro-consequences. (though it comes with benefit of not breaking current reservations spuriously)
2024-08-14 11:53:00 +03:00
Elad Ashkenazi d0ebba6c5e CELL: New reservation notifications mechanism 2024-08-14 11:53:00 +03:00
Elad Ashkenazi 29b0298f1e Fix sys_io thread deadlock
Co-Authored-By: Megamouse <23019877+Megamouse@users.noreply.github.com>
2024-08-14 08:56:40 +03:00
Megamouse 7bcaab4f3a Remove unused using declaration 2024-08-13 20:14:30 +02:00
Megamouse 93c21103aa xinput: allow to map triggers as positive or negative 2024-08-13 20:14:30 +02:00
kd-11 26a1a4418e rsx: Fix crash when CPU blit is enabled 2024-08-13 19:23:47 +03:00
kd-11 0b62385ddb aarch64/llvm: Handle processing of leaf nodes 2024-08-13 18:25:26 +03:00
Elad Ashkenazi 6535d461be Fix vm::reservation_update 2024-08-13 10:56:33 +03:00
Elad Ashkenazi 3fa8994f4e SPU: Fix "SPU Accurate Reservations" off 2024-08-13 10:56:33 +03:00
Megamouse ff6a4bb72d Qt/input: add shortcut for toggling emulated mouse and keyboard 2024-08-12 23:19:23 +02:00
Megamouse ff84e7c6e2 Fix overflow warning 2024-08-12 21:04:10 +02:00
kd-11 c7b2a21fcb Fix OpenGL behavior under wayland-egl 2024-08-12 04:55:26 +03:00
Elad Ashkenazi 60b7448d8a SPU LLVM: Enable PUTLLC16 if accurate reservations is off 2024-08-11 17:55:56 +03:00
Elad Ashkenazi f980c59860 Do not add usage stats for unused SPU programs 2024-08-11 17:55:56 +03:00
Elad Ashkenazi 6c791541ee SPU: Fix bug in GETLLAR 2024-08-11 17:55:56 +03:00
Megamouse cb122819ae evdev: try to fix first call behaviour
We don't have all the events in the first call to get_next_button_press.
So we have to set all the buttons to max on the first call.
We also have to make sure that we don't manipulate the values if we just
want to know the connection status.
2024-08-11 00:56:07 +02:00
Megamouse 0dfc622b58 Fix unused function warning 2024-08-11 00:56:07 +02:00
Ninetime 7d84d084a4
Enable user to change country code (#15884) 2024-08-10 22:33:38 +02:00
Megamouse f2ef0966eb input: add analog limiter 2024-08-10 12:07:57 +02:00
Megamouse 961239ac8d Qt/input: make touch_threshold a member
Maybe we need will need it for a different handler in the future
2024-08-09 20:01:50 +02:00
Megamouse 326375ad9a Qt/input: clear min_button_values if we want to get the blacklist 2024-08-09 20:01:50 +02:00
Megamouse 16a6915525 Qt/input: ignore button press values unless they increase 2024-08-09 20:01:50 +02:00
Megamouse 28781d9bfb Qt/input: move preview_values into callback 2024-08-09 20:01:50 +02:00
kd-11 3ef8046f5c rsx: Fix fragment constants decoding for non-x86 platforms 2024-08-09 15:09:26 +03:00
Megamouse 03a612487d cellGem: Only allow each button to be used for one action unless it's the combo button. 2024-08-08 22:34:20 +02:00
Megamouse bc23615508 Input: fix initial mouse config reload 2024-08-08 22:34:20 +02:00
Megamouse 548cc074f4 input: log all config file content if used 2024-08-08 22:34:20 +02:00
kd-11 1200bbe7cc Address review comments 2024-08-08 13:40:07 +03:00
kd-11 fa7e0e4758 Do not include arm sources by default 2024-08-08 13:40:07 +03:00
kd-11 9d87e444ac Clear hv context 2024-08-08 13:40:07 +03:00
kd-11 294bebb4a7 Fix SPU compilation 2024-08-08 13:40:07 +03:00
kd-11 140fddbba8 Initial SPU bringup 2024-08-08 13:40:07 +03:00
kd-11 bc1b0eb41b Improve comments 2024-08-08 13:40:07 +03:00
kd-11 42d47b61a0 Fix dependency injection on terminators 2024-08-08 13:40:07 +03:00
kd-11 839a25e129 Bump scratch to 8k 2024-08-08 13:40:07 +03:00
kd-11 7979c5d9eb Finalize PPU migration to the frame pass system 2024-08-08 13:40:07 +03:00
kd-11 cba658baba Complete PPU support 2024-08-08 13:40:07 +03:00
kd-11 34549445a8 Migrate PPU to post-process execution model 2024-08-08 13:40:07 +03:00
kd-11 a976ac3353 jit: Add aarch64 JIT backend for pre-codegen transforms 2024-08-08 13:40:07 +03:00
kd-11 56cc5d9355 Initial PPU LLVM implementation for aarch64 2024-08-08 13:40:07 +03:00
Megamouse a5f9256ac6 cellMic: skip alcCaptureSamples loop if num_samples is 0
Also use early out instead of ensure in get_data
2024-08-08 01:39:43 +02:00
Megamouse 9505f8116b cellMic: only allocate temp_buf if needed 2024-08-08 01:39:43 +02:00
Megamouse a5bd22b0cf cellMic: free temp_buf if on mic close 2024-08-08 01:39:43 +02:00
Megamouse 1b5ec785f5 cellMic: do not copy samples to intermediate buffer unless necessary 2024-08-08 01:39:43 +02:00
Megamouse 80e1b1adf4 cellMic: only call get_data once 2024-08-08 01:39:43 +02:00
Megamouse 6a6cd82070 cellMic: simplify BE translation loop
We are looping over each channel of each sample without gaps.
So we can just make it a single loop.
2024-08-08 01:39:43 +02:00
Megamouse 161edbf2f6 cellMic: make bit_resolution and channel_size constexpr
This allows us to optimize and inline variable_byteswap
2024-08-08 01:39:43 +02:00
Megamouse 667db0f2de cellMic: remove duplicate code and add size checks 2024-08-08 01:39:43 +02:00
Megamouse f09d22a00d cellMic: check device ptr and log openal error codes 2024-08-08 01:39:43 +02:00
Joshua de Reeper f1d4e500ba sys_usbd: Default replies for Dimensions Color Commands 2024-08-06 20:42:28 +02:00
Megamouse b5aac6d802 cellMic: fix type conversion warning 2024-08-06 00:42:24 +02:00
Elad Ashkenazi 9f8d9c5d10 SPU LLVM: Revert store postponing restrictrictions 2024-08-05 19:36:26 +02:00
Megamouse 4084e6f584 Dimensions: default init figures 2024-08-05 16:07:55 +02:00
Megamouse 7fa2987bb9 Infinity: Early out instead of scope 2024-08-05 16:07:55 +02:00
Megamouse 09ead1b6ea Dimensions: try to fix out of bounds array access 2024-08-05 16:07:55 +02:00
Megamouse bc07b9e659 Dimensions improve locks (maybe) 2024-08-05 16:07:55 +02:00
Megamouse 5bd2fd3391 Dimensions: make some functions static 2024-08-05 16:07:55 +02:00
kd-11 f6b5511546 Improved wayland support 2024-08-04 02:59:03 +03:00
kd-11 3e7c1e207d Add fallback CPU detection when llvm is not aware of the CPU model 2024-08-03 21:35:10 +03:00
future-figs 8f51b0907a
change PSMove mouse button bindings (#15860) 2024-08-02 23:59:51 +02:00
Daniel López Guimaraes 9db68e7d39 cellMic: Handle value 0 on CELLMIC_DEVATTR_CHANVOL
If arg1 is zero, all channels of the device are affected.
2024-08-02 19:29:42 +02:00
Daniel López Guimaraes ba3d16b48b cellMic: Fix CELLMIC_DEVATTR_CHANVOL handling
The microphone index given in `arg1` is 1-indexed, so we have to
subtract 1 from the index to access the proper value.

This wasn't caught up before since we were doing direct access of the
array instead of using `::at32` which wouldn't check that the value is
within bounds.

This allows the original SingStar game to boot up again, as it would
otherwise crash then trying to set the volume to the second channel due
to the index being out of bounds.
2024-08-02 19:29:42 +02:00
Megamouse 106bf5145b Fix ffmpeg deprecation warnings 2024-08-01 18:04:47 +02:00
kd-11 f64c912d02 gl: Fixes for asahi linux 2024-08-01 14:14:56 +03:00
Megamouse 7884bcc21d Fix unused function warning 2024-08-01 02:44:01 +02:00
Megamouse 30f49a61df DS4/DualSense/SDL: add touchpad support 2024-07-31 08:45:25 +02:00
Joshua de Reeper 12fbff22b2
sys_usbd: Allow 'Moving' figure to same slot on Dimensions Toypad (#15850) 2024-07-29 17:50:20 +02:00
Elad Ashkenazi 02aac2c52e sys_fs: Non-existant overflow bugfix
It would technically never overflow.. but this add minimal protection against adding beyond [PPU thread-count + entries count]
This does not induce an atomic loop which limits until entries.size() but is slower.
2024-07-28 12:36:42 +03:00
Elad Ashkenazi faabb9e111 Add SPU usage for program dump 2024-07-28 12:36:42 +03:00
Elad Ashkenazi 91b4aaf9e1 PPU: Fix potential overflow 2024-07-28 12:36:42 +03:00
Elad Ashkenazi 700334753d cellMic: Fix potential overflow 2024-07-28 12:36:42 +03:00
Daniel López Guimaraes 501e9260b2 cellMic: Wake up upon registering emulated SingStar microphone
When using the emulated SingStar microphone, the device is only
registered when initializing `cellMic`. However, the `mic_context`
thread is only woken up when calling `register_device`. The registration
happens before initializing `cellMic`, so the thread is never woken up
after registering the device.

Add call to `wake_up` in `load_config_and_init` inside the emulated
SingStar microphone specific code to fix this issue, allowing the thread
to detect the device and update the microphone data.

This allows SingStar to receive the microphone data when using the
emulated SingStar microphone that it previously wasn't receiving.
2024-07-26 09:44:00 +03:00
kd-11 27047bb3dc vk: Fix VEGA float16 workaround 2024-07-25 14:23:36 +03:00
Silent c0808448be sceNp: Fix sending partial results from sceNpScoreRecordGameData
Fixes Ghost Data in Ridge Racer 7
2024-07-22 21:52:33 +02:00
Pierrick Bouvier 3ab8922143 Fixed compilation
missing optional header (from commmit 500bf0f3f5)
2024-07-21 08:43:12 +02:00