From c26ddd6259796e5b0b187989ce3e21b52edb00a8 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 23 Jun 2018 02:00:44 -0300 Subject: Fix 3 graphics related issues (#180) * Fix 3 graphics related bugs * OGLShader shouldn't be public (yet) --- Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandle.cs | 6 +++--- Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapIoctl.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'Ryujinx.HLE/OsHle') diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandle.cs b/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandle.cs index 7902034c..21fce700 100644 --- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandle.cs +++ b/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandle.cs @@ -24,14 +24,14 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap this.Size = Size; } - public long IncrementRefCount() + public void IncrementRefCount() { - return Interlocked.Increment(ref Dupes); + Interlocked.Increment(ref Dupes); } public long DecrementRefCount() { - return Interlocked.Decrement(ref Dupes); + return Interlocked.Decrement(ref Dupes) + 1; } } } \ No newline at end of file diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapIoctl.cs b/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapIoctl.cs index 376b74c1..43de4edb 100644 --- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapIoctl.cs +++ b/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapIoctl.cs @@ -163,9 +163,9 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap return NvResult.InvalidInput; } - long RefCount = Map.DecrementRefCount(); + long OldRefCount = Map.DecrementRefCount(); - if (RefCount <= 0) + if (OldRefCount <= 1) { DeleteNvMap(Context, Args.Handle); @@ -178,7 +178,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap Args.Flags = FlagNotFreedYet; } - Args.RefCount = RefCount; + Args.RefCount = OldRefCount; Args.Size = Map.Size; AMemoryHelper.Write(Context.Memory, OutputPosition, Args); -- cgit v1.2.3