Files
psxrecomp/runtime/src
Shokunin c2cf5ffd03 Render-pass worker: run concurrently with emulation
The worker only ran inside the emulation thread's pacing idle window, so
heavy scenes (short windows) lost their in-between frames. It now runs
as soon as a job is queued, on its own core, bounded by the job's own
presentation period.

Shared state that made concurrent runs crash or race, now per thread:
- render_pass_mmio_read_allowed could longjmp to the emulation thread's
  synchronous-pass jump buffer from the worker (instant crash). The
  abort state (s_abort_jmp, s_abort_armed, s_pass_cpu,
  s_device_read_fault, s_attempt) is thread-local, and a private
  execution aborts its own job through g_psx_execution_abort.
- The VRAM dirty mask: marks from the worker's private snapshot are
  dropped (gpu_vram_dirty_set_private_thread).
Plan changes already quiesce (join) the worker before the hook table is
rebuilt.

R4 release, RTX 4080 8K, driven lap, DXGI on-screen count: 4/4 runs
stable (was 1 crash in 2); 50-60 distinct/s on straights.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:18:31 -07:00
..
2026-08-03 05:26:37 -04:00
2026-07-29 03:18:10 -04:00
2026-08-01 14:13:58 -04:00
2026-08-07 16:42:43 -04:00
2026-10-11 16:16:33 -04:00
2026-10-11 16:16:33 -04:00
2026-07-29 03:18:10 -04:00
2026-07-29 03:18:10 -04:00
2026-07-29 03:18:10 -04:00