mirror of
https://github.com/par274/sharpemu.git
synced 2026-07-31 23:19:44 +08:00
Sdl backend (#670)
* [audio] added sdl audio backend and in-tree atrac9 decoder * [input] replaced per-platform pad readers with sdl gamepad input * [video] added sdl window and host display plumbing * [gui] added host display options and per-game render settings * [bink] synced host movie playback to the guest audio clock * [cpu] hooked windows write faults into guest image tracking * [perf] added guest and render profiling, reserved host cpu lanes * [kernel] fixed stale pthread mutex handle alias * [host] wired the sdl session, save-data paths and project references * [audio] hoisted ajm trace stackalloc out of its loop * [video] Add guest image sync setting * [build] Strip native symbols * reuse
This commit is contained in:
@@ -4383,6 +4383,14 @@ public static partial class AgcExports
|
||||
_tracedProducerlessWaits.Clear();
|
||||
}
|
||||
|
||||
if (!stale)
|
||||
{
|
||||
// Count before the deduplication below: the warning fires once
|
||||
// per label, so on its own it cannot say how often a queue
|
||||
// actually suspends.
|
||||
GpuWaitProfile.RecordSuspend(producer is not null);
|
||||
}
|
||||
|
||||
if (!stale && producer is null &&
|
||||
!_tracedProducerlessWaits.Add(
|
||||
(memory, waiter.WaitAddress)))
|
||||
@@ -5648,6 +5656,8 @@ public static partial class AgcExports
|
||||
|
||||
SharpEmu.Libs.Diagnostics.LoadProgressDiagnostics.TraceGpuWaitSnapshot(
|
||||
ctx.Memory);
|
||||
GpuWaitProfile.RecordMonitorPoll(resumed != 0);
|
||||
GpuWaitProfile.ReportIfDue(remaining);
|
||||
if (remaining == 0)
|
||||
{
|
||||
gpuState.WaitMonitorRunning = false;
|
||||
@@ -5841,6 +5851,7 @@ public static partial class AgcExports
|
||||
$"submission={waiter.SubmissionId} label=0x{waiter.WaitAddress:X16} " +
|
||||
$"resume=0x{waiter.ResumeAddress:X16} remaining_dwords={remainingDwords} " +
|
||||
$"waited_ms={waitedMilliseconds:F3}");
|
||||
GpuWaitProfile.RecordResume(waiter.WaitAddress, waitedMilliseconds);
|
||||
if (remainingDwords == 0)
|
||||
{
|
||||
state.IsSuspended = false;
|
||||
|
||||
Reference in New Issue
Block a user