mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-04-26 22:38:34 +00:00
Reimplement Bounding Box calculation using the software renderer.
This commit is contained in:
parent
b7aed97508
commit
2d4b7e3f3f
13 changed files with 602 additions and 672 deletions
|
@ -16,6 +16,7 @@
|
|||
#include "Core/HW/ProcessorInterface.h"
|
||||
#include "VideoCommon/CommandProcessor.h"
|
||||
#include "VideoCommon/PixelEngine.h"
|
||||
#include "VideoCommon/BoundingBox.h"
|
||||
#include "VideoCommon/RenderBase.h"
|
||||
#include "VideoCommon/VideoCommon.h"
|
||||
|
||||
|
@ -106,9 +107,6 @@ static int et_SetFinishOnMainThread;
|
|||
static volatile u32 interruptSetToken = 0;
|
||||
static volatile u32 interruptSetFinish = 0;
|
||||
|
||||
u16 bbox[4];
|
||||
bool bbox_active;
|
||||
|
||||
enum
|
||||
{
|
||||
INT_CAUSE_PE_TOKEN = 0x200, // GP Token
|
||||
|
@ -128,9 +126,6 @@ void DoState(PointerWrap &p)
|
|||
p.Do(g_bSignalFinishInterrupt);
|
||||
p.Do(interruptSetToken);
|
||||
p.Do(interruptSetFinish);
|
||||
|
||||
p.Do(bbox);
|
||||
p.Do(bbox_active);
|
||||
}
|
||||
|
||||
void UpdateInterrupts();
|
||||
|
@ -155,13 +150,6 @@ void Init()
|
|||
|
||||
et_SetTokenOnMainThread = CoreTiming::RegisterEvent("SetToken", SetToken_OnMainThread);
|
||||
et_SetFinishOnMainThread = CoreTiming::RegisterEvent("SetFinish", SetFinish_OnMainThread);
|
||||
|
||||
bbox[0] = 0x80;
|
||||
bbox[1] = 0xA0;
|
||||
bbox[2] = 0x80;
|
||||
bbox[3] = 0xA0;
|
||||
|
||||
bbox_active = false;
|
||||
}
|
||||
|
||||
void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
|
@ -244,8 +232,8 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
|||
{
|
||||
mmio->Register(base | (PE_BBOX_LEFT + 2 * i),
|
||||
MMIO::ComplexRead<u16>([i](u32) {
|
||||
bbox_active = false;
|
||||
return bbox[i];
|
||||
BoundingBox::active = false;
|
||||
return BoundingBox::coords[i];
|
||||
}),
|
||||
MMIO::InvalidWrite<u16>()
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue