1 // Copyright 2011 Dolphin Emulator Project
2 // Licensed under GPLv2+
3 // Refer to the license.txt file included.
4 
5 #pragma once
6 
7 #include <array>
8 
9 #include "Common/CommonTypes.h"
10 #include "VideoCommon/CPMemory.h"
11 
12 namespace FifoAnalyzer
13 {
14 enum class DecodeMode
15 {
16   Record,
17   Playback,
18 };
19 
20 u32 AnalyzeCommand(const u8* data, DecodeMode mode);
21 
22 struct CPMemory
23 {
24   TVtxDesc vtxDesc;
25   std::array<VAT, 8> vtxAttr;
26   std::array<u32, 16> arrayBases;
27   std::array<u32, 16> arrayStrides;
28 };
29 
30 void LoadCPReg(u32 subCmd, u32 value, CPMemory& cpMem);
31 
32 extern bool s_DrawingObject;
33 extern FifoAnalyzer::CPMemory s_CpMem;
34 }  // namespace FifoAnalyzer
35