AnyPS5/docs/dev
Ahir 48dcaace78 fix(shader): lock recompiler shared mutexes once when created
winpthreads initializes a statically initialized rwlock on its first
lock and fails a concurrent first lock with EINVAL, which
std::shared_mutex ignores, so two threads can hold the lock at once.
The source, binding plan and specialized module caches take their
first locks from several threads, so their mutexes now take and
release the lock in their constructor, as guest rwlocks do.

The GuestWriteWatch mutex the technical debt entry also named is in
the Linux-only watch, so it is not affected.
2026-10-11 19:22:13 +05:30
..
ARCHITECTURE.md fix(agc): select the registered back half for a fused hull header 2026-10-11 12:36:01 +02:00
BUILD.md build: reject an SDL2 without HIDAPI and fall back to shared SPIRV-Tools 2026-10-11 10:18:23 +02:00
CONVENTIONS.md refactor(docs): separated user and dev in docs + compatibility file 2026-09-28 22:58:17 +03:00
HW_ORACLE.md feat(shader): follow FP16_OVFL in every f16 result 2026-10-10 04:32:38 -03:00
PROGRESS.md feat(tools): mark behaviourally empty bodies in the progress report 2026-10-11 11:44:28 +00:00
TechnicalDebt.md fix(shader): lock recompiler shared mutexes once when created 2026-10-11 19:22:13 +05:30