2019-07-14 19:04:38 +00:00
|
|
|
namespace Ryujinx.HLE.HOS.Services.Vi
|
|
|
|
{
|
|
|
|
enum ResultCode
|
|
|
|
{
|
|
|
|
ModuleId = 114,
|
|
|
|
ErrorCodeShift = 9,
|
|
|
|
|
|
|
|
Success = 0,
|
|
|
|
|
|
|
|
InvalidArguments = (1 << ErrorCodeShift) | ModuleId,
|
2020-07-23 10:25:41 +00:00
|
|
|
InvalidLayerSize = (4 << ErrorCodeShift) | ModuleId,
|
vi: Unify resolutions values and accurate implementation of them. (#2640)
* vi: Unify resolutions values and accurate implementation of them.
To continue what was made in #2618, I've REd `vi` service a bit. Now values and checks related to displays are more accurate.
- `am` GetDefaultDisplayResolution / GetDefaultDisplayResolutionChangeEvent have more informations on what the service does.
- `vi:u/vi:m/vi:s` GetDisplayService are now accurate.
- `IApplicationDisplay` GetRelayService, GetSystemDisplayService, GetManagerDisplayService, GetIndirectDisplayTransactionService, ListDisplays, OpenDisplay, OpenDefaultDisplay, CloseDisplay, GetDisplayResolution are now properly implemented.
- Some other calls are cleaned or have extra checks accordingly to RE.
Additionnaly, `IFriendService` have some wrong aligned things, and `pm:info` service placeholder was missing.
* just use _openedDisplayInfo.Remove()
* use context.Memory.Fill()
* fix some casting
* remove unneeded comment
* cleanup
* uses TryAdd
* displayId > ulong
* GetDisplayResolution > ulong
* UL
2021-09-19 10:57:39 +00:00
|
|
|
InvalidRange = (5 << ErrorCodeShift) | ModuleId,
|
|
|
|
InvalidScalingMode = (6 << ErrorCodeShift) | ModuleId,
|
|
|
|
InvalidValue = (7 << ErrorCodeShift) | ModuleId,
|
|
|
|
AlreadyOpened = (9 << ErrorCodeShift) | ModuleId
|
2019-07-14 19:04:38 +00:00
|
|
|
}
|
|
|
|
}
|