2026-10-15 08:45:15 +02:00
|
|
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
|
2022-04-23 04:59:50 -04:00
|
|
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
2021-11-11 19:15:51 -08:00
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
2018-01-22 11:54:58 -05:00
|
|
|
|
2018-02-14 10:16:39 -07:00
|
|
|
#include "core/core.h"
|
2024-02-14 11:39:42 -05:00
|
|
|
#include "core/hle/service/nvnflinger/hos_binder_driver.h"
|
2023-02-19 15:05:34 -05:00
|
|
|
#include "core/hle/service/nvnflinger/hos_binder_driver_server.h"
|
|
|
|
|
#include "core/hle/service/nvnflinger/nvnflinger.h"
|
2024-02-14 23:44:05 -05:00
|
|
|
#include "core/hle/service/nvnflinger/surface_flinger.h"
|
2024-02-14 11:39:42 -05:00
|
|
|
#include "core/hle/service/server_manager.h"
|
|
|
|
|
#include "core/hle/service/sm/sm.h"
|
2018-01-22 11:54:58 -05:00
|
|
|
|
2023-02-19 15:05:34 -05:00
|
|
|
namespace Service::Nvnflinger {
|
2018-01-22 11:54:58 -05:00
|
|
|
|
2024-02-14 11:39:42 -05:00
|
|
|
void LoopProcess(Core::System& system) {
|
2024-02-14 23:44:05 -05:00
|
|
|
const auto binder_server = std::make_shared<HosBinderDriverServer>();
|
|
|
|
|
const auto surface_flinger = std::make_shared<SurfaceFlinger>(system, *binder_server);
|
2024-02-14 11:39:42 -05:00
|
|
|
|
|
|
|
|
auto server_manager = std::make_unique<ServerManager>(system);
|
|
|
|
|
server_manager->RegisterNamedService(
|
|
|
|
|
"dispdrv", std::make_shared<IHOSBinderDriver>(system, binder_server, surface_flinger));
|
|
|
|
|
ServerManager::RunServer(std::move(server_manager));
|
|
|
|
|
}
|
|
|
|
|
|
2023-02-19 15:05:34 -05:00
|
|
|
} // namespace Service::Nvnflinger
|