aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2021-10-19 17:25:32 -0300
committerGitHub <noreply@github.com>2021-10-19 17:25:32 -0300
commit0d174cbd4555e69660a900577a52f3d4bf7391b9 (patch)
treeed68e5f55d2f9ba1d365d877d7f66dad8fa3df19 /Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs
parent63f1663fa959d8809d1762d99e9364565ba9b3d8 (diff)
EventWait should not signal the event when it returns Success (#2739)
* Fix race when EventWait is called and a wait is done on the CPU * This is useless now * Fix EventSignal * Ensure the signal belongs to the current fence, to avoid stale signals
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs4
1 files changed, 2 insertions, 2 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)
{