aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs29
1 files changed, 17 insertions, 12 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs b/Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs
index 076618d7..28702d6f 100644
--- a/Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs
@@ -1,26 +1,18 @@
using Ryujinx.Common.Logging;
-using Ryujinx.HLE.HOS.Ipc;
-using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Vi
{
class ISystemDisplayService : IpcService
{
- private Dictionary<int, ServiceProcessRequest> _commands;
-
- public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands;
+ private static IApplicationDisplayService _applicationDisplayService;
public ISystemDisplayService(IApplicationDisplayService applicationDisplayService)
{
- _commands = new Dictionary<int, ServiceProcessRequest>
- {
- { 2205, SetLayerZ },
- { 2207, SetLayerVisibility },
- { 2312, applicationDisplayService.CreateStrayLayer },
- { 3200, GetDisplayMode }
- };
+ _applicationDisplayService = applicationDisplayService;
}
+ [Command(2205)]
+ // SetLayerZ(u64, u64)
public static long SetLayerZ(ServiceCtx context)
{
Logger.PrintStub(LogClass.ServiceVi);
@@ -28,6 +20,8 @@ namespace Ryujinx.HLE.HOS.Services.Vi
return 0;
}
+ [Command(2207)]
+ // SetLayerVisibility(b8, u64)
public static long SetLayerVisibility(ServiceCtx context)
{
Logger.PrintStub(LogClass.ServiceVi);
@@ -35,6 +29,17 @@ namespace Ryujinx.HLE.HOS.Services.Vi
return 0;
}
+ [Command(2312)] // 1.0.0-6.2.0
+ // CreateStrayLayer(u32, u64) -> (u64, u64, buffer<bytes, 6>)
+ public static long CreateStrayLayer(ServiceCtx context)
+ {
+ Logger.PrintStub(LogClass.ServiceVi);
+
+ return _applicationDisplayService.CreateStrayLayer(context);
+ }
+
+ [Command(3200)]
+ // GetDisplayMode(u64) -> nn::vi::DisplayModeInfo
public static long GetDisplayMode(ServiceCtx context)
{
// TODO: De-hardcode resolution.