mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 13:20:27 -06:00
zfreeze: cache vertex positions
Suggested by degasus.
This commit is contained in:
@ -32,7 +32,12 @@ void LOADERDECL Pos_ReadDirect(VertexLoader* loader)
|
||||
DataReader src(g_video_buffer_read_ptr, nullptr);
|
||||
|
||||
for (int i = 0; i < N; ++i)
|
||||
dst.Write(PosScale(src.Read<T>(), scale));
|
||||
{
|
||||
float value = PosScale(src.Read<T>(), scale);
|
||||
if (loader->m_counter < 3)
|
||||
VertexLoaderManager::position_cache[loader->m_counter][i] = value;
|
||||
dst.Write(value);
|
||||
}
|
||||
|
||||
g_vertex_manager_write_ptr = dst.GetPointer();
|
||||
g_video_buffer_read_ptr = src.GetPointer();
|
||||
@ -52,7 +57,12 @@ void LOADERDECL Pos_ReadIndex(VertexLoader* loader)
|
||||
DataReader dst(g_vertex_manager_write_ptr, nullptr);
|
||||
|
||||
for (int i = 0; i < N; ++i)
|
||||
dst.Write(PosScale(Common::FromBigEndian(data[i]), scale));
|
||||
{
|
||||
float value = PosScale(Common::FromBigEndian(data[i]), scale);
|
||||
if (loader->m_counter < 3)
|
||||
VertexLoaderManager::position_cache[loader->m_counter][i] = value;
|
||||
dst.Write(value);
|
||||
}
|
||||
|
||||
g_vertex_manager_write_ptr = dst.GetPointer();
|
||||
LOG_VTX();
|
||||
|
Reference in New Issue
Block a user