sharpemu/tests
kuba 3fe148a262 [Kernel] Place mappings in untouched address space without waiting for the GPU worker
Every mapping change queued behind the GPU worker so it could not race a pending GPU read.
During loading that worker is busy translating shaders, and Demon's Souls' reservations and
batch maps waited seconds for a queue slot (23.6 s over 132 calls, up to 7.1 s each) while
the change itself took about a millisecond.

A change that only places memory where the GPU was never given anything - a kernel-chosen
address, or a fixed range that is empty or reserved and overlaps no registered span - cannot
race a GPU read and has nothing to unregister, so it now runs on the calling thread. Those
paths also skip the unregister request for free and reserved ranges, which are never
registered; waiting on the worker while holding the mapping lock that GPU reads take would
deadlock, so reaching a registered span there throws instead.
2026-09-30 10:06:24 +02:00
..
SharpEmu.Libs.Tests [Kernel] Place mappings in untouched address space without waiting for the GPU worker 2026-09-30 10:06:24 +02:00
SharpEmu.ShaderCompiler.Metal.Tests [ShaderCompiler] Fix the SOPK immediate width and S_ADDK_I32's SCC 2026-09-29 23:19:26 +02:00
SharpEmu.ShaderCompiler.Tests Merge #940 (pr/shader-isa-fixes) 2026-09-30 00:12:22 +02:00
SharpEmu.SourceGenerators.Tests feat(hle): prefer loaded guest exports for selected registrations (#844) 2026-08-25 22:32:57 +02:00