diff options
author | riperiperi <rhy3756547@hotmail.com> | 2021-03-30 00:10:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-30 01:10:43 +0200 |
commit | f2cdceb8461f032b77fa3516264cd9b3b1e7d627 (patch) | |
tree | 8f599194a59b4ff80f885ef370b49702f6c3b1d9 | |
parent | 4443e1890958cc01b523207736f74c58767f4017 (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.cs | 7 |
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) { |