// Copyright 2017 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #include #include "core/hle/kernel/event.h" #include "core/hle/kernel/shared_memory.h" #include "core/hle/service/gsp/gsp.h" namespace Service { namespace GSP { static std::weak_ptr gsp_gpu; static std::weak_ptr gsp_lcd; FrameBufferUpdate* GetFrameBufferInfo(u32 thread_id, u32 screen_index) { auto gpu = gsp_gpu.lock(); ASSERT(gpu != nullptr); return gpu->GetFrameBufferInfo(thread_id, screen_index); } void SignalInterrupt(InterruptId interrupt_id) { auto gpu = gsp_gpu.lock(); ASSERT(gpu != nullptr); return gpu->SignalInterrupt(interrupt_id); } void InstallInterfaces(SM::ServiceManager& service_manager) { auto gpu = std::make_shared(); gpu->InstallAsService(service_manager); gsp_gpu = gpu; auto lcd = std::make_shared(); lcd->InstallAsService(service_manager); gsp_lcd = lcd; } } // namespace GSP } // namespace Service