4455 Commits
Author SHA1 Message Date
georgemoralis e0a466753a added matching delay (#5354) Pre-release-shadPS4-2026-10-11-e0a466753a1aacbc8db8253be685bf7ab4d9daae 2026-10-11 14:52:02 -05:00
kalaposfos13 9901cfe661 signindialog: basic error returns (#5323)
* signindialog: basic error returns

* copyright 2026
2026-10-11 12:01:45 -07:00
TheThunderTurner 995e37e4e7 Read CMask metadata (#5046)
* logging

* WIP

* handle register/unregister

* remove debugging

* i hope clang is ok now

* clang >:(

* function changed name

* clang complain

* clang complain
2026-10-11 20:10:47 +03:00
Stephen MillerandTheTurtle 8bafaa5aca recompiler: Handle another sharp patching pattern (#5352)
* handle another sharp patching pattern

* fix stride

Co-authored-by: TheTurtle <[email protected]>

* Update comment

* fix records shift

Co-authored-by: TheTurtle <[email protected]>

---------

Co-authored-by: TheTurtle <[email protected]>
2026-10-11 20:09:07 +03:00
junminlee2004 643c7997a5 translate: Unbias vertex and instance ids in every indirect draw (#5348) 2026-10-11 20:03:37 +03:00
nikmparis217-ux 3a9f57265d shader_recompiler: Implement IMAGE_GATHER4_C_L (#5344) 2026-10-11 13:50:40 +03:00
nikmparis217-ux b08fd9bb41 shader_recompiler: Detect fp64 usage from instruction types (#5342)
* shader_recompiler: Detect fp64 usage from instruction types

* shader_recompiler: Detect fp64 usage from instruction types
2026-10-11 13:50:14 +03:00
Stephen Miller 2319a36986 Implement sceGnmComputeWaitSemaphore (#5345)
* sceGnmComputeWaitSemaphore

Needed for HITMAN 3

* Rename WriteTrailingNop to WriteNop

It's handy for more than just trailing nops, so might as well rename it to something more accurate.
2026-10-11 13:49:20 +03:00
DanielSvoboda 1c2b8f97af Implement proper clamping and handling for V_RCP_CLAMP_F32, V_RSQ_CLAMP_F32, V_RSQ_LEGACY_F32, V_LOG_CLAMP_F32 (#5346)
* Implement proper clamping and handling for V_RCP_CLAMP_F32, V_RSQ_CLAMP_F32, V_RSQ_LEGACY_F32, V_LOG_CLAMP_F32, and V_CVT_PK_U8_F32.

* -
2026-10-11 13:48:49 +03:00
Stephen Miller 443f022450 Implement sceGnmRequestFlipAndSubmitDone and sceGnmDrawIndirectCountMulti (#5341)
* sceGnmRequestFlipAndSubmitDone

Used by H1Z1: Battle Royal. This, paired with a hack to get around some weird stack overflows this thing is doing, gets the game running.

* sceGnmDrawIndirectCountMulti

Still need to implement the PM4 opcode though

* Oops

* some other fixups

* Implement IT_DRAW_INDIRECT_COUNT_MULTI

* Remove indirect buffer wrapping

We don't need it
2026-10-10 16:32:46 -07:00
georgemoralis 811bfcd7d1 signaling-fix: always answer the offer (#5337)
* always answer the offer so it can finish handshake

* fixed peer connection

* misc
2026-10-10 17:28:21 +03:00
KyoskiiandKyoskii 2c1961a270 Fixes 33ms analog smoothing being accidentally applied to controller analog stick and triggers input (#5340)
Co-authored-by: Kyoskii <[email protected]>
2026-10-10 15:47:18 +02:00
rainmakerv2 c9018ee963 add emu settings = operator (#5339) 2026-10-10 13:29:06 +03:00
Marcin Mitura 06e813ff8c kernel: Implement POSIX thread context, naming, file and process APIs (#5332)
- Implement posix_pthread_mutex_setname_np, posix_pthread_rwlock_setname_np, posix_pthread_cond_setname_np, and posix_sem_setname according to libkernel decompilation.
- Implement posix_pthread_get_user_context_np, posix_pthread_set_user_context_np, posix_pthread_suspend_user_context_np, posix_pthread_resume_user_context_np.
- Implement thread suspension and context capture on macOS (Mach thread API), Windows (GetThreadContext), and Linux (SIGSLEEP).
- Implement posix_mkdir, posix_rmdir, posix_chdir, posix_lstat, and posix_flock.
- Implement sceKernelStopUnloadModule, sceKernelSetProcessProperty, and sceKernelGetOpenPsId.
2026-10-09 19:02:04 -05:00
artemkaVG 42bc3b4084 kernel: Implement private pthread barriers (#5308) 2026-10-09 17:58:32 -05:00
DodandClaude Sonnet 3eb39aac23 core: advance the source pointer for each backing run in TryWriteBacking (#5316)
Co-authored-by: Claude Sonnet <[email protected]>
2026-10-09 17:44:34 -05:00
Pierluigi Zagaria a8a70da595 http: Honor disable_https in HTTPS transport and private options (#5335) 2026-10-09 17:28:25 -05:00
georgemoralis 81be949167 spilt np_handler to multiple files based on it purpose. (#5333)
* spilt np_handler to multiple files based on it purpose . No functionality added

* qos
2026-10-09 16:51:03 -05:00
Henrique Reis NevesandClaude Opus 5.5 f1d5d5d63a http: Redact credential headers in logs (#5330)
* http: Redact credential headers in logs

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* http: Skip logging credential headers instead of redacting them

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-09 16:08:22 -05:00
Marcin Mitura 437dc7eb8f core: Do not expand host mmap range during POSIX AddressSpace::Unmap (#5189)
Calling mmap(MAP_FIXED) over an expanded coalesced range and mutating *size causes issues:
- Calling mmap over already-free PROT_NONE memory adds redundant kernel overhead and risks Mach VM submap collisions on macOS.
- Mutating *size passes inflated ranges to callers like the GPU rasterizer.

Unmap strictly the requested [virtual_addr, virtual_addr + *size) range on the host, preserve *size, and remove unused m_free_regions from the POSIX implementation.
2026-10-09 10:48:35 -07:00
junminlee2004 e9f2c54c20 renderer_vulkan: Bind a null index buffer instead of requiring maintenance6 (#5327)
* renderer_vulkan: Bind a zero index buffer instead of requiring maintenance6

* renderer_vulkan: Make maintenance6 optional and bind a null handle when supported
2026-10-09 10:13:51 -07:00
TheTurtle e7929178af tile: Expand table to 2048x2048 images (#5307) 2026-10-09 09:20:30 -07:00
georgemoralis 5cfd53250d don't depend on console language always load cjk font (#5326) 2026-10-09 08:59:06 -07:00
Marcin Mitura 30d82c9003 gnmdriver: Implement sceGnmSetGsRingSizes and sceGnmSetupMipStatsReport (#5179)
* gnmdriver: Implement sceGnmSetGsRingSizes

- Match Sony libSceGnmDriver 1 MB alignment and [4 MB, 8 MB] range validation
- Return 0x08000000 on invalid size parameter
- Program Liverpool VGT_ESGS_RING_SIZE and VGT_GSVS_RING_SIZE registers

* gnmdriver: Implement sceGnmSetupMipStatsReport

- Match Sony libSceGnmDriver 64-byte alignment and 48-bit address validation (0x80000001)
- Validate report buffer size >= 0x1040 and (size & 0x7FF) == 0x40 (0x80000002)
- Zero output buffer and write 64-byte header size
2026-10-09 08:33:23 -07:00
Marcin Mitura 661d6fd046 file_sys: Normalize guest paths and fix mount matching (#5207)
- Lexically normalize guest paths to resolve redundant slashes (//) and directory traversal (..)
- Prevent duplicate mount entries when registering overlays in MntPoints::Mount
- Sanitize paths before mount matching to prevent false matches against read-only mounts
- Validate and sanitize paths in sys_open
- Handle root directory ("/") queries in VFS and reachability checks
2026-10-09 08:13:16 -07:00
Marcin Mitura 149089be74 kernel: Implement POSIX file attribute and sync APIs (#5188)
* kernel: Implement POSIX/Orbis filesystem APIs (truncate, chmod, fchmod, utimes, futimes)

* kernel: Use MntPoints filesystem abstractions for truncate, chmod, utimes

- Validate existence and directory type using MntPoints::Exists and IsDirectory

- Enforce EROFS for read-only mounts before calling host filesystem APIs

- Check mount and descriptor read-only status in posix_fchmod and posix_futimes

* kernel: Implement posix_fdatasync, sceKernelFdatasync, posix_sync, and sceKernelSync
2026-10-09 07:50:33 -07:00
junminlee2004 0c9ca525b8 address_space: Restore protections after splitting a mapped region on Windows (#5317) 2026-10-09 08:33:10 -05:00
georgemoralis 0fe263a476 fixed legancy network transfer issues (#5306)
* fixed legancy issues

* more kala love

* how much more love for kala?
2026-10-07 22:25:25 +03:00
junminlee2004 de2817580a devtools: Anchor the FPS counter at startup and refactor counter movement checks (#5302)
* devtools: Anchor the FPS counter when it is shown from startup

* devtools: Keep the FPS counter pinned to the top right corner
2026-10-07 22:07:21 +03:00
Chris Chreece afde63182a renderer_vulkan: allow buffer copies between different layer counts (#5299) 2026-10-07 17:25:00 +03:00
artemkaVG 0027696102 amdgpu: Preserve index buffer capacity for indirect draws (#5278) 2026-10-07 17:23:02 +03:00
Matheus Fillipe 69b6041d76 video_core: Link the stencil plane of DepthStencilCopy destinations (#5296)
* image_info: Size the stencil plane like the depth plane

* texture_cache: Move stencil plane association into AssociateStencil

* vk_rasterizer: Link the stencil plane of DepthStencilCopy destinations
2026-10-07 17:22:21 +03:00
kalaposfos13 144591e566 Speed up game ID resolution by running a fast lookup for each install folder and skipping looking through game folders for other game dumps (#5301)
* Speed up game ID resolution by skipping looking through game folders for other game dumps

* Run a fast check through each install folder with a depth of zero before running the expensive recursive search

* +
2026-10-07 14:57:01 +03:00
Claudio GodoiandClaude Opus 5.5 945dbc3cc3 shader_recompiler: Add subgroup barriers for shared memory dependencies (#5285)
* shader_recompiler: Add subgroup barriers for shared memory dependencies

On GCN, the 64 invocations inside a wavefront execute in lockstep, so games can
use LDS/shared memory to exchange data between invocations of the same wave
without adding explicit barriers. SPIR-V does not guarantee this same behavior,
and the host compiler can reorder a shared memory load before a store from
another invocation.

For the cases where the existing LDS barrier path is not used, insert subgroup
scoped memory barriers between dependent shared memory writes and reads inside
the same basic block. I also bumped ShaderBinaryVersion to force old cached
shaders to be rebuilt.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* Remove comment from EmitSubgroupBarrier

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-07 01:17:15 +03:00
Claudio GodoiandClaude Opus 5.5 14ada48a13 vk_rasterizer: Apply pending fast clears on FMASK decompress (#5283)
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-06 20:24:36 +03:00
georgemoralisandMetr1k 2a2f1003b0 Major net rewrite (#5236)
* p2p crypto schema

* adding p2p keyring

* p2p framing and testing

* fixups

* test fix

* missing definations

* implementation of host functions

* tcp/transport of p2p packets

* improvements in binding

* guest_net ,improvements and  test cases

* all mighty clang

* fixing macOS tests failures

* misc

* net_rewrite : net_errors , types and translation schemas

* updated fixed chunks transfer on windows

* bye bye old net

* small updates for the new net

* settings and tests

* net lib first draft

* allow more than 1 P2P instances on from same pc

* improved shadnet replies

* possible fix for jojo

* cleanup

* move net files to libaries/net

* fixed macOS tests

* mighty clang

* fixed cmakelists

* don't cosume inviation event on client (test code)

* fix macOS tests

* Large multi-file rework for Signaling and Matching2 network handling / optimization.  Consolidates Matching2-signaling and signaling to one process (signaling_handler)

General cleanup and consolidation of matching2 context management > nphandler

Removal of a lot

SIgnaling overall structure cleanup.

Matching2: added get and set roommemberdatainternal and the proper type / shadnet call / request / reply.

Consolidated signaling/matching2 typedefs to np_types2

Utilized Codex as a reviewer and for general cleanup.

* all mighty clang

* fixed member attributes

* fixed MAPPED address for matching signaling

* Fixed sceNpMatching2SignalingGetLocalNetInfo

* fixups on net core/library based on fw

* improved errno

* spilt p2p to net_p2p

* some cleanups

* fix for localinfo

* clang

* fix up

* cleanups

* cleanups

* added KernelFstat

* fixed fstat

* one more fix for fstat...

* cleanup old deprecated code

* cleanup

* General logging cleanup across NP changes.  Thanks Stephen!

* cleanup based on stephen's suggestions

* fixup

* fixing tests

* blah

* fixup

* improve memory pools

* cleaunp

* force https disable option

* clang

* @stephen's fixes

* added network field in settings and ported old network ones

---------

Co-authored-by: Metr1k <[email protected]>
2026-10-06 19:14:56 +03:00
Paris Oplopoios 235dcabf94 cpu_patches: Patch (V)RCPPS and (V)RSQRTPS on Intel (#5241)
* cpu_patches: Patch (V)RCPPS and (V)RSQRTPS on Intel

* Address review
2026-10-06 05:44:46 -05:00
artemkaVG c34ca21f12 shader_recompiler: Preserve EXEC scope after empty branch (#5220) 2026-10-06 02:29:18 +03:00
Paris Oplopoios 63098710de Chore: Fix includes for fmt 12.2 (#5276) 2026-10-05 23:23:25 +03:00
kiwakiwaa c5dd8b8b50 video_core: Emulate zero/one MIN/MAX blend factors (#5197)
* Use equivalent add operations for UNORM & sRGB targets after blend factor substitutions
2026-10-05 23:23:07 +03:00
Chris Chreece c679ce6092 texture_cache: initialize added depth-overlap subresources (#5229)
* texture_cache: initialize added depth-overlap subresources [skip ci]

AI-assisted extraction and verification by Codex.
Human code/comment review and human-written PR text required before upstream submission.
Source integration: e6cf874a170c528068627bb43f2c6bc2e89e4375.
Original commits: e78385ae.

* tests: remove depth-overlap fixture after review [skip ci]

Remove the standalone depth-growth CMake target and modeled regression fixture as requested in upstream PR #5229. The five-line production initialization fix is unchanged.

Validation: inspected the exact file diff; no new build or test run because only the standalone test files were removed. The prior fixture results and limitations remain in the earlier commit history.

AI-assisted change by Codex.
2026-10-05 23:14:16 +03:00
Lucas Daniel Duarte Cabral 12c5978f6a liverpool: free the frames of nested indirect buffer tasks (#5258)
* liverpool: free the frames of nested indirect buffer tasks

IndirectBuffer (graphics and compute) and IndirectBufferConst run their
target as a nested coroutine and wait for it to finish, but the finished
task stays suspended at final_suspend and its frame is never destroyed.
Every indirect buffer leaked about 600 bytes of host heap.

In inFAMOUS Second Son that is ~440 nested tasks per second, so committed
memory grew by ~15 MB per minute (~0.9 GB per hour) without bound. With
the frames destroyed it stays flat after warm-up.

* liverpool: drop comments on nested task destroy
2026-10-05 23:12:57 +03:00
TheTurtle 99e33b7e0a region_manager: Add lock free bypass check when no state update is required (#5277)
* region_manager: Add lock free bypass check when no state update is required

The lock takes a non insignificant part of CPU time so attempt to avoid taking it if no update is needed
To make this correct, the state update bits must be performed strictly after page manager updates
so split UpdateStateAndProtection into UpdateState and UpdateProtection and run former after page manager

* region_manager: Use summary bits
2026-10-05 23:12:31 +03:00
Chris Chreece 10393d2c3b shader_recompiler: allow step rates with base instance (#5274) 2026-10-05 18:10:18 +03:00
TheTurtle dade3afda7 vk_rasterizer: Restore image copy fast path (#5272) 2026-10-05 12:39:12 +03:00
Ultra b5ce969003 Free pr (#5270)
* Update sysmodule_internal.cpp

* Update sysmodule_internal.h
2026-10-05 11:19:16 +03:00
Marcin Mituraandgeorgemoralis beda45d7b3 ajm: Fix MP3 parser OOB and support Xing/VBRI headers (#5254)
Co-authored-by: georgemoralis <[email protected]>
2026-10-05 11:04:08 +03:00
Stephen Miller 4ddaada81d Increase num buffers (#5265)
For some reason, the inlineFetchShader config option increases how many buffers we need for some games. Thankfully, the removal of userdata regs from PushData means we can store significantly more of these in here than we could before.
2026-10-05 04:18:26 +03:00
TheTurtle 7d28d2790b shader_recompiler: Enable early fragment testing when configured (#5264)
According to this table https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/gallium/drivers/radeonsi/gfx/si_state_shaders.cpp#L1717
the value of DEPTH_BEFORE_SHADER should be authoratative on whether the guest program requests early z testing or not.
Z_ORDER seems to be more of a hint in comparison
2026-10-05 03:09:56 +03:00
TheTurtle c09fa46a85 vk_rasterizer: Track vertex, index and indirect buffers properly (#5262) 2026-10-05 01:36:08 +03:00