mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-11-07 21:18:34 +00:00
Isolate more services to separate threads (#1573)
* Isolate more services to separate threads * Fix DisplayServer * Add explanation for vi services
This commit is contained in:
parent
bd28ce90e6
commit
16e9d15674
|
@ -35,7 +35,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
|
||||||
private HidAccelerometerParameters _accelerometerParams;
|
private HidAccelerometerParameters _accelerometerParams;
|
||||||
private HidVibrationValue _vibrationValue;
|
private HidVibrationValue _vibrationValue;
|
||||||
|
|
||||||
public IHidServer(ServiceCtx context)
|
public IHidServer(ServiceCtx context) : base(new ServerBase("HidServer"))
|
||||||
{
|
{
|
||||||
_xpadIdEvent = new KEvent(context.Device.System.KernelContext);
|
_xpadIdEvent = new KEvent(context.Device.System.KernelContext);
|
||||||
_palmaOperationCompleteEvent = new KEvent(context.Device.System.KernelContext);
|
_palmaOperationCompleteEvent = new KEvent(context.Device.System.KernelContext);
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Services.Time
|
||||||
private IStaticServiceForPsc _inner;
|
private IStaticServiceForPsc _inner;
|
||||||
private TimePermissions _permissions;
|
private TimePermissions _permissions;
|
||||||
|
|
||||||
public IStaticServiceForGlue(ServiceCtx context, TimePermissions permissions)
|
public IStaticServiceForGlue(ServiceCtx context, TimePermissions permissions) : base(new ServerBase("TimeServer"))
|
||||||
{
|
{
|
||||||
_permissions = permissions;
|
_permissions = permissions;
|
||||||
_inner = new IStaticServiceForPsc(context, permissions);
|
_inner = new IStaticServiceForPsc(context, permissions);
|
||||||
|
|
|
@ -5,7 +5,8 @@ namespace Ryujinx.HLE.HOS.Services.Vi
|
||||||
[Service("vi:u")]
|
[Service("vi:u")]
|
||||||
class IApplicationRootService : IpcService
|
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)]
|
[Command(0)]
|
||||||
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>
|
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>
|
||||||
|
|
|
@ -5,7 +5,8 @@ namespace Ryujinx.HLE.HOS.Services.Vi
|
||||||
[Service("vi:m")]
|
[Service("vi:m")]
|
||||||
class IManagerRootService : IpcService
|
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)]
|
[Command(2)]
|
||||||
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>
|
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>
|
||||||
|
|
|
@ -5,7 +5,8 @@ namespace Ryujinx.HLE.HOS.Services.Vi
|
||||||
[Service("vi:s")]
|
[Service("vi:s")]
|
||||||
class ISystemRootService : IpcService
|
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)]
|
[Command(1)]
|
||||||
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>
|
// GetDisplayService(u32) -> object<nn::visrv::sf::IApplicationDisplayService>
|
||||||
|
|
Loading…
Reference in a new issue