Fix 3 graphics related issues (#180)

* Fix 3 graphics related bugs

* OGLShader shouldn't be public (yet)
This commit is contained in:
gdkchan 2018-06-23 02:00:44 -03:00 committed by GitHub
parent 5182361f4b
commit c26ddd6259
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 40 additions and 14 deletions

View file

@ -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;
}
}
}

View file

@ -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);