Implement ISystemDisplayService::GetDisplayMode
This commit is contained in:
		| @@ -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> { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 raven02
					raven02