aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Gpu
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2018-07-12 14:03:52 -0300
committergdkchan <gab.dark.100@gmail.com>2018-07-12 14:03:52 -0300
commitcd18ab29dfacd1f7a3218d4ec73ce664bccc3887 (patch)
treec8bbe1c269e0cda16edfa3be0a061a90609abc57 /Ryujinx.HLE/Gpu
parent37071285bcf14ef96b16b55cb6ed7c8c003489e0 (diff)
Loop GLScreen with custom method (#244)
* Loop GLScreen with custom method * Fix deadlocks * Fix screen resizing * Change event to bool * Try to fix quitting error * Set title from main thread * Queue max 1 vsync, fix high FPS after a slowdown
Diffstat (limited to 'Ryujinx.HLE/Gpu')
-rw-r--r--Ryujinx.HLE/Gpu/Engines/NvGpuFifo.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuFifo.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuFifo.cs
index 0bc682a7..7b999eae 100644
--- a/Ryujinx.HLE/Gpu/Engines/NvGpuFifo.cs
+++ b/Ryujinx.HLE/Gpu/Engines/NvGpuFifo.cs
@@ -1,5 +1,6 @@
using Ryujinx.HLE.Gpu.Memory;
using System.Collections.Concurrent;
+using System.Threading;
namespace Ryujinx.HLE.Gpu.Engines
{
@@ -18,6 +19,8 @@ namespace Ryujinx.HLE.Gpu.Engines
private NvGpuEngine[] SubChannels;
+ public AutoResetEvent Event { get; private set; }
+
private struct CachedMacro
{
public int Position { get; private set; }
@@ -60,6 +63,8 @@ namespace Ryujinx.HLE.Gpu.Engines
Macros = new CachedMacro[MacrosCount];
Mme = new int[MmeWords];
+
+ Event = new AutoResetEvent(false);
}
public void PushBuffer(NvGpuVmm Vmm, NvGpuPBEntry[] Buffer)
@@ -68,6 +73,8 @@ namespace Ryujinx.HLE.Gpu.Engines
{
BufferQueue.Enqueue((Vmm, PBEntry));
}
+
+ Event.Set();
}
public void DispatchCalls()