summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorraven02 <jacky.kktsui@yahoo.com.hk>2018-09-17 17:19:31 +0200
committerraven02 <jacky.kktsui@yahoo.com.hk>2018-09-30 04:04:03 +0200
commit409290768726c5864eb2c5283ebd41cfeb2fa8d7 (patch)
tree85c86df34568b2e7aa7781b4945d04455bf80026 /src/core
parentMerge pull request #1310 from lioncash/kernel-ns (diff)
downloadyuzu-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')
-rw-r--r--src/core/hle/service/vi/vi.cpp20
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> {