Mechanical changes to move most CP state to a struct rather than separate globals.

The next commit will add a separate copy of the struct and the ability
for LoadCPReg to work on it.
This commit is contained in:
comex
2014-08-27 13:26:06 -04:00
parent 90638c6806
commit f0131c2e09
16 changed files with 146 additions and 148 deletions

View File

@ -2,17 +2,22 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
#include "Common/ChunkFile.h"
#include "Common/CommonTypes.h"
#include "VideoCommon/CPMemory.h"
// CP state
u8 *cached_arraybases[16];
// STATE_TO_SAVE
u32 arraybases[16];
u32 arraystrides[16];
TMatrixIndexA MatrixIndexA;
TMatrixIndexB MatrixIndexB;
TVtxDesc g_VtxDesc;
// Most games only use the first VtxAttr and simply reconfigure it all the time as needed.
VAT g_VtxAttr[8];
CPState g_main_cp_state;
void DoCPState(PointerWrap& p)
{
p.DoArray(g_main_cp_state.array_bases, 16);
p.DoArray(g_main_cp_state.array_strides, 16);
p.Do(g_main_cp_state.matrix_index_a);
p.Do(g_main_cp_state.matrix_index_b);
p.Do(g_main_cp_state.vtx_desc.Hex);
p.DoArray(g_main_cp_state.vtx_attr, 8);
p.DoMarker("CP Memory");
}