sharpemu/tests
kuba b167a565d0 [GPU] Let guest reads of GPU-written memory wait on the main queue off the worker
A guest thread reading memory the GPU wrote hands the download to the
command worker, which recorded the copies, submitted and then waited for
the whole GPU before handing the bytes back - unless a dedicated readback
queue existed, where the download ran asynchronously and only the guest
thread waited. MoltenVK exposes one queue family in-process, so on macOS
every such read idled the worker for tens of milliseconds, several times
per frame in Silent Hill: The Short Message's menu (a quarter of the
worker's time).

Without a readback queue the worker now copies the pieces into a buffer
of their own, submits without waiting and returns a pending download
carrying the submission tick; the guest thread waits for that tick on the
timeline (safe from any thread) and completes the read back on the
worker, as the readback-queue path does. The worker's GPU wait time drops
to zero; SHARPEMU_MAIN_QUEUE_PENDING_READS=0 restores the synchronous
path.

(cherry picked from commit 6c9ad44bcea7f9396a7564621fcbda3841834052)
2026-10-06 04:07:10 +02:00
..
SharpEmu.Libs.Tests [GPU] Let guest reads of GPU-written memory wait on the main queue off the worker 2026-10-06 04:07:10 +02:00
SharpEmu.ShaderCompiler.Metal.Tests [SpirvTranslator] Shader fixes (#1019) 2026-10-04 01:17:02 +03:00
SharpEmu.ShaderCompiler.Tests [SRT] Compile shader resource plans in the background (#1028) 2026-10-05 01:19:33 +03:00
SharpEmu.SourceGenerators.Tests feat(hle): prefer loaded guest exports for selected registrations (#844) 2026-08-25 22:32:57 +02:00