Files
sharpemu/src/SharpEmu.Libs
Foued Attar c086e32f3d Fix GuestDataPool lease leak on non-GPU compute dispatch paths (#759)
ObserveComputeDispatch only returned evaluation's pooled arrays when
evaluationHandledByCpu was set. Dispatches rejected before submission
(empty resource tables, oversized workgroup, compile failure) or a
compute submit that got dropped instead of enqueued (workSequence == 0)
never handed those buffers to a consumer that would return them,
leaking one lease per occurrence and growing GuestDataPool.Shared
without bound over a long session.

Adds GuestDataPool.DiagnosticStats() (outstanding lease count, idle
cached bytes) surfaced in the periodic [LOADER][PERF] line, to catch
this class of regression going forward.

Verified on Ghost of Yotei and Demon's Souls: pool_leases grew
unbounded before the fix (525 in 5 min on Demon's Souls, 1114 in 180s
on Yotei) and stays flat/bounded after (0-6 and 2-18 respectively),
with no behavioral regression observed.
2026-08-03 21:18:23 +03:00
..
2026-07-28 03:33:26 +03:00
2026-08-03 00:36:00 +03:00
2026-07-28 16:29:58 +03:00
2026-07-28 03:33:26 +03:00
2026-07-29 15:59:57 +03:00
2026-07-28 03:33:26 +03:00
2026-07-18 23:44:57 +03:00
2026-07-16 13:57:16 +03:00
2026-07-29 15:59:57 +03:00