diff options
author | mageven <62494521+mageven@users.noreply.github.com> | 2020-09-25 15:48:28 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-25 20:18:28 +1000 |
commit | 16e9d1567410de58b8b426fffc93d1a5fe33d834 (patch) | |
tree | 30e0b9923f11f519d20fc2142cc759c83d068fd5 /Ryujinx.HLE/HOS/Services | |
parent | bd28ce90e6df04b5b15a5c1149523f3742af38cc (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')
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> |