forked from dolphin-emu/dolphin
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright 2013 Dolphin Emulator Project
 | |
| // Licensed under GPLv2
 | |
| // Refer to the license.txt file included.
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include "Common/Common.h"
 | |
| 
 | |
| #include "VideoCommon/CommandProcessor.h"
 | |
| 
 | |
| class PointerWrap;
 | |
| namespace MMIO { class Mapping; }
 | |
| 
 | |
| namespace SWCommandProcessor
 | |
| {
 | |
| 	using UCPStatusReg = CommandProcessor::UCPStatusReg;
 | |
| 	using UCPCtrlReg = CommandProcessor::UCPCtrlReg;
 | |
| 	using UCPClearReg = CommandProcessor::UCPClearReg;
 | |
| 
 | |
| 	struct CPReg
 | |
| 	{
 | |
| 		UCPStatusReg status;    // 0x00
 | |
| 		UCPCtrlReg ctrl;        // 0x02
 | |
| 		UCPClearReg clear;      // 0x04
 | |
| 		u32 unk0;               // 0x08
 | |
| 		u16 unk1;               // 0x0c
 | |
| 		u16 token;              // 0x0e
 | |
| 		u16 bboxleft;           // 0x10
 | |
| 		u16 bboxtop;            // 0x12
 | |
| 		u16 bboxright;          // 0x14
 | |
| 		u16 bboxbottom;         // 0x16
 | |
| 		u32 unk2;               // 0x18
 | |
| 		u32 unk3;               // 0x1c
 | |
| 		u32 fifobase;           // 0x20
 | |
| 		u32 fifoend;            // 0x24
 | |
| 		u32 hiwatermark;        // 0x28
 | |
| 		u32 lowatermark;        // 0x2c
 | |
| 		u32 rwdistance;         // 0x30
 | |
| 		u32 writeptr;           // 0x34
 | |
| 		u32 readptr;            // 0x38
 | |
| 		u32 breakpt;            // 0x3c
 | |
| 	};
 | |
| 
 | |
| 	// Init
 | |
| 	void Init();
 | |
| 	void Shutdown();
 | |
| 	void DoState(PointerWrap &p);
 | |
| 
 | |
| 	void RegisterMMIO(MMIO::Mapping* mmio, u32 base);
 | |
| 
 | |
| 	bool RunBuffer();
 | |
| 	void RunGpu();
 | |
| 
 | |
| 	// for CGPFIFO
 | |
| 	void GatherPipeBursted();
 | |
| 	void UpdateInterrupts(u64 userdata);
 | |
| 	void UpdateInterruptsFromVideoBackend(u64 userdata);
 | |
| 
 | |
| 	void SetRendering(bool enabled);
 | |
| 
 | |
| } // end of namespace SWCommandProcessor
 |