Vestrel
26df3a8452
Add Cubeb log callback ( #16510 )
...
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2025-02-13 13:47:12 +02:00
Takuya Wakazono
b63140b423
Fix build without vulkan
...
Since commit 4594c91 made SPIRV required dependency, it needs to be
linked in CMakeLists.txt regardless of USE_VULKAN.
2025-02-13 11:48:36 +01:00
RipleyTom
1efca833a4
Fix missing NoError error checking in a few sceNpGUI functions
2025-02-13 07:04:08 +01:00
RipleyTom
159370446f
RPCN v1.4
2025-02-12 15:00:50 +01:00
kd-11
7fcd747819
rsx: Fix internal res tracking
2025-02-12 01:58:52 +03:00
RipleyTom
cd87a64621
Headers cleanup
2025-02-11 20:38:35 +01:00
Elad
63147fdede
Remove ppu_acontext
2025-02-11 16:12:33 +02:00
Malcolm Jestadt
dfd83bc7a4
SPU LLVM: Add two dependency chains for SPU verification
...
- Should restore performance to match the xorsum builds
2025-02-11 12:30:21 +02:00
kd-11
3392f0a271
gl: Fix stencil resolve for NVIDIA cards
...
- Only NV cards fail to expose ARB_shader_stencil_export which forces a very clunky workaround
- Fix stencil parameter initialization
2025-02-11 02:28:31 +03:00
kd-11
10d5907f46
rsx: Implement framebuffer statistics to track the internal render resolution at runtime.
2025-02-11 02:28:31 +03:00
kd-11
0f3d2c7085
gl: Implement MSAA transparency (sample-to-coverage)
2025-02-11 02:28:31 +03:00
kd-11
485927ed0d
gl: Fix crash when launching multiple games with MSAA enabled
2025-02-11 02:28:31 +03:00
kd-11
4f08bfd0a2
Fix compilation on clang
2025-02-11 02:28:31 +03:00
kd-11
54e7cb8d9e
vk: Silence spec validation error on NV cards
2025-02-11 02:28:31 +03:00
kd-11
fab39a6495
gl: Add support for "hw MSAA resolve" option
2025-02-11 02:28:31 +03:00
kd-11
008bfa2cd2
gl: Add extra checks around invalid render/compute passes
...
- These would have saved a lot of time debugging problems
2025-02-11 02:28:31 +03:00
kd-11
5907a6a67d
gl: Fix crash in texture cache due to incorrect surface handling
2025-02-11 02:28:31 +03:00
kd-11
85880e6037
gl: Implement remaining resolvers
...
- Add support for NVIDIA cards
- Implement all depth-stencil resolver passes
2025-02-11 02:28:31 +03:00
kd-11
042be7d7d1
gl: Implement basic MSAA rendertarget support
...
- Enough to get some popular titles working.
- Some depth resolvers still need work
2025-02-11 02:28:31 +03:00
kd-11
26d85e53a4
vk: Fix extension initialization during device creation
...
- Fix crash when using device_fault extension
- Fix spec violation when using conditional rendering
2025-02-11 02:28:31 +03:00
kd-11
f3e913b56a
vk: Redesign resource binding for overlay passes
2025-02-11 02:28:31 +03:00
kd-11
99ace42447
gl: Enforce full image creation argument declaration
...
- Closes a class of bugs caused by implicit conversion of similar argument types
2025-02-11 02:28:31 +03:00
kd-11
6c6d03ac5e
gl: Upgrade the surface cache to become MSAA-aware
2025-02-11 02:28:31 +03:00
kd-11
8249b5dbfa
gl: Implement MSAA resolve/unresolve for color images
2025-02-11 02:28:31 +03:00
kd-11
2a4bd6a7fc
gl: Implement multisampled image creation
2025-02-11 02:28:31 +03:00
kd-11
82981384d5
vk: Move MSAA resolve/unresolve shaders to common GPU program layer
2025-02-11 02:28:31 +03:00
kd-11
a7a49d9eaa
gl: Plumb stubbed MSAA support into the render target handlers
2025-02-11 02:28:31 +03:00
kd-11
808f67a3b2
gl: Stub dynamic sample count when creating textures
2025-02-11 02:28:31 +03:00
Elad
9a7b8e41eb
PPU Analyzer: Minor Fixup
2025-02-09 14:28:08 +02:00
Elad
c7e853bf99
PPU Analyzer: GPR-assisted jump table analysis
2025-02-07 20:27:17 +02:00
Elad
ac97b36b1c
PPU Analyzer: Opt-out suspected floats from instruction stream
2025-02-07 20:27:17 +02:00
Elad
181c92a868
PPU Analyzer: Clean addr_heap fron non-valid code
...
Should speed up analysis in some cases.
2025-02-07 20:27:17 +02:00
Elad
86b7078464
PPU LLVM: Fix compilation of PRX with no relocations
2025-02-07 20:27:17 +02:00
Megamouse
a1a0333e56
cellVdec: implement cellVdecOpenExt
2025-02-06 19:31:23 +01:00
Megamouse
449c23ba4e
cellL10n: implement SBCS conversions
2025-02-06 09:38:17 +01:00
Megamouse
cec1004da8
cellL10n: fix compilation on linux
2025-02-05 07:51:47 +01:00
Megamouse
666bbeba6e
cellL10n: Use string_view
2025-02-05 07:51:47 +01:00
Megamouse
770b2ab26d
cellL10n: implement ucs2/utf8/16/23 conversions
2025-02-05 07:51:47 +01:00
Elad
2420aa7a21
Fixup PPU block unfolding
2025-02-04 20:33:24 +02:00
Megamouse
a5d07af89a
cellMusic: always select the whole playlist instead of a single track
2025-02-04 18:13:07 +01:00
Megamouse
b5dbafb3e2
cellMusic: make selection context valid when setting a playlist
2025-02-04 18:13:07 +01:00
Megamouse
85f288651b
cellGem: reduce cellCamera log spam by setting some camera features
2025-02-04 03:09:27 +01:00
kd-11
6123838a48
ppu/arm64: Fix ppu_recompiler_fallback implementation for ARM processors
2025-02-02 22:44:42 +03:00
Megamouse
3187dc816e
Fix some warnings
2025-02-02 17:06:39 +01:00
kd-11
89eb473dce
rsx: Fix graphics corruption when switching between shader interpreter and recompiler at runtime
2025-02-02 12:08:05 +03:00
Malcolm Jestadt
911f0928cf
SPU LLVM: Replace xorsum with simple checksum
...
- Fixes crashes in GTAV
2025-02-01 21:40:30 +02:00
Elad
394fc8eb79
Enable Time-based TSC for non-Ryzen CPUs
2025-01-31 14:35:08 +02:00
Elad
57b6ced957
PPU Analyzer: Fix per-instruction code submission
2025-01-31 13:01:53 +02:00
Malcolm Jestadt
506d92107c
SPU LLVM: Use 512bit xorsum for SPU verification
...
- Provides a 2-3% uplift in SPU limited titles
- Removes the full_width_avx512 option
- Adds a precise spu verification option, for debugging (config file only)
2025-01-31 12:03:05 +02:00
Elad
665bb83297
Fix Savestates recent regression
2025-01-28 18:49:19 +02:00
Elad
7fc0f69e48
PPU LLVM: Fix HLE patches
2025-01-28 12:51:52 +02:00
Megamouse
67703b49d8
Update LLVM to 18.1.8
2025-01-25 18:15:13 +01:00
Megamouse
ad6eba1670
Fix some warnings
2025-01-25 17:06:35 +01:00
Megamouse
0ef2e96121
Fix segfault on missing firmware
...
Wait until kill to close the gs_frame on error
2025-01-25 17:06:35 +01:00
Elad
5ef442c2b8
Disable ARM trampolines
2025-01-25 12:47:44 +02:00
Elad
ba79e092a0
Protect RPCS3 from built-in PS2 emulator
2025-01-25 12:47:44 +02:00
Elad
9677a3a9ea
Fix Emulator::IsPaused() to allow measurements during module compilation
...
Also fix a potential deadlock in access violation handler for non-cpu_thread
2025-01-25 12:47:44 +02:00
Elad
4c0832e6e6
PPU LLVM: Reduce size of JIT-transition treampolines to 16
2025-01-25 12:47:44 +02:00
Elad
3f4210437d
JIT.h: Add option for lowered function size
2025-01-25 12:47:44 +02:00
Elad
81d0dd686b
LLVM: Add explicit resource-freeing at emulation stop
2025-01-25 12:47:44 +02:00
Elad
a24e747e16
PPU LLVM: Disable an experimental limit
2025-01-25 12:47:44 +02:00
Elad
05f52246a2
PPU LLVM: Simplify module progress
...
Do not mix module compilation with linking.
2025-01-25 12:47:44 +02:00
Elad
b46408d554
PPU Analyzer: Report invalid functions
2025-01-25 12:47:44 +02:00
Elad
58701000cd
PPU Analyzer: Clean addr_heap from non-relocations (PRX)
2025-01-25 12:47:44 +02:00
Elad
5a5e475c6e
PPU Analyzer: Move ppu_function::callers to lower sizeof(ppu_function)
2025-01-25 12:47:44 +02:00
Elad
ff89a08ee4
PPU Analyzer: Remove ppu_function::calls to lower sizeof(ppu_function)
...
Use blocks to get calls.
2025-01-25 12:47:44 +02:00
Elad
f5487e9137
PPU Analyzer: Use std::map::extract to reduce peak memory consumption
2025-01-25 12:47:44 +02:00
Elad
857eac3d10
PPU Analyzer: Remove ppu_function::name to lower sizeof(ppu_function)
2025-01-25 12:47:44 +02:00
Elad
f0fa8e3bc3
Remove ppu_attr::known_addr
2025-01-25 12:47:44 +02:00
Elad
9d5b75bb7a
LLVM: Slice PPU executable memory
2025-01-25 12:47:44 +02:00
Sanjay Govind
f1f85335a7
sys_usbd: Fix emulated devices not being created without a physical device ( #16608 )
2025-01-24 08:44:10 +01:00
Sanjay Govind
e2bbaa2430
libusb: support hotplug ( #16580 )
2025-01-23 23:49:24 +01:00
Megamouse
ba702509c8
Qt: Add Recent savestates menu
2025-01-23 22:55:07 +01:00
Megamouse
448666c896
Log LLVM version
2025-01-23 18:01:16 +01:00
Megamouse
8f660fc6b1
cellGem: update gun handler connection periodically
2025-01-23 12:35:02 +01:00
Sanjay Govind
fd66b6b103
cellPad: Send disconnection notification when swapping device class
2025-01-23 09:19:37 +01:00
Megamouse
e83eeb3cca
cellGem: Move the cursor out of the screen (Time Crisis 4 needs this)
2025-01-23 08:18:07 +01:00
Megamouse
f537a62ca6
cellGem: Set 255 as value for analog_t
2025-01-23 08:18:07 +01:00
Megamouse
b30ea34d05
cellGem: mark device as not visible at the screen borders
2025-01-23 08:18:07 +01:00
Megamouse
79d79aa80c
cellCamera: move attach event to thread
...
Time crisis doesn't seem to like the immediate push to the queue.
2025-01-22 02:18:07 +01:00
Megamouse
fbc7ad6788
cellGem: move some locks around wait loops
2025-01-22 02:18:07 +01:00
Megamouse
fcac6a9322
sys_event: remove unnecessary copy
2025-01-22 02:18:07 +01:00
Megamouse
74540844d2
cellGem: ignore missing pad handler
...
This is a hacky way to fix cellGem savestates
2025-01-22 02:18:07 +01:00
Megamouse
23483a80c7
cellGem: Fix camera image when loading savestates
2025-01-22 02:18:07 +01:00
Megamouse
ade2698bb4
cellCamera: start camera when loading savestates
2025-01-22 02:18:07 +01:00
Megamouse
85de7432a2
cellGem: improve convert_image_format logging
2025-01-22 02:18:07 +01:00
Megamouse
6805c36004
Decrease log level of config file move error
2025-01-22 02:18:07 +01:00
Megamouse
1cff5b35d4
input: add vibration multiplier
2025-01-21 08:44:38 +01:00
kd-11
2af497efbb
rsx: Fix texcoord transformation bug caused by incorrect BFE usage
2025-01-19 19:31:59 +03:00
kd-11
58a09e6838
vk: Use common pipeline layout in interpreter
...
- Avoids the layouts going out of sync every time something changes
2025-01-19 19:31:59 +03:00
kd-11
b5b93e962b
vk: Factor out common pipeline layout generator into reusable parts
2025-01-19 19:31:59 +03:00
Emma
10e0fb2b54
sys_prx: implement get_module_id_by_name, module_info_v2 ( #16573 )
2025-01-18 15:16:38 +02:00
Megamouse
a7edfa221e
windows: move logs to log dir
2025-01-16 21:33:33 +01:00
Megamouse
451e953d26
windows: move config.yml and games.yml to /config/
2025-01-16 21:33:33 +01:00
Megamouse
5c2c4a6649
input: issue basic mouse move event on window leave
...
This may help with moving the mouse to the screen borders in windowed mode
2025-01-16 18:27:16 +01:00
kd-11
09580594e6
rsx: Fix shader cache loading
2025-01-16 02:43:33 +03:00
kd-11
efc9ae98ed
vk: Fix out-of-bounds write when emitting MSAA unresolve clear command for NVIDIA fallback
2025-01-15 11:27:04 +03:00
kd-11
7da0822419
rsx/shaders: Fix MSAA coords wrapping when input is negative
2025-01-15 11:27:04 +03:00
kd-11
e1c6df0df3
rsx: Fix dynamic constants patching when draw call is skipped
...
- Also adds an optimization to skip reuploads when patch occurs outside our critical range.
2025-01-15 11:27:04 +03:00
kd-11
7965a0313c
rsx: Improved shader interpreter support when hw instancing is active
2025-01-15 11:27:04 +03:00
capriots
ae670c35f7
cellAtracXdec: use lv2 mutexes + conds
2025-01-14 11:32:32 +02:00
Megamouse
d1ccadbac2
cellGem: ignore intercepted input
2025-01-14 08:53:36 +01:00
Megamouse
1b87e186c4
cellGem: fix initial tracker done state
2025-01-10 21:53:37 +01:00
Megamouse
3eb1e6303c
cellGem: Use wait_on, fix fake/mouse move tracker wait
2025-01-10 21:53:37 +01:00
Megamouse
3b8efecc52
cellGem: Use atomic wait instead of wait_for
2025-01-10 21:53:37 +01:00
Megamouse
6716d555ff
cellGem: Update controllers at 10 Hz in separate thread
...
Some games don't use cellGemGetInfo.
Which means we had to reboot the game if the controller wasn't
connected on boot.
Updating controllers outside of the cell functions fixes this problem.
2025-01-10 21:53:37 +01:00
kd-11
27c56cde22
rsx/shaders: Track active MRT count per shader
...
- Also use more robust hashing to avoid collisions
2025-01-10 04:34:28 +03:00
kd-11
a635e24fc2
rsx: Default initialize vertex program fields
...
- Fixes a crash when RSXVertexProgram is default-initialized. This
probably also fixes a whole class of crashes that occur when
shader interpreter is in use since that pipeline uses a
default-initialized stub.
2025-01-10 04:34:28 +03:00
kd-11
dce0abc8b9
rsx/fp: Re-design register write tracking
...
- Always collapse register writes when exporting FS outputs
2025-01-10 04:34:28 +03:00
kd-11
88e13d8326
rsx: Don't crash when invalid buffer is allocated for a shader
2025-01-10 04:34:28 +03:00
Megamouse
d6f2f66f2b
Qt/Input: use empty string for pad_button_max_enum
...
Also shorten translated mouse button strings
2025-01-10 00:50:02 +01:00
Megamouse
b8d0396f71
Fix self assignment warning
2025-01-10 00:50:02 +01:00
Megamouse
a0df1e09a6
ps move: allow to configure mouse move handler buttons
2025-01-10 00:50:02 +01:00
Megamouse
7e03828f35
input: Allow mapping keys to basic mouse buttons
2025-01-09 21:59:01 +01:00
Megamouse
9407974c10
cellGem: Add more camera image conversions
2025-01-09 09:38:36 +01:00
Megamouse
3381a884d0
Fix some warnings
2025-01-08 20:02:33 +01:00
Megamouse
415c2d0795
fake move: add gyro support
2025-01-08 20:02:33 +01:00
Elad
c6f3737c2a
PPU LLVM: Fixup patches enlisting in analyzer
2025-01-07 20:42:45 +02:00
Antonino Di Guardo
ec77f2ab92
Minor cleanup ( #16519 )
...
* Minor cleanup
2025-01-07 19:46:13 +03:00
Elad
0b784ff2c1
PPU LLVM: Function table dependent resolver hashing
2025-01-07 15:43:41 +02:00
Megamouse
c443326fb1
Do not re-use the old game window if the renderer changed
2025-01-06 15:49:09 +01:00
Megamouse
2ac171a30f
move error_report to ErrorCodes.cpp
2025-01-06 15:49:09 +01:00
Megamouse
7369169331
Disable continuous mode if a savestate is not possible
2025-01-06 15:49:09 +01:00
Megamouse
d5470d92ec
Keep game window open when loading the last savestate
2025-01-06 15:49:09 +01:00
Megamouse
cc7e7300ce
Clean up old game window in case of unexpected errors
2025-01-06 15:49:09 +01:00
Megamouse
3ce4c95e61
Show message while creating savestate in continuous mode
2025-01-06 15:49:09 +01:00
Megamouse
1ab3a0bd73
RSX/Qt: Reuse gs_frame if possible
2025-01-06 15:49:09 +01:00
Elad
6165c2d8b3
Thread.h: Fix a bug by adding thread_state::destroying_context
2025-01-05 10:01:35 +02:00
Elad
036693a14d
Fix sys_config_unregister_service
2025-01-05 10:01:35 +02:00
Aleksey Komarov
c9d39ce7ae
vk: Support panvk, allow creating device without textureCompressionBC
...
panvk supports BC1-BC3 which is all RPCS3 require, support is reported as
false since not all formats are supported
2025-01-04 20:22:05 +02:00
Aleksey Komarov
da84326bd0
vk: Add driver vendor PANVK (Mali GPU on Mesa)
2025-01-04 20:22:05 +02:00
Megamouse
635eac7704
Qt: fix batch compilation after a game was already running
...
Batch compilation wasn't working if g_system_progress_canceled wasn't reset
2025-01-04 11:31:25 +01:00
Elad
2614450e4b
Fix IDM image serialization
2025-01-04 09:29:09 +02:00
Elad
a8f80ebfe9
sys_time.cpp: Anti TSC measures
2025-01-03 16:26:21 +02:00
Megamouse
fb237dd568
Audio: Add mute/unmute and volume shortcuts
...
Also add auto repeat to volume shortcuts
2025-01-02 09:34:47 +01:00
Megamouse
1c22cc2f52
overlays: add trophy list dialog
2025-01-01 13:42:21 +01:00
kd-11
0bb2f72ee2
rsx: Flush MM queue before memory is unmapped
2024-12-31 01:52:58 +03:00
Elad
a8bfa6a16c
SPU: Operating system LR memory signals
2024-12-29 21:01:17 +02:00
kd-11
e135012acd
rsx: Properly track changes in instancing state
2024-12-29 20:53:05 +03:00
kd-11
9de6a38e13
rsx: Test vertex program flags on each draw
2024-12-29 20:53:05 +03:00
kd-11
0baf873534
Cosmetic improvements
2024-12-29 20:53:05 +03:00
kd-11
35a66fe776
rsx: Do not use global registers object in logical "firmware" units
2024-12-29 20:53:05 +03:00
kd-11
0be8a5f9f4
rsx: Handle dangling execution barriers
2024-12-29 20:53:05 +03:00
kd-11
01fe39fbb9
rsx: Fix rare crash in vertex program decompiler
...
- This whole decompiler mess needs a rewrite
2024-12-29 20:53:05 +03:00
kd-11
cfc124fabf
rsx: Fix instancing bug when indexed addressing is used to read constants
2024-12-29 20:53:05 +03:00
kd-11
15961b353a
vk: Add support for hardware instanced draws
2024-12-29 20:53:05 +03:00
kd-11
d4573e233a
rsx: Fix vertex program compiler crash
2024-12-29 20:53:05 +03:00
kd-11
9307abe7f5
rsx: Move more functions from rsx thread to the draw command processor
2024-12-29 20:53:05 +03:00
kd-11
05bab8ec4c
rsx: Move draw call related functions to their own class
2024-12-29 20:53:05 +03:00
kd-11
9e9ae54455
rsx: Add GLSL support for instanced rendering
2024-12-29 20:53:05 +03:00