diff options
author | raven02 <jacky.kktsui@yahoo.com.hk> | 2018-09-17 17:19:31 +0200 |
---|---|---|
committer | raven02 <jacky.kktsui@yahoo.com.hk> | 2018-09-30 04:04:03 +0200 |
commit | 409290768726c5864eb2c5283ebd41cfeb2fa8d7 (patch) | |
tree | 85c86df34568b2e7aa7781b4945d04455bf80026 /src/core/hle/service | |
parent | Merge pull request #1310 from lioncash/kernel-ns (diff) | |
download | yuzu-409290768726c5864eb2c5283ebd41cfeb2fa8d7.tar yuzu-409290768726c5864eb2c5283ebd41cfeb2fa8d7.tar.gz yuzu-409290768726c5864eb2c5283ebd41cfeb2fa8d7.tar.bz2 yuzu-409290768726c5864eb2c5283ebd41cfeb2fa8d7.tar.lz yuzu-409290768726c5864eb2c5283ebd41cfeb2fa8d7.tar.xz yuzu-409290768726c5864eb2c5283ebd41cfeb2fa8d7.tar.zst yuzu-409290768726c5864eb2c5283ebd41cfeb2fa8d7.zip |
Diffstat (limited to 'src/core/hle/service')
-rw-r--r-- | src/core/hle/service/vi/vi.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp index cf94b00e6..015b42cfd 100644 --- a/src/core/hle/service/vi/vi.cpp +++ b/src/core/hle/service/vi/vi.cpp @@ -609,7 +609,7 @@ public: {3000, nullptr, "ListDisplayModes"}, {3001, nullptr, "ListDisplayRgbRanges"}, {3002, nullptr, "ListDisplayContentTypes"}, - {3200, nullptr, "GetDisplayMode"}, + {3200, &ISystemDisplayService::GetDisplayMode, "GetDisplayMode"}, {3201, nullptr, "SetDisplayMode"}, {3202, nullptr, "GetDisplayUnderscan"}, {3203, nullptr, "SetDisplayUnderscan"}, @@ -660,6 +660,24 @@ private: LOG_WARNING(Service_VI, "(STUBBED) called, layer_id=0x{:08X}, visibility={}", layer_id, visibility); } + + void GetDisplayMode(Kernel::HLERequestContext& ctx) { + IPC::ResponseBuilder rb{ctx, 6}; + 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)); + } + + rb.PushRaw<float>(60.0f); + rb.Push<u32>(0); + + LOG_DEBUG(Service_VI, "called"); + } }; class IManagerDisplayService final : public ServiceFramework<IManagerDisplayService> { |