0
0
Fork 0
mirror of https://github.com/ryujinx-mirror/ryujinx.git synced 2024-12-23 10:05:46 +00:00

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.
This commit is contained in:
riperiperi 2021-03-30 00:10:43 +01:00 committed by GitHub
parent 4443e18909
commit f2cdceb846
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,6 +26,9 @@ namespace Ryujinx.Graphics.OpenGL
Handle = GL.FenceSync(SyncCondition.SyncGpuCommandsComplete, WaitSyncFlags.None) Handle = GL.FenceSync(SyncCondition.SyncGpuCommandsComplete, WaitSyncFlags.None)
}; };
// Force commands to flush up to the syncpoint.
GL.ClientWaitSync(handle.Handle, ClientWaitSyncFlags.SyncFlushCommandsBit, 0);
lock (Handles) lock (Handles)
{ {
Handles.Add(handle); Handles.Add(handle);
@ -62,7 +65,7 @@ namespace Ryujinx.Graphics.OpenGL
return; return;
} }
WaitSyncStatus syncResult = GL.ClientWaitSync(result.Handle, ClientWaitSyncFlags.SyncFlushCommandsBit, 1000000000); WaitSyncStatus syncResult = GL.ClientWaitSync(result.Handle, ClientWaitSyncFlags.None, 1000000000);
if (syncResult == WaitSyncStatus.TimeoutExpired) if (syncResult == WaitSyncStatus.TimeoutExpired)
{ {
@ -86,7 +89,7 @@ namespace Ryujinx.Graphics.OpenGL
if (first == null) break; 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) if (syncResult == WaitSyncStatus.AlreadySignaled)
{ {