Implemented GetDefaultDisplayResolution
This commit is contained in:
parent
fafc80d72e
commit
1a2d33eeb4
|
@ -20,6 +20,7 @@
|
||||||
#include "core/hle/service/nvflinger/nvflinger.h"
|
#include "core/hle/service/nvflinger/nvflinger.h"
|
||||||
#include "core/hle/service/pm/pm.h"
|
#include "core/hle/service/pm/pm.h"
|
||||||
#include "core/hle/service/set/set.h"
|
#include "core/hle/service/set/set.h"
|
||||||
|
#include "core/hle/service/vi/vi.h"
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
|
|
||||||
namespace Service::AM {
|
namespace Service::AM {
|
||||||
|
@ -334,7 +335,7 @@ ICommonStateGetter::ICommonStateGetter() : ServiceFramework("ICommonStateGetter"
|
||||||
{51, nullptr, "SetVrModeEnabled"},
|
{51, nullptr, "SetVrModeEnabled"},
|
||||||
{52, nullptr, "SwitchLcdBacklight"},
|
{52, nullptr, "SwitchLcdBacklight"},
|
||||||
{55, nullptr, "IsInControllerFirmwareUpdateSection"},
|
{55, nullptr, "IsInControllerFirmwareUpdateSection"},
|
||||||
{60, nullptr, "GetDefaultDisplayResolution"},
|
{60, &ICommonStateGetter::GetDefaultDisplayResolution, "GetDefaultDisplayResolution"},
|
||||||
{61, &ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent,
|
{61, &ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent,
|
||||||
"GetDefaultDisplayResolutionChangeEvent"},
|
"GetDefaultDisplayResolutionChangeEvent"},
|
||||||
{62, nullptr, "GetHdcpAuthenticationState"},
|
{62, nullptr, "GetHdcpAuthenticationState"},
|
||||||
|
@ -393,6 +394,21 @@ void ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent(Kernel::HLEReque
|
||||||
LOG_WARNING(Service_AM, "(STUBBED) called");
|
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) {
|
void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) {
|
||||||
const bool use_docked_mode{Settings::values.use_docked_mode};
|
const bool use_docked_mode{Settings::values.use_docked_mode};
|
||||||
IPC::ResponseBuilder rb{ctx, 3};
|
IPC::ResponseBuilder rb{ctx, 3};
|
||||||
|
|
|
@ -123,6 +123,7 @@ private:
|
||||||
void GetOperationMode(Kernel::HLERequestContext& ctx);
|
void GetOperationMode(Kernel::HLERequestContext& ctx);
|
||||||
void GetPerformanceMode(Kernel::HLERequestContext& ctx);
|
void GetPerformanceMode(Kernel::HLERequestContext& ctx);
|
||||||
void GetBootMode(Kernel::HLERequestContext& ctx);
|
void GetBootMode(Kernel::HLERequestContext& ctx);
|
||||||
|
void GetDefaultDisplayResolution(Kernel::HLERequestContext& ctx);
|
||||||
|
|
||||||
Kernel::SharedPtr<Kernel::Event> event;
|
Kernel::SharedPtr<Kernel::Event> event;
|
||||||
};
|
};
|
||||||
|
|
Reference in New Issue