aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core
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
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')
-rw-r--r--Ryujinx.Core/OsHle/MemoryRegions.cs2
-rw-r--r--Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs17
2 files changed, 10 insertions, 9 deletions
diff --git a/Ryujinx.Core/OsHle/MemoryRegions.cs b/Ryujinx.Core/OsHle/MemoryRegions.cs
index e8ededc8..86d266f6 100644
--- a/Ryujinx.Core/OsHle/MemoryRegions.cs
+++ b/Ryujinx.Core/OsHle/MemoryRegions.cs
@@ -1,5 +1,3 @@
-using ChocolArm64.Memory;
-
namespace Ryujinx.Core.OsHle
{
static class MemoryRegions
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;