aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-05-13 22:10:45 -0300
committergdkchan <gab.dark.100@gmail.com>2018-05-13 22:10:45 -0300
commit9e50ed53e67f4bdc58aed37d116b289c70abd312 (patch)
tree13aaf60572fea1bbab3d14c35cbd3d65ed2bd979
parentb2b1d7dcd7bef8b78c7cea9d81339ba664fe7578 (diff)
Implement GetTpcMasks on nvservices
-rw-r--r--Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs3
-rw-r--r--Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs9
2 files changed, 10 insertions, 2 deletions
diff --git a/Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs b/Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs
index 68664912..04c4c9cd 100644
--- a/Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs
+++ b/Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs
@@ -5,6 +5,7 @@
public int MaskBufferSize;
public int Reserved;
public long MaskBufferAddress;
- public long Unk;
+ public int TpcMask;
+ public int Padding;
}
}
diff --git a/Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs b/Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs
index 9af9ad59..b34d346b 100644
--- a/Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs
+++ b/Ryujinx.Core/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs
@@ -140,7 +140,14 @@ namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
long InputPosition = Context.Request.GetBufferType0x21Position();
long OutputPosition = Context.Request.GetBufferType0x22Position();
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ NvGpuGpuGetTpcMasks Args = AMemoryHelper.Read<NvGpuGpuGetTpcMasks>(Context.Memory, InputPosition);
+
+ if (Args.MaskBufferSize != 0)
+ {
+ Args.TpcMask = 3;
+ }
+
+ AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
return NvResult.Success;
}