diff options
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Synchronization')
3 files changed, 7 insertions, 7 deletions
diff --git a/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs b/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs index d246f474..968de930 100644 --- a/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs +++ b/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs @@ -70,7 +70,7 @@ namespace Ryujinx.Graphics.Gpu.Synchronization /// <param name="callback">The callback to call when the threshold is reached</param> /// <exception cref="System.ArgumentOutOfRangeException">Thrown when id >= MaxHardwareSyncpoints</exception> /// <returns>The created SyncpointWaiterHandle object or null if already past threshold</returns> - public SyncpointWaiterHandle RegisterCallbackOnSyncpoint(uint id, uint threshold, Action callback) + public SyncpointWaiterHandle RegisterCallbackOnSyncpoint(uint id, uint threshold, Action<SyncpointWaiterHandle> callback) { if (id >= MaxHardwareSyncpoints) { @@ -120,7 +120,7 @@ namespace Ryujinx.Graphics.Gpu.Synchronization using (ManualResetEvent waitEvent = new ManualResetEvent(false)) { - var info = _syncpoints[id].RegisterCallback(threshold, () => waitEvent.Set()); + var info = _syncpoints[id].RegisterCallback(threshold, (x) => waitEvent.Set()); if (info == null) { diff --git a/Ryujinx.Graphics.Gpu/Synchronization/Syncpoint.cs b/Ryujinx.Graphics.Gpu/Synchronization/Syncpoint.cs index 30f8cc86..39fb83c0 100644 --- a/Ryujinx.Graphics.Gpu/Synchronization/Syncpoint.cs +++ b/Ryujinx.Graphics.Gpu/Synchronization/Syncpoint.cs @@ -34,13 +34,13 @@ namespace Ryujinx.Graphics.Gpu.Synchronization /// <param name="threshold">The target threshold</param> /// <param name="callback">The callback to call when the threshold is reached</param> /// <returns>The created SyncpointWaiterHandle object or null if already past threshold</returns> - public SyncpointWaiterHandle RegisterCallback(uint threshold, Action callback) + public SyncpointWaiterHandle RegisterCallback(uint threshold, Action<SyncpointWaiterHandle> callback) { lock (_waiters) { if (Value >= threshold) { - callback(); + callback(null); return null; } @@ -111,13 +111,13 @@ namespace Ryujinx.Graphics.Gpu.Synchronization // we can't call it inside the lock. if (expired != null) { - expired.Callback(); + expired.Callback(expired); if (expiredList != null) { for (int i = 0; i < expiredList.Count; i++) { - expiredList[i].Callback(); + expiredList[i].Callback(expiredList[i]); } } } diff --git a/Ryujinx.Graphics.Gpu/Synchronization/SyncpointWaiterHandle.cs b/Ryujinx.Graphics.Gpu/Synchronization/SyncpointWaiterHandle.cs index 28ce343e..027b5141 100644 --- a/Ryujinx.Graphics.Gpu/Synchronization/SyncpointWaiterHandle.cs +++ b/Ryujinx.Graphics.Gpu/Synchronization/SyncpointWaiterHandle.cs @@ -5,6 +5,6 @@ namespace Ryujinx.Graphics.Gpu.Synchronization public class SyncpointWaiterHandle { internal uint Threshold; - internal Action Callback; + internal Action<SyncpointWaiterHandle> Callback; } } |
