sharpemu/src/SharpEmu.Libs
Jack Del Aguila 1be009ce40
[HLE] Fix POSIX condition variable semantics (#113) (#223)
* [HLE] Trigger AGC graphics events by filter instead of exact ident (#173)

The PM4 EVENT_WRITE packet carries a 6-bit hardware EVENT_TYPE, but the
guest registers AGC events via sceAgcDriverAddEqEvent with a full guest
eventId. These two values are not the same numbering scheme, so the exact
ident lookup in TriggerRegisteredEvents never matched and the AGC
interrupt thread hung forever.

Add TriggerRegisteredEventsByFilter, which wakes every graphics event
registration on every queue. This is a compatibility workaround for
issue #173 while the real PS5 mapping remains unknown.

Includes unit tests covering the mismatched ident/eventType case.

* [HLE] Fix POSIX condition variable semantics (#113)

Remove PendingSignals from PthreadCondState. POSIX condition signals are edges,
not semaphore credits - a signal with no waiter must have no effect. The previous
implementation persisted signals, causing lock inversions and predicate bypasses.

Changes:
- Remove PendingSignals property and TryConsumePendingSignal method
- Remove pending signal consumption logic from PthreadCondWaitCore
- Remove PendingSignals increment from PthreadCondSignalCore
- Add regression tests verifying POSIX-correct behavior

Fixes #113
2026-07-16 00:24:05 +03:00
..
Agc [HLE] Fix POSIX condition variable semantics (#113) (#223) 2026-07-16 00:24:05 +03:00
Ajm Agent/fix gen5 thread agc compat (#130) 2026-07-14 14:41:42 +03:00
Ampr Add 21 missing SysAbi exports and GUI Environment tab for SHARPEMU_* toggles (#189) 2026-07-15 03:36:15 +03:00
AppContent [fixes] move repeating methods into CpuContext (#41) 2026-07-10 23:46:50 +03:00
Audio [Host] Abstract audio output and pad/keyboard input behind the host platform seam (#192) 2026-07-15 13:24:53 +03:00
AvPlayer Fix historic SysAbi exports bound to wrong symbol names (#167) 2026-07-15 01:34:27 +03:00
CommonDialog [CommonDialog] Fix dialog state machine and add MsgDialog progress-bar exports (#163) 2026-07-15 01:33:48 +03:00
DiscMap [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
Fiber [fixes] move repeating methods into CpuContext (#41) 2026-07-10 23:46:50 +03:00
GameUpdate [hle] Add missing service exports 2026-06-21 23:18:55 +03:00
Gpu [Gpu] Backend-neutral shader compiler and guest-GPU renderer seam (#200) 2026-07-15 11:11:24 -06:00
Ime Fix UnmanagedCallersOnly boot crash & Core Engine Improvements (CPU, HLE, AGC) (#81) 2026-07-12 18:04:12 +03:00
Json [Json] Implement sce::Json::Value and String (construct / set / destroy) (#169) 2026-07-15 01:49:33 +03:00
Kernel [HLE] Fix POSIX condition variable semantics (#113) (#223) 2026-07-16 00:24:05 +03:00
Mouse Add 21 missing SysAbi exports and GUI Environment tab for SHARPEMU_* toggles (#189) 2026-07-15 03:36:15 +03:00
Network Add 21 missing SysAbi exports and GUI Environment tab for SHARPEMU_* toggles (#189) 2026-07-15 03:36:15 +03:00
Ngs2 Performance Improvements and Optimization Tweaks (#156) 2026-07-14 20:22:52 +03:00
Np Add 21 missing SysAbi exports and GUI Environment tab for SHARPEMU_* toggles (#189) 2026-07-15 03:36:15 +03:00
NpGameIntent [hle] Add missing service exports 2026-06-21 23:18:55 +03:00
Pad Linux and macOS support (#47) 2026-07-15 15:36:20 +03:00
PlayGo Agent/fix gen5 thread agc compat (#130) 2026-07-14 14:41:42 +03:00
Rtc Fix sceRtcConvertLocalTimeToUtc failing on non-UTC hosts (#210) 2026-07-16 00:04:35 +03:00
SaveData Add SaveData transaction and NP UDS layout HLE stubs (#168) 2026-07-15 01:34:59 +03:00
Share [fixes] move repeating methods into CpuContext (#41) 2026-07-10 23:46:50 +03:00
SystemGesture Fix UnmanagedCallersOnly boot crash & Core Engine Improvements (CPU, HLE, AGC) (#81) 2026-07-12 18:04:12 +03:00
SystemService [Gpu] Backend-neutral shader compiler and guest-GPU renderer seam (#200) 2026-07-15 11:11:24 -06:00
Ult Fix UnmanagedCallersOnly boot crash & Core Engine Improvements (CPU, HLE, AGC) (#81) 2026-07-12 18:04:12 +03:00
UserService [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
VideoOut [Gpu] Backend-neutral shader compiler and guest-GPU renderer seam (#200) 2026-07-15 11:11:24 -06:00
Voice Agent/fix gen5 thread agc compat (#130) 2026-07-14 14:41:42 +03:00
CxxAbiExports.cs [AGC] Quake rendering progress: WAIT_REG_MEM, draw fixes, VideoOut, and HLE improvements (#68) 2026-07-12 00:22:48 +03:00
LibcInternalExports.cs Align SysAbi export names with Aerolib NID catalog (#137) 2026-07-14 17:10:57 +03:00
LibcStdioExports.cs [emulator] Improve emulator performance by optimizing memory access and reducing unnecessary overhead in kernel and CPU execution paths (#131) 2026-07-14 14:28:44 +03:00
SharpEmu.Libs.csproj [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00