From 25f29c2f4fd2415373f8af24fb61142ab4b343e6 Mon Sep 17 00:00:00 2001 From: Subv Date: Sun, 7 Jan 2018 21:27:58 -0500 Subject: NV: Implemented (with stubs) the vi:m service and some of its subservices. The homebrew display test application now properly writes graphics data to the graphics buffer but we still don't have a way to compose the display layers. --- src/core/hle/service/vi/vi.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/core/hle/service/vi/vi.h (limited to 'src/core/hle/service/vi/vi.h') diff --git a/src/core/hle/service/vi/vi.h b/src/core/hle/service/vi/vi.h new file mode 100644 index 000000000..fbc86498f --- /dev/null +++ b/src/core/hle/service/vi/vi.h @@ -0,0 +1,34 @@ +// Copyright 2018 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/hle/kernel/event.h" +#include "core/hle/service/service.h" + +namespace Service { +namespace VI { + +class IApplicationDisplayService final : public ServiceFramework { +public: + IApplicationDisplayService(); + ~IApplicationDisplayService() = default; + +private: + void GetRelayService(Kernel::HLERequestContext& ctx); + void GetSystemDisplayService(Kernel::HLERequestContext& ctx); + void GetManagerDisplayService(Kernel::HLERequestContext& ctx); + void OpenDisplay(Kernel::HLERequestContext& ctx); + void SetLayerScalingMode(Kernel::HLERequestContext& ctx); + void OpenLayer(Kernel::HLERequestContext& ctx); + void GetDisplayVsyncEvent(Kernel::HLERequestContext& ctx); + + Kernel::SharedPtr vsync_event; +}; + +/// Registers all VI services with the specified service manager. +void InstallInterfaces(SM::ServiceManager& service_manager); + +} // namespace VI +} // namespace Service -- cgit v1.2.3