Files
dolphin/Source/Core/VideoBackends/Software/SWCommandProcessor.h
T

62 lines
1.5 KiB
C++
Raw Normal View History

// Copyright 2013 Dolphin Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
2010-06-09 01:37:08 +00:00
#pragma once
2014-09-07 20:06:58 -05:00
#include "Common/CommonTypes.h"
#include "VideoCommon/CommandProcessor.h"
2010-06-09 01:37:08 +00:00
class PointerWrap;
namespace MMIO { class Mapping; }
2010-06-09 01:37:08 +00:00
namespace SWCommandProcessor
2010-06-09 01:37:08 +00:00
{
using UCPStatusReg = CommandProcessor::UCPStatusReg;
using UCPCtrlReg = CommandProcessor::UCPCtrlReg;
using UCPClearReg = CommandProcessor::UCPClearReg;
2010-06-09 01:37:08 +00:00
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
};
2010-06-09 01:37:08 +00:00
// Init
void Init();
void Shutdown();
void DoState(PointerWrap &p);
2010-06-09 01:37:08 +00:00
void RegisterMMIO(MMIO::Mapping* mmio, u32 base);
bool RunBuffer();
void RunGpu();
2010-06-09 01:37:08 +00:00
// for CGPFIFO
void GatherPipeBursted();
void UpdateInterrupts(u64 userdata);
void UpdateInterruptsFromVideoBackend(u64 userdata);
2010-06-09 01:37:08 +00:00
void SetRendering(bool enabled);
2010-06-09 01:37:08 +00:00
} // end of namespace SWCommandProcessor