aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services
diff options
context:
space:
mode:
authormageven <62494521+mageven@users.noreply.github.com>2020-09-25 15:48:28 +0530
committerGitHub <noreply@github.com>2020-09-25 20:18:28 +1000
commit16e9d1567410de58b8b426fffc93d1a5fe33d834 (patch)
tree30e0b9923f11f519d20fc2142cc759c83d068fd5 /Ryujinx.HLE/HOS/Services
parentbd28ce90e6df04b5b15a5c1149523f3742af38cc (diff)
Isolate more services to separate threads (#1573)
* Isolate more services to separate threads * Fix DisplayServer * Add explanation for vi services
Diffstat (limited to 'Ryujinx.HLE/HOS/Services')
-rw-r--r--Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs2
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/IStaticServiceForGlue.cs2
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/IApplicationRootService.cs3
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/IManagerRootService.cs3
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/ISystemRootService.cs3
5 files changed, 8 insertions, 5 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs b/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
index a700b0ca..4001cfdd 100644
--- a/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
+++ b/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
@@ -35,7 +35,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
private HidAccelerometerParameters _accelerometerParams;
private HidVibrationValue _vibrationValue;
- public IHidServer(ServiceCtx context)
+ public IHidServer(ServiceCtx context) : base(new ServerBase("HidServer"))
{
_xpadIdEvent = new KEvent(context.Device.System.KernelContext);
_palmaOperationCompleteEvent = new KEvent(context.Device.System.KernelContext);
diff --git a/Ryujinx.HLE/HOS/Services/Time/IStaticServiceForGlue.cs b/Ryujinx.HLE/HOS/Services/Time/IStaticServiceForGlue.cs
index 605cbbbd..743b9e13 100644
--- a/Ryujinx.HLE/HOS/Services/Time/IStaticServiceForGlue.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/IStaticServiceForGlue.cs
@@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Services.Time
private IStaticServiceForPsc _inner;
private TimePermissions _permissions;
- public IStaticServiceForGlue(ServiceCtx context, TimePermissions permissions)
+ public IStaticServiceForGlue(ServiceCtx context, TimePermissions permissions) : base(new ServerBase("TimeServer"))
{
_permissions = permissions;
_inner = new IStaticServiceForPsc(context, permissions);
diff --git a/Ryujinx.HLE/HOS/Services/Vi/IApplicationRootService.cs b/Ryujinx.HLE/HOS/Services/Vi/IApplicationRootService.cs
index 3e853f02..22ffe656 100644
--- a/Ryujinx.HLE/HOS/Services/Vi/IApplicationRootService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/IApplicationRootService.cs
@@ -5,7 +5,8 @@ namespace Ryujinx.HLE.HOS.Services.Vi
[Service("vi:u")]
class IApplicationRootService : IpcService
{
- public IApplicationRootService(ServiceCtx context) : base(new ServerBase("ViServer")) { }
+ // vi:u/m/s aren't on 3 separate threads but we can't put them together with the current ServerBase
+ public IApplicationRootService(ServiceCtx context) : base(new ServerBase("ViServerU")) { }
[Command(0)]
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>
diff --git a/Ryujinx.HLE/HOS/Services/Vi/IManagerRootService.cs b/Ryujinx.HLE/HOS/Services/Vi/IManagerRootService.cs
index 31996ff1..a90690ea 100644
--- a/Ryujinx.HLE/HOS/Services/Vi/IManagerRootService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/IManagerRootService.cs
@@ -5,7 +5,8 @@ namespace Ryujinx.HLE.HOS.Services.Vi
[Service("vi:m")]
class IManagerRootService : IpcService
{
- public IManagerRootService(ServiceCtx context) { }
+ // vi:u/m/s aren't on 3 separate threads but we can't put them together with the current ServerBase
+ public IManagerRootService(ServiceCtx context) : base(new ServerBase("ViServerM")) { }
[Command(2)]
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>
diff --git a/Ryujinx.HLE/HOS/Services/Vi/ISystemRootService.cs b/Ryujinx.HLE/HOS/Services/Vi/ISystemRootService.cs
index 8d64e475..65b21613 100644
--- a/Ryujinx.HLE/HOS/Services/Vi/ISystemRootService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/ISystemRootService.cs
@@ -5,7 +5,8 @@ namespace Ryujinx.HLE.HOS.Services.Vi
[Service("vi:s")]
class ISystemRootService : IpcService
{
- public ISystemRootService(ServiceCtx context) { }
+ // vi:u/m/s aren't on 3 separate threads but we can't put them together with the current ServerBase
+ public ISystemRootService(ServiceCtx context) : base(new ServerBase("ViServerS")) { }
[Command(1)]
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>