sharpemu/tests/SharpEmu.Libs.Tests
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
Ampr Fix pak size-collision that crashed Quake right after the intro demo (#187) 2026-07-15 01:49:41 +03:00
Json [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
Kernel Fix sceKernelGetTscFrequency disagreeing with the counter on non-Windows hosts (#213) 2026-07-16 00:11:46 +03:00
Memory Fix virtual memory allocation and access (#193) 2026-07-14 21:50:54 -06:00
Pthread [HLE] Fix POSIX condition variable semantics (#113) (#223) 2026-07-16 00:24:05 +03:00
Rtc Fix sceRtcConvertLocalTimeToUtc failing on non-UTC hosts (#210) 2026-07-16 00:04:35 +03:00
AerolibCatalogTests.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
FakeCpuMemory.cs [Json] Implement sce::Json::Value and String (construct / set / destroy) (#169) 2026-07-15 01:49:33 +03:00
SharpEmu.Libs.Tests.csproj Fix virtual memory allocation and access (#193) 2026-07-14 21:50:54 -06:00
SysAbiRegistryTests.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00