Stefanos Costa
87428d7a4b
kernel: do not release a waiter on a zero-count syncOnAddress wake (linux only) ( #168 )
...
* kernel: do not release a waiter on a zero-count syncOnAddress wake
sceKernelSyncOnAddressWake with a count of 0 must release no waiters. On
Linux it released exactly one.
WakeLinux passes the count straight to FUTEX_WAKE, which does not treat 0
as "wake nobody": the kernel's wake loop tests `if (++ret >= nr_wake) break`
after waking a waiter, so any waiter present is released before the loop can
break. A standalone futex program confirms it -- FUTEX_WAKE with val = 0
returns 1, and the waiter observes its wait return 0 with the word unchanged.
WakePortable already short-circuits count == 0, so the two backends of the
same ABI disagreed, with only the Linux one wrong.
TestWakeZeroIsNoOp in SyncOnAddressTests covers exactly this and fails on
Linux without the fix (15 consecutive failures on the assertion "zero-count
wake releases no waiters"); with the fix the suite passes 15 consecutive runs.
* kernel: shorten zero-count futex comment
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-08-08 08:17:56 +02:00
Ali Almohaya
822ffba313
feat: identify build provenance in the crash log report ( #196 )
...
* feat: identify build provenance in the crash log report
* cmake: reuse git version dependency target
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-08-08 08:16:49 +02:00
Ali Almohaya
3c850b65c8
fix: stop a connected controller from disabling keyboard input ( #194 )
...
fix(input): stop a connected controller from disabling keyboard input
2026-08-08 08:05:52 +02:00
nmzik
698c9f802f
renderer: remove global BufferCache locking
2026-08-08 08:02:35 +02:00
nmzik
1d5f3c8f66
gpu emulation: remove unnecessary Vulkan synchronization
2026-08-08 01:21:03 +02:00
nmzik
ec78afb966
Revert "gpu: queue AGC suspend points"
...
This reverts commit 90bf3c9236 .
2026-08-07 23:58:09 +02:00
nmzik
3a7656336e
fix regression properly (fix pthread init abi)
2026-08-07 21:39:16 +02:00
nmzik
90bf3c9236
gpu: queue AGC suspend points
2026-08-07 21:02:31 +02:00
nmzik
d4f8338937
renderer: lower masked stencil xor exactly
2026-08-07 19:13:21 +02:00
nmzik
5125cd09c7
growable command buffer pool
2026-08-07 18:26:42 +02:00
nmzik
67cfec9063
shader: remove redundant runtime descriptor provenance walks (perf)
2026-08-07 18:08:40 +02:00
nmzik
81e52df7bf
precompute scissor rules (optimization)
2026-08-07 17:54:00 +02:00
nmzik
4b26d03dba
fix pthread init abi
2026-08-07 17:51:59 +02:00
nmzik
216c580d13
perf: limit high-resolution sleep busy-waiting
2026-08-07 17:44:55 +02:00
nmzik
7907a50817
minor optimizations
2026-08-07 09:26:37 +02:00
nmzik
68fffdfb66
fix macos build
2026-08-07 05:32:12 +02:00
nmzik
26781e6fea
fix(windows): add experimental guest red-zone protection.
...
Port the static instruction patcher from shadPS4.
2026-08-07 05:19:14 +02:00
nmzik
d5c95bc3ee
kernel: coalesce fragmented Windows placeholders before reuse
2026-08-07 03:13:01 +02:00
nmzik
ace549ab21
reduce complexity of buffer overlap detection
2026-08-06 23:46:47 +02:00
nmzik
0cbae39e41
remove double locking. small perf boost
2026-08-06 23:23:28 +02:00
nmzik
e9f5da27f8
gpu: implement polygon offset
...
Co-authored-by: Pouare514 <julienaulycee@gmail.com >
2026-08-06 22:02:19 +02:00
nmzik
3052dac82e
gpu: correct HS, PS, GS and compute resource register decoding
2026-08-06 21:21:47 +02:00
nmzik
2bb0483473
shader: add missing attributes
2026-08-06 20:32:14 +02:00
nmzik
389fd1e5be
refactor gpu: consolidate texture tile layout calculations
2026-08-06 20:03:42 +02:00
nmzik
a76f3ac2fe
gpu_defs: add missing layouts
2026-08-06 18:18:07 +02:00
nmzik
2fc4855f29
fix renderDoc
2026-08-06 16:55:53 +02:00
nmzik
869329ee68
renderer: minor optimizations
2026-08-05 19:08:18 +02:00
nmzik
b2963aa6e0
graphics: make DispatchDirect asynchronous
2026-08-05 14:49:45 +02:00
nmzik
9859b3e1d6
defer image refresh to final acquisition
2026-08-05 12:52:36 +02:00
nmzik
cd19fa283f
Implement IME dialog overlay
2026-08-05 05:14:16 +02:00
nmzik
b6af7c73ec
graphics: support Standard256B storage textures
2026-08-05 05:09:28 +02:00
nmzik
ac64d202af
shader: implement BUFFER_ATOMIC_FMAX
2026-08-05 02:59:28 +02:00
nmzik
df44ad3fac
shader: implement BUFFER_ATOMIC_FMIN, unhandled IR opcode now fails
2026-08-05 02:59:28 +02:00
nmzik
0a2f4814ac
refactor(shader): centralize opcode metadata and lookup paths
2026-08-05 02:59:28 +02:00
nmzik
e6b4707a5d
renderer: support R8 uint render targets
2026-08-05 02:59:28 +02:00
nmzik
9a3468e3a0
shader: implement V_MIN_U32
2026-08-05 02:59:28 +02:00
nmzik
73da43a7be
shader: implement V_CNDMASK_B32
2026-08-05 02:59:28 +02:00
nmzik
aa88d94755
shader: implement V_SUB_NC_U32
2026-08-05 02:59:27 +02:00
nmzik
822ca3c10b
shader: implement S_CMP_EQ_U64
2026-08-05 02:59:27 +02:00
nmzik
2b6fd699e7
shader: implement V_CMP_EQ_I64
2026-08-05 02:59:27 +02:00
nmzik
b9aa0dc3b3
fix KernelLseek lock leak
...
Co-authored-by: Stefanos Costa <stefanos.costa1999@gmail.com >
2026-08-05 02:25:05 +02:00
nmzik
f380d69b9d
fix AudioOut pacing
...
Co-authored-by: Stefanos Costa <stefanos.costa1999@gmail.com >
2026-08-05 02:17:25 +02:00
DeathWhispers
f06d7e6084
launcher: disable Vulkan validation by default
...
Keep validation opt-in while validation-layer errors remain fatal.
Refs #161
2026-08-04 22:09:40 +02:00
nmzik
00a5dd32c0
Implement syncOnAddress ABIs (perf improvement)
2026-08-04 21:24:12 +02:00
nmzik
a9ddd44d73
CI - enable LTO, remove OPT:NOREF
2026-08-04 19:30:49 +02:00
nmzik
2f9fcc63c3
fix (agc): implement DCB context state operations
...
Co-authored-by: DeathWhispers <56944463+Death-Whispers-U@users.noreply.github.com >
2026-08-04 19:14:21 +02:00
nmzik
0bbd0bdd99
fix launcher regression
2026-08-04 03:35:30 +02:00
nmzik
6396dc9a85
feat(input): add host input remapping
...
Add compact keyboard and mouse mapping with analog-stick defaults and integrate a global remapping editor into the Qt launcher.
Based on the host input remapping work from PR #109 .
Co-authored-by: DistantMyth <thetarun3@gmail.com >
2026-08-04 03:24:34 +02:00
nmzik
a3a00464bc
fix(launcher): focus emulator window on launch
2026-08-04 02:51:11 +02:00
nmzik
1da99a0671
Add warning for Windows-forbidden filename characters
2026-08-04 02:26:50 +02:00