aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Nv/NvDrvServices/NvMap/NvMapDeviceFile.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Nv/NvDrvServices/NvMap/NvMapDeviceFile.cs')
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Nv/NvDrvServices/NvMap/NvMapDeviceFile.cs35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Nv/NvDrvServices/NvMap/NvMapDeviceFile.cs b/src/Ryujinx.HLE/HOS/Services/Nv/NvDrvServices/NvMap/NvMapDeviceFile.cs
index a52b36a2..06df5f93 100644
--- a/src/Ryujinx.HLE/HOS/Services/Nv/NvDrvServices/NvMap/NvMapDeviceFile.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Nv/NvDrvServices/NvMap/NvMapDeviceFile.cs
@@ -10,7 +10,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvMap
{
private const int FlagNotFreedYet = 1;
- private static NvMapIdDictionary _maps = new NvMapIdDictionary();
+ private static readonly NvMapIdDictionary _maps = new();
public NvMapDeviceFile(ServiceCtx context, IVirtualMemoryManager memory, ulong owner) : base(context, owner)
{
@@ -125,8 +125,8 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvMap
{
map.Allocated = true;
- map.Align = arguments.Align;
- map.Kind = (byte)arguments.Kind;
+ map.Align = arguments.Align;
+ map.Kind = (byte)arguments.Kind;
int size = BitUtils.AlignUp(map.Size, (int)MemoryManager.PageSize);
@@ -142,7 +142,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvMap
if (result == NvInternalResult.Success)
{
- map.Size = size;
+ map.Size = size;
map.Address = address;
}
}
@@ -164,12 +164,12 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvMap
if (DecrementMapRefCount(Owner, arguments.Handle))
{
arguments.Address = map.Address;
- arguments.Flags = 0;
+ arguments.Flags = 0;
}
else
{
arguments.Address = 0;
- arguments.Flags = FlagNotFreedYet;
+ arguments.Flags = FlagNotFreedYet;
}
arguments.Size = map.Size;
@@ -190,15 +190,26 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvMap
switch (arguments.Param)
{
- case NvMapHandleParam.Size: arguments.Result = map.Size; break;
- case NvMapHandleParam.Align: arguments.Result = map.Align; break;
- case NvMapHandleParam.Heap: arguments.Result = 0x40000000; break;
- case NvMapHandleParam.Kind: arguments.Result = map.Kind; break;
- case NvMapHandleParam.Compr: arguments.Result = 0; break;
+ case NvMapHandleParam.Size:
+ arguments.Result = map.Size;
+ break;
+ case NvMapHandleParam.Align:
+ arguments.Result = map.Align;
+ break;
+ case NvMapHandleParam.Heap:
+ arguments.Result = 0x40000000;
+ break;
+ case NvMapHandleParam.Kind:
+ arguments.Result = map.Kind;
+ break;
+ case NvMapHandleParam.Compr:
+ arguments.Result = 0;
+ break;
// Note: Base is not supported and returns an error.
// Any other value also returns an error.
- default: return NvInternalResult.InvalidInput;
+ default:
+ return NvInternalResult.InvalidInput;
}
return NvInternalResult.Success;