// Copyright 2011 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license.txt file included. #pragma once #include "Common/CommonTypes.h" #include "VideoCommon/CPMemory.h" namespace FifoAnalyzer { void Init(); u8 ReadFifo8(const u8*& data); u16 ReadFifo16(const u8*& data); u32 ReadFifo32(const u8*& data); enum DecodeMode { DECODE_RECORD, DECODE_PLAYBACK, }; u32 AnalyzeCommand(const u8* data, DecodeMode mode); struct CPMemory { TVtxDesc vtxDesc; VAT vtxAttr[8]; u32 arrayBases[16]; u32 arrayStrides[16]; }; void LoadCPReg(u32 subCmd, u32 value, CPMemory& cpMem); void CalculateVertexElementSizes(int sizes[], int vatIndex, const CPMemory& cpMem); extern bool s_DrawingObject; extern FifoAnalyzer::CPMemory s_CpMem; }