yuzu/src/core/hle/service/vi/vi.h

43 lines
1.1 KiB
C
Raw Normal View History

// Copyright 2018 yuzu emulator team
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/nvflinger/nvflinger.h"
#include "core/hle/service/service.h"
2018-01-09 02:58:59 +00:00
namespace CoreTiming {
struct EventType;
}
namespace Service::VI {
2018-04-03 03:28:45 +00:00
enum class DisplayResolution : u32 {
DockedWidth = 1920,
DockedHeight = 1080,
UndockedWidth = 1280,
UndockedHeight = 720,
};
2018-03-21 10:09:40 +00:00
class Module final {
public:
2018-03-21 10:09:40 +00:00
class Interface : public ServiceFramework<Interface> {
public:
explicit Interface(std::shared_ptr<Module> module, const char* name,
std::shared_ptr<NVFlinger::NVFlinger> nv_flinger);
2018-03-21 10:09:40 +00:00
void GetDisplayService(Kernel::HLERequestContext& ctx);
protected:
std::shared_ptr<Module> module;
std::shared_ptr<NVFlinger::NVFlinger> nv_flinger;
};
};
/// Registers all VI services with the specified service manager.
void InstallInterfaces(SM::ServiceManager& service_manager,
std::shared_ptr<NVFlinger::NVFlinger> nv_flinger);
} // namespace Service::VI