Exemple #1
0
void PreprocessIndexedXF(u32 val, int refarray)
{
	int index = val >> 16;
	int size = ((val >> 12) & 0xF) + 1;

	u32* new_data = (u32*)Memory::GetPointer(g_preprocess_cp_state.array_bases[refarray] + g_preprocess_cp_state.array_strides[refarray] * index);

	size_t buf_size = size * sizeof(u32);
	PushFifoAuxBuffer(new_data, buf_size);
}
static void InterpretDisplayListPreprocess(u32 address, u32 size)
{
	u8* startAddress = Memory::GetPointer(address);

	PushFifoAuxBuffer(startAddress, size);

	if (startAddress != nullptr)
	{
		OpcodeDecoder_Run<true>(DataReader(startAddress, startAddress + size), nullptr, true);
	}
}
Exemple #3
0
__forceinline void InterpretDisplayListPreprocess(u32 address, u32 size)
{
	u8* startAddress = Memory::GetPointer(address);

	PushFifoAuxBuffer(startAddress, size);

	if (startAddress != nullptr)
	{
		DataReader dlist_reader(startAddress, startAddress + size);
		OpcodeDecoder_Run<true, false>(dlist_reader , nullptr);
	}
}