From ec514a4d1b17e248927ea3b0f7beea53fbed3d99 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Wed, 10 Mar 2021 07:07:24 -0500 Subject: [PATCH] IApplicationDisplayService: Stub GetIndirectLayerImageMap Used by games invoking the inline software keyboard such as GNOSIA --- src/core/hle/service/vi/vi.cpp | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp index 8661895ae..7423287ea 100644 --- a/src/core/hle/service/vi/vi.cpp +++ b/src/core/hle/service/vi/vi.cpp @@ -1217,6 +1217,32 @@ private: } } + void GetIndirectLayerImageMap(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const auto width = rp.Pop(); + const auto height = rp.Pop(); + const auto indirect_layer_consumer_handle = rp.Pop(); + const auto applet_resource_user_id = rp.Pop(); + + LOG_WARNING(Service_VI, + "(STUBBED) called, width={}, height={}, indirect_layer_consumer_handle={}, " + "applet_resource_user_id={}", + width, height, indirect_layer_consumer_handle, applet_resource_user_id); + + std::vector out_buffer(0x46); + ctx.WriteBuffer(out_buffer); + + // TODO: Figure out what these are + + constexpr s64 unknown_result_1 = 0; + constexpr s64 unknown_result_2 = 0; + + IPC::ResponseBuilder rb{ctx, 6}; + rb.Push(unknown_result_1); + rb.Push(unknown_result_2); + rb.Push(RESULT_SUCCESS); + } + void GetIndirectLayerImageRequiredMemoryInfo(Kernel::HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const auto width = rp.Pop(); @@ -1276,7 +1302,7 @@ IApplicationDisplayService::IApplicationDisplayService(Core::System& system_, {2031, &IApplicationDisplayService::DestroyStrayLayer, "DestroyStrayLayer"}, {2101, &IApplicationDisplayService::SetLayerScalingMode, "SetLayerScalingMode"}, {2102, &IApplicationDisplayService::ConvertScalingMode, "ConvertScalingMode"}, - {2450, nullptr, "GetIndirectLayerImageMap"}, + {2450, &IApplicationDisplayService::GetIndirectLayerImageMap, "GetIndirectLayerImageMap"}, {2451, nullptr, "GetIndirectLayerImageCropMap"}, {2460, &IApplicationDisplayService::GetIndirectLayerImageRequiredMemoryInfo, "GetIndirectLayerImageRequiredMemoryInfo"},