diff options
| author | David Marcec <dmarcecguzman@gmail.com> | 2018-09-19 01:10:16 +1000 | 
|---|---|---|
| committer | David Marcec <dmarcecguzman@gmail.com> | 2018-09-19 01:10:16 +1000 | 
| commit | 1a2d33eeb40701e5b9e790783755f5a5aa225fa1 (patch) | |
| tree | 97945758873ec01ee7f0664e69bf0dfde83b3e5c /src/core/hle | |
| parent | fafc80d72ec56b7e6f9b66e3f26a302bcf2396ac (diff) | |
Implemented GetDefaultDisplayResolution
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 18 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.h | 1 | 
2 files changed, 18 insertions, 1 deletions
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index d1f7007ec..9c975325a 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp @@ -20,6 +20,7 @@  #include "core/hle/service/nvflinger/nvflinger.h"  #include "core/hle/service/pm/pm.h"  #include "core/hle/service/set/set.h" +#include "core/hle/service/vi/vi.h"  #include "core/settings.h"  namespace Service::AM { @@ -334,7 +335,7 @@ ICommonStateGetter::ICommonStateGetter() : ServiceFramework("ICommonStateGetter"          {51, nullptr, "SetVrModeEnabled"},          {52, nullptr, "SwitchLcdBacklight"},          {55, nullptr, "IsInControllerFirmwareUpdateSection"}, -        {60, nullptr, "GetDefaultDisplayResolution"}, +        {60, &ICommonStateGetter::GetDefaultDisplayResolution, "GetDefaultDisplayResolution"},          {61, &ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent,           "GetDefaultDisplayResolutionChangeEvent"},          {62, nullptr, "GetHdcpAuthenticationState"}, @@ -393,6 +394,21 @@ void ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent(Kernel::HLEReque      LOG_WARNING(Service_AM, "(STUBBED) called");  } +void ICommonStateGetter::GetDefaultDisplayResolution(Kernel::HLERequestContext& ctx) { +    IPC::ResponseBuilder rb{ctx, 4}; +    rb.Push(RESULT_SUCCESS); + +    if (Settings::values.use_docked_mode) { +        rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedWidth)); +        rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedHeight)); +    } else { +        rb.Push(static_cast<u32>(Service::VI::DisplayResolution::UndockedWidth)); +        rb.Push(static_cast<u32>(Service::VI::DisplayResolution::UndockedHeight)); +    } + +    LOG_DEBUG(Service_AM, "called"); +} +  void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) {      const bool use_docked_mode{Settings::values.use_docked_mode};      IPC::ResponseBuilder rb{ctx, 3}; diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index fd9ae296b..b39b0d838 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h @@ -123,6 +123,7 @@ private:      void GetOperationMode(Kernel::HLERequestContext& ctx);      void GetPerformanceMode(Kernel::HLERequestContext& ctx);      void GetBootMode(Kernel::HLERequestContext& ctx); +    void GetDefaultDisplayResolution(Kernel::HLERequestContext& ctx);      Kernel::SharedPtr<Kernel::Event> event;  };  | 
