aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorriperiperi <rhy3756547@hotmail.com>2021-03-30 00:10:43 +0100
committerGitHub <noreply@github.com>2021-03-30 01:10:43 +0200
commitf2cdceb8461f032b77fa3516264cd9b3b1e7d627 (patch)
tree8f599194a59b4ff80f885ef370b49702f6c3b1d9
parent4443e1890958cc01b523207736f74c58767f4017 (diff)
Force command flush after creating a syncpoint (#2056)
* Force command flush after creating GL sync * This is not required, as the commands were flushed on creation. * Move comment.
-rw-r--r--Ryujinx.Graphics.OpenGL/Sync.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Sync.cs b/Ryujinx.Graphics.OpenGL/Sync.cs
index 97a71fc4..18ab07e2 100644
--- a/Ryujinx.Graphics.OpenGL/Sync.cs
+++ b/Ryujinx.Graphics.OpenGL/Sync.cs
@@ -26,6 +26,9 @@ namespace Ryujinx.Graphics.OpenGL
Handle = GL.FenceSync(SyncCondition.SyncGpuCommandsComplete, WaitSyncFlags.None)
};
+ // Force commands to flush up to the syncpoint.
+ GL.ClientWaitSync(handle.Handle, ClientWaitSyncFlags.SyncFlushCommandsBit, 0);
+
lock (Handles)
{
Handles.Add(handle);
@@ -62,7 +65,7 @@ namespace Ryujinx.Graphics.OpenGL
return;
}
- WaitSyncStatus syncResult = GL.ClientWaitSync(result.Handle, ClientWaitSyncFlags.SyncFlushCommandsBit, 1000000000);
+ WaitSyncStatus syncResult = GL.ClientWaitSync(result.Handle, ClientWaitSyncFlags.None, 1000000000);
if (syncResult == WaitSyncStatus.TimeoutExpired)
{
@@ -86,7 +89,7 @@ namespace Ryujinx.Graphics.OpenGL
if (first == null) break;
- WaitSyncStatus syncResult = GL.ClientWaitSync(first.Handle, ClientWaitSyncFlags.SyncFlushCommandsBit, 0);
+ WaitSyncStatus syncResult = GL.ClientWaitSync(first.Handle, ClientWaitSyncFlags.None, 0);
if (syncResult == WaitSyncStatus.AlreadySignaled)
{