mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-05-12 22:22:41 +00:00
Add graphics FIFO recorder and player for debugging the graphics system.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7414 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
f8037e3ccf
commit
07c4da6084
35 changed files with 3275 additions and 6 deletions
Source/Core/VideoCommon/Src
|
@ -33,6 +33,7 @@
|
|||
#include "Core.h"
|
||||
#include "Host.h"
|
||||
#include "HW/Memmap.h"
|
||||
#include "FifoPlayer/FifoRecorder.h"
|
||||
|
||||
#include "VertexLoaderManager.h"
|
||||
|
||||
|
@ -50,6 +51,8 @@
|
|||
#include "VideoConfig.h"
|
||||
|
||||
u8* g_pVideoData = 0;
|
||||
bool g_bRecordFifoData = false;
|
||||
|
||||
#if _M_SSE >= 0x301
|
||||
DataReadU32xNfunc DataReadU32xFuncs_SSSE3[16] = {
|
||||
DataReadU32xN_SSSE3<1>,
|
||||
|
@ -254,6 +257,8 @@ bool FifoCommandRunnable()
|
|||
|
||||
static void Decode()
|
||||
{
|
||||
u8 *opcodeStart = g_pVideoData;
|
||||
|
||||
int cmd_byte = DataReadU8();
|
||||
switch (cmd_byte)
|
||||
{
|
||||
|
@ -338,10 +343,16 @@ static void Decode()
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Display lists get added directly into the FIFO stream
|
||||
if (g_bRecordFifoData && cmd_byte != GX_CMD_CALL_DL)
|
||||
FifoRecorder::GetInstance().WriteGPCommand(opcodeStart, g_pVideoData - opcodeStart);
|
||||
}
|
||||
|
||||
static void DecodeSemiNop()
|
||||
{
|
||||
u8 *opcodeStart = g_pVideoData;
|
||||
|
||||
int cmd_byte = DataReadU8();
|
||||
switch (cmd_byte)
|
||||
{
|
||||
|
@ -416,6 +427,9 @@ static void DecodeSemiNop()
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (g_bRecordFifoData && cmd_byte != GX_CMD_CALL_DL)
|
||||
FifoRecorder::GetInstance().WriteGPCommand(opcodeStart, g_pVideoData - opcodeStart);
|
||||
}
|
||||
|
||||
void OpcodeDecoder_Init()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue