mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	service/gsp: Migrate gsp_lcd to ServiceFramework
This commit is contained in:
		
							parent
							
								
									438751075f
								
							
						
					
					
						commit
						188979b3e2
					
				
					 5 changed files with 22 additions and 23 deletions
				
			
		|  | @ -11,6 +11,7 @@ namespace Service { | |||
| namespace GSP { | ||||
| 
 | ||||
| static std::weak_ptr<GSP_GPU> gsp_gpu; | ||||
| static std::weak_ptr<GSP_LCD> gsp_lcd; | ||||
| 
 | ||||
| FrameBufferUpdate* GetFrameBufferInfo(u32 thread_id, u32 screen_index) { | ||||
|     auto gpu = gsp_gpu.lock(); | ||||
|  | @ -27,8 +28,11 @@ void SignalInterrupt(InterruptId interrupt_id) { | |||
| void InstallInterfaces(SM::ServiceManager& service_manager) { | ||||
|     auto gpu = std::make_shared<GSP_GPU>(); | ||||
|     gpu->InstallAsService(service_manager); | ||||
| 
 | ||||
|     gsp_gpu = gpu; | ||||
| 
 | ||||
|     auto lcd = std::make_shared<GSP_LCD>(); | ||||
|     lcd->InstallAsService(service_manager); | ||||
|     gsp_lcd = lcd; | ||||
| } | ||||
| 
 | ||||
| } // namespace GSP
 | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
| #include "common/common_types.h" | ||||
| #include "core/hle/result.h" | ||||
| #include "core/hle/service/gsp/gsp_gpu.h" | ||||
| #include "core/hle/service/gsp/gsp_lcd.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace GSP { | ||||
|  |  | |||
|  | @ -2,28 +2,26 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/gsp/gsp_lcd.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace GSP { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // clang-format off
 | ||||
|     {0x000A0080, nullptr, "SetBrightnessRaw"}, | ||||
|     {0x000B0080, nullptr, "SetBrightness"}, | ||||
|     {0x000F0000, nullptr, "PowerOnAllBacklights"}, | ||||
|     {0x00100000, nullptr, "PowerOffAllBacklights"}, | ||||
|     {0x00110040, nullptr, "PowerOnBacklight"}, | ||||
|     {0x00120040, nullptr, "PowerOffBacklight"}, | ||||
|     {0x00130040, nullptr, "SetLedForceOff"}, | ||||
|     {0x00140000, nullptr, "GetVendor"}, | ||||
|     {0x00150040, nullptr, "GetBrightness"}, | ||||
|     // clang-format on
 | ||||
| GSP_LCD::GSP_LCD() : ServiceFramework("gsp::Lcd") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0x000A0080, nullptr, "SetBrightnessRaw"}, | ||||
|         {0x000B0080, nullptr, "SetBrightness"}, | ||||
|         {0x000F0000, nullptr, "PowerOnAllBacklights"}, | ||||
|         {0x00100000, nullptr, "PowerOffAllBacklights"}, | ||||
|         {0x00110040, nullptr, "PowerOnBacklight"}, | ||||
|         {0x00120040, nullptr, "PowerOffBacklight"}, | ||||
|         {0x00130040, nullptr, "SetLedForceOff"}, | ||||
|         {0x00140000, nullptr, "GetVendor"}, | ||||
|         {0x00150040, nullptr, "GetBrightness"}, | ||||
|     }; | ||||
|     RegisterHandlers(functions); | ||||
| }; | ||||
| 
 | ||||
| GSP_LCD::GSP_LCD() { | ||||
|     Register(FunctionTable); | ||||
| } | ||||
| 
 | ||||
| } // namespace GSP
 | ||||
| } // namespace Service
 | ||||
|  |  | |||
|  | @ -9,13 +9,10 @@ | |||
| namespace Service { | ||||
| namespace GSP { | ||||
| 
 | ||||
| class GSP_LCD final : public Interface { | ||||
| class GSP_LCD final : public ServiceFramework<GSP_LCD> { | ||||
| public: | ||||
|     GSP_LCD(); | ||||
| 
 | ||||
|     std::string GetPortName() const override { | ||||
|         return "gsp::Lcd"; | ||||
|     } | ||||
|     ~GSP_LCD() = default; | ||||
| }; | ||||
| 
 | ||||
| } // namespace GSP
 | ||||
|  |  | |||
|  | @ -258,7 +258,6 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) { | |||
| 
 | ||||
|     AddService(new CSND::CSND_SND); | ||||
|     AddService(new DSP_DSP::Interface); | ||||
|     AddService(new GSP::GSP_LCD); | ||||
|     AddService(new HTTP::HTTP_C); | ||||
|     AddService(new PM::PM_APP); | ||||
|     AddService(new SOC::SOC_U); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue