mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	HW: Properly initialize and shutdown all modules.
This commit is contained in:
		
							parent
							
								
									e0cb85691a
								
							
						
					
					
						commit
						57aaaf92db
					
				
					 3 changed files with 8 additions and 3 deletions
				
			
		|  | @ -29,8 +29,7 @@ namespace GPU { | |||
| Regs g_regs; | ||||
| 
 | ||||
| /// True if the current frame was skipped
 | ||||
| bool g_skip_frame = false; | ||||
| 
 | ||||
| bool g_skip_frame; | ||||
| /// 268MHz / gpu_refresh_rate frames per second
 | ||||
| static u64 frame_ticks; | ||||
| /// Event id for CoreTiming
 | ||||
|  | @ -38,7 +37,7 @@ static int vblank_event; | |||
| /// Total number of frames drawn
 | ||||
| static u64 frame_count; | ||||
| /// True if the last frame was skipped
 | ||||
| static bool last_skip_frame = false; | ||||
| static bool last_skip_frame; | ||||
| 
 | ||||
| template <typename T> | ||||
| inline void Read(T &var, const u32 raw_addr) { | ||||
|  | @ -320,6 +319,8 @@ static void VBlankCallback(u64 userdata, int cycles_late) { | |||
| 
 | ||||
| /// Initialize hardware
 | ||||
| void Init() { | ||||
|     memset(&g_regs, 0, sizeof(g_regs)); | ||||
| 
 | ||||
|     auto& framebuffer_top = g_regs.framebuffer_config[0]; | ||||
|     auto& framebuffer_sub = g_regs.framebuffer_config[1]; | ||||
| 
 | ||||
|  | @ -349,6 +350,7 @@ void Init() { | |||
|     frame_ticks = 268123480 / Settings::values.gpu_refresh_rate; | ||||
|     last_skip_frame = false; | ||||
|     g_skip_frame = false; | ||||
|     frame_count = 0; | ||||
| 
 | ||||
|     vblank_event = CoreTiming::RegisterEvent("GPU::VBlankCallback", VBlankCallback); | ||||
|     CoreTiming::ScheduleEvent(frame_ticks, vblank_event); | ||||
|  |  | |||
|  | @ -63,6 +63,8 @@ void Init() { | |||
| 
 | ||||
| /// Shutdown hardware
 | ||||
| void Shutdown() { | ||||
|     GPU::Shutdown(); | ||||
|     LCD::Shutdown(); | ||||
|     LOG_DEBUG(HW, "shutdown OK"); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -55,6 +55,7 @@ template void Write<u8>(u32 addr, const u8 data); | |||
| 
 | ||||
| /// Initialize hardware
 | ||||
| void Init() { | ||||
|     memset(&g_regs, 0, sizeof(g_regs)); | ||||
|     LOG_DEBUG(HW_LCD, "initialized OK"); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue