From 035efc913e7f2a68315d4206cef46672005b8442 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 24 Feb 2018 11:19:28 -0300 Subject: Fix cpu issue with cmp optimization, add HINT and FRINTX (scalar) instructions, fix for NvFlinger sometimes missing free buffers --- Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'Ryujinx.Core/OsHle/Objects/Android') diff --git a/Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs b/Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs index 54588383..11069cb2 100644 --- a/Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs +++ b/Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs @@ -291,7 +291,10 @@ namespace Ryujinx.Core.OsHle.Objects.Android BufferQueue[Slot].State = BufferState.Free; - WaitBufferFree.Set(); + lock (WaitBufferFree) + { + WaitBufferFree.Set(); + } }); } @@ -317,15 +320,15 @@ namespace Ryujinx.Core.OsHle.Objects.Android do { - if ((Slot = GetFreeSlot(Width, Height)) != -1) + lock (WaitBufferFree) { - break; - } + if ((Slot = GetFreeSlot(Width, Height)) != -1) + { + break; + } - Logging.Debug("Waiting for a free BufferQueue slot..."); + Logging.Debug("Waiting for a free BufferQueue slot..."); - lock (WaitBufferFree) - { if (!KeepRunning) { break; -- cgit v1.2.3