aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core/OsHle/Ipc
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-05-07 15:53:23 -0300
committerGitHub <noreply@github.com>2018-05-07 15:53:23 -0300
commit34037701c708cb70bbf44dea71ee0912f7b4102b (patch)
treeca4cf2bde85dea48af12033b8d0446f17b611f4f /Ryujinx.Core/OsHle/Ipc
parent4419e8d6b43432eae94a3a9304f7df22b34738a8 (diff)
NvServices refactoring (#120)
* Initial implementation of NvMap/NvHostCtrl * More work on NvHostCtrl * Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind * Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb) * Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks * Remove now unused code, add comment about probably wrong result codes
Diffstat (limited to 'Ryujinx.Core/OsHle/Ipc')
-rw-r--r--Ryujinx.Core/OsHle/Ipc/IpcHandler.cs4
-rw-r--r--Ryujinx.Core/OsHle/Ipc/IpcMessage.cs25
2 files changed, 3 insertions, 26 deletions
diff --git a/Ryujinx.Core/OsHle/Ipc/IpcHandler.cs b/Ryujinx.Core/OsHle/Ipc/IpcHandler.cs
index 42322d41..420890eb 100644
--- a/Ryujinx.Core/OsHle/Ipc/IpcHandler.cs
+++ b/Ryujinx.Core/OsHle/Ipc/IpcHandler.cs
@@ -7,7 +7,7 @@ namespace Ryujinx.Core.OsHle.Ipc
{
static class IpcHandler
{
- public static void IpcCall(
+ public static long IpcCall(
Switch Ns,
Process Process,
AMemory Memory,
@@ -94,6 +94,8 @@ namespace Ryujinx.Core.OsHle.Ipc
AMemoryHelper.WriteBytes(Memory, CmdPtr, Response.GetBytes(CmdPtr));
}
+
+ return 0;
}
private static IpcMessage FillResponse(IpcMessage Response, long Result, params int[] Values)
diff --git a/Ryujinx.Core/OsHle/Ipc/IpcMessage.cs b/Ryujinx.Core/OsHle/Ipc/IpcMessage.cs
index d81f44bd..afcbb3a4 100644
--- a/Ryujinx.Core/OsHle/Ipc/IpcMessage.cs
+++ b/Ryujinx.Core/OsHle/Ipc/IpcMessage.cs
@@ -174,31 +174,6 @@ namespace Ryujinx.Core.OsHle.Ipc
return 0;
}
- public long GetSendBuffPtr()
- {
- if (SendBuff.Count > 0 && SendBuff[0].Size != 0)
- {
- return SendBuff[0].Position;
- }
-
- if (PtrBuff.Count > 0 && PtrBuff[0].Size != 0)
- {
- return PtrBuff[0].Position;
- }
-
- if (ReceiveBuff.Count > 0 && ReceiveBuff[0].Size != 0)
- {
- return ReceiveBuff[0].Position;
- }
-
- if (RecvListBuff.Count > 0 && RecvListBuff[0].Size != 0)
- {
- return RecvListBuff[0].Position;
- }
-
- return -1;
- }
-
public long GetBufferType0x21Position()
{
if (PtrBuff.Count > 0 && PtrBuff[0].Position != 0)