aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Synchronization
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Synchronization')
-rw-r--r--Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs4
-rw-r--r--Ryujinx.Graphics.Gpu/Synchronization/Syncpoint.cs8
-rw-r--r--Ryujinx.Graphics.Gpu/Synchronization/SyncpointWaiterHandle.cs2
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;
}
}