Display services: Difference between revisions
No edit summary |
|||
Line 36: | Line 36: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || GetDisplayService | | 0 || [[#GetDisplayService]] | ||
|- | |- | ||
|} | |} | ||
Line 52: | Line 52: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 1 || | | 1 || [[#GetDisplayService]] | ||
|- | |- | ||
| 3 || | | 3 || [[#GetDisplayServiceWithProxyNameExchange]] | ||
|- | |- | ||
|} | |} | ||
== GetDisplayService == | |||
Returns an [[#IApplicationDisplayService]]. Same input as vi:u. | |||
== GetDisplayServiceWithProxyNameExchange == | |||
Returns an [[#IApplicationDisplayService]]. | |||
= vi:m = | = vi:m = | ||
Line 63: | Line 69: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 2 || | | 2 || [[#GetDisplayService]] | ||
|- | |- | ||
| 3 || | | 3 || [[#GetDisplayServiceWithProxyNameExchange]] | ||
|- | |- | ||
|} | |} | ||
== GetDisplayService == | |||
Returns an [[#IApplicationDisplayService]]. Same input as vi:u. | |||
== GetDisplayServiceWithProxyNameExchange == | |||
Takes an input u64 and u32. Returns an [[#IApplicationDisplayService]]. | |||
= IApplicationDisplayService = | = IApplicationDisplayService = | ||
Line 76: | Line 88: | ||
! Cmd || Name || Notes | ! Cmd || Name || Notes | ||
|- | |- | ||
| 100 || | | 100 || [[#GetRelayService]] | ||
|- | |- | ||
| 101 || | | 101 || [[#GetSystemDisplayService]] | ||
|- | |- | ||
| 102 || | | 102 || [[#GetManagerDisplayService]] | ||
|- | |- | ||
| 103 || | | 103 || [[#GetIndirectDisplayTransactionService]] | ||
|- | |- | ||
| 1000 || ListDisplays | | 1000 || [[#ListDisplays]] | ||
|- | |- | ||
| 1010 || OpenDisplay | | 1010 || [[#OpenDisplay]] | ||
|- | |- | ||
| 1011 || OpenDefaultDisplay | | 1011 || [[#OpenDefaultDisplay]] | ||
|- | |- | ||
| 1020 || CloseDisplay | | 1020 || [[#CloseDisplay]] | ||
|- | |- | ||
| 1101 || SetDisplayEnabled | | 1101 || [[#SetDisplayEnabled]] | ||
|- | |- | ||
| 1102 || GetDisplayResolution | | 1102 || [[#GetDisplayResolution]] | ||
|- | |- | ||
| 2020 || OpenLayer | | 2020 || [[#OpenLayer]] | ||
|- | |- | ||
| 2021 || CloseLayer | | 2021 || [[#CloseLayer]] | ||
|- | |- | ||
| 2030 || CreateStrayLayer | | 2030 || [[#CreateStrayLayer]] | ||
|- | |- | ||
| 2031 || DestroyStrayLayer | | 2031 || [[#DestroyStrayLayer]] | ||
|- | |- | ||
| 2101 || SetLayerScalingMode | | 2101 || [[#SetLayerScalingMode]] | ||
|- | |- | ||
| 2450 || GetIndirectLayerImageMap | | 2450 || [[#GetIndirectLayerImageMap]] | ||
|- | |- | ||
| 2451 || GetIndirectLayerImageCropMap | | 2451 || [[#GetIndirectLayerImageCropMap]] | ||
|- | |- | ||
| 2460 || GetIndirectLayerImageRequiredMemoryInfo | | 2460 || [[#GetIndirectLayerImageRequiredMemoryInfo]] | ||
|- | |- | ||
| 5202 || GetDisplayVsyncEvent | | 5202 || [[#GetDisplayVsyncEvent]] | ||
|- | |- | ||
| 5203 || GetDisplayVsyncEventForDebug | | 5203 || [[#GetDisplayVsyncEventForDebug]] | ||
|- | |- | ||
|} | |} | ||
Line 126: | Line 138: | ||
These commands using PIDs have AppletResourceUserId as the last input u64, hence AppletResourceUserId must [[IPC_Marshalling|match]] the user-process PID(no special handling for value 0). | These commands using PIDs have AppletResourceUserId as the last input u64, hence AppletResourceUserId must [[IPC_Marshalling|match]] the user-process PID(no special handling for value 0). | ||
== GetRelayService == | |||
Returns an [[Nvnflinger_services#dispdrv|IHOSBinderDriver]] interface which abstracts "nn::visrv::service::RelayServiceImpl". | |||
== GetIndirectDisplayTransactionService == | |||
Returns an [[Nvnflinger_services#dispdrv|IHOSBinderDriver]] interface which abstracts "nn::visrv::service::IndirectDisplayTransactionServiceImpl". | |||
== GetSystemDisplayService == | |||
Returns an [[#ISystemDisplayService]]. | |||
== GetManagerDisplayService == | |||
Returns an [[#IManagerDisplayService]]. | |||
== ListDisplays == | == ListDisplays == | ||
Line 186: | Line 210: | ||
== GetDisplayVsyncEventForDebug == | == GetDisplayVsyncEventForDebug == | ||
Takes an input u64 DisplayId and returns a handle. | Takes an input u64 DisplayId and returns a handle. | ||
== ISystemDisplayService == | == ISystemDisplayService == | ||
Line 342: | Line 334: | ||
|} | |} | ||
=DisplayInfo= | = DisplayInfo = | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 362: | Line 354: | ||
The width/height for the "Default" Display is the resolution for 1080p even when in handheld-mode. | The width/height for the "Default" Display is the resolution for 1080p even when in handheld-mode. | ||
=DisplayName= | = DisplayName = | ||
This is a 0x40-byte block: a NUL-terminated string. | This is a 0x40-byte block: a NUL-terminated string. | ||
Can be "Default", "External", "Edid", "Internal" or "Null". | |||
= NativeWindow = | = NativeWindow = |