aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core/OsHle/Objects/Android
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-02-24 11:19:28 -0300
committergdkchan <gab.dark.100@gmail.com>2018-02-24 11:19:28 -0300
commit035efc913e7f2a68315d4206cef46672005b8442 (patch)
treeeeb130850da914eb18e50ab5106db801b2eb4b14 /Ryujinx.Core/OsHle/Objects/Android
parent3936c934482a587635bc5a1e47962551aeb53aeb (diff)
Fix cpu issue with cmp optimization, add HINT and FRINTX (scalar) instructions, fix for NvFlinger sometimes missing free buffers
Diffstat (limited to 'Ryujinx.Core/OsHle/Objects/Android')
-rw-r--r--Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs17
1 files changed, 10 insertions, 7 deletions
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;