diff options
| author | Jules Blok <jules.blok@gmail.com> | 2015-06-10 00:00:12 +0200 |
|---|---|---|
| committer | Jules Blok <jules.blok@gmail.com> | 2015-06-10 00:00:12 +0200 |
| commit | 7dfced21a2e5aac7195e0e1ad76468e30306766b (patch) | |
| tree | bd671b639d3d911460b767caabad8fc8a759a6bf /Source/Core/VideoBackends/Software/SWCommandProcessor.h | |
| parent | c25be031fc1031d795157d8344b87b7841145197 (diff) | |
| parent | 7b0a65e295c784f9d573f2ef52d4e2a7b9bb2889 (diff) | |
Merge branch 'master' into stable
Diffstat (limited to 'Source/Core/VideoBackends/Software/SWCommandProcessor.h')
| -rw-r--r-- | Source/Core/VideoBackends/Software/SWCommandProcessor.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/Software/SWCommandProcessor.h b/Source/Core/VideoBackends/Software/SWCommandProcessor.h new file mode 100644 index 0000000000..539be4263f --- /dev/null +++ b/Source/Core/VideoBackends/Software/SWCommandProcessor.h @@ -0,0 +1,61 @@ +// Copyright 2009 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#pragma once + +#include "Common/CommonTypes.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 |
