diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/hle/service/am/applet_oe.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/hle/service/am/applet_oe.cpp b/src/core/hle/service/am/applet_oe.cpp index f593840b3..7d16b45f3 100644 --- a/src/core/hle/service/am/applet_oe.cpp +++ b/src/core/hle/service/am/applet_oe.cpp @@ -67,6 +67,7 @@ public: {14, &ISelfController::SetRestartMessageEnabled, "SetRestartMessageEnabled"}, {16, &ISelfController::SetOutOfFocusSuspendingEnabled, "SetOutOfFocusSuspendingEnabled"}, + {40, &ISelfController::CreateManagedDisplayLayer, "CreateManagedDisplayLayer"}, }; RegisterHandlers(functions); } @@ -147,6 +148,19 @@ private: LOG_WARNING(Service, "(STUBBED) called"); } + void CreateManagedDisplayLayer(Kernel::HLERequestContext& ctx) { + // TODO(Subv): Find out how AM determines the display to use, for now just create the layer + // in the Default display. + u64 display_id = nvflinger->OpenDisplay("Default"); + u64 layer_id = nvflinger->CreateLayer(display_id); + + IPC::RequestBuilder rb{ctx, 4}; + rb.Push(RESULT_SUCCESS); + rb.Push(layer_id); + + LOG_WARNING(Service, "(STUBBED) called"); + } + std::shared_ptr<NVFlinger::NVFlinger> nvflinger; }; |