diff options
| author | Fiora <fioraaeterna@gmail.com> | 2014-11-11 01:48:38 -0800 |
|---|---|---|
| committer | Fiora <fioraaeterna@gmail.com> | 2014-11-20 02:13:19 -0800 |
| commit | 3ddf82a318eef8091d58255c712965e3271bb296 (patch) | |
| tree | 14372858775fe3449ecba35f2acb0bebc0eba6a7 /Source/Core/VideoBackends/Software/SWVertexLoader.cpp | |
| parent | da962a3d2b035875518df079fd286337e85de371 (diff) | |
Vertex Loader: SSE implementations of more position/texcoord/normal formats
~35-45% faster NFS:HP2, possibly other vertex-bound games.
Diffstat (limited to 'Source/Core/VideoBackends/Software/SWVertexLoader.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Software/SWVertexLoader.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp index c712115282..0612a743da 100644 --- a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp +++ b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp @@ -42,15 +42,15 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) { m_CurrentVat = &g_main_cp_state.vtx_attr[attributeIndex]; - posScale = 1.0f / float(1 << m_CurrentVat->g0.PosFrac); - tcScale[0] = 1.0f / float(1 << m_CurrentVat->g0.Tex0Frac); - tcScale[1] = 1.0f / float(1 << m_CurrentVat->g1.Tex1Frac); - tcScale[2] = 1.0f / float(1 << m_CurrentVat->g1.Tex2Frac); - tcScale[3] = 1.0f / float(1 << m_CurrentVat->g1.Tex3Frac); - tcScale[4] = 1.0f / float(1 << m_CurrentVat->g2.Tex4Frac); - tcScale[5] = 1.0f / float(1 << m_CurrentVat->g2.Tex5Frac); - tcScale[6] = 1.0f / float(1 << m_CurrentVat->g2.Tex6Frac); - tcScale[7] = 1.0f / float(1 << m_CurrentVat->g2.Tex7Frac); + posScale[0] = posScale[1] = posScale[2] = posScale[3] = 1.0f / float(1 << m_CurrentVat->g0.PosFrac); + tcScale[0][0] = tcScale[0][1] = 1.0f / float(1 << m_CurrentVat->g0.Tex0Frac); + tcScale[1][0] = tcScale[1][1] = 1.0f / float(1 << m_CurrentVat->g1.Tex1Frac); + tcScale[2][0] = tcScale[2][1] = 1.0f / float(1 << m_CurrentVat->g1.Tex2Frac); + tcScale[3][0] = tcScale[3][1] = 1.0f / float(1 << m_CurrentVat->g1.Tex3Frac); + tcScale[4][0] = tcScale[4][1] = 1.0f / float(1 << m_CurrentVat->g2.Tex4Frac); + tcScale[5][0] = tcScale[5][1] = 1.0f / float(1 << m_CurrentVat->g2.Tex5Frac); + tcScale[6][0] = tcScale[6][1] = 1.0f / float(1 << m_CurrentVat->g2.Tex6Frac); + tcScale[7][0] = tcScale[7][1] = 1.0f / float(1 << m_CurrentVat->g2.Tex7Frac); //TexMtx const u64 tmDesc[8] = { |
