diff options
| author | Pokechu22 <Pokechu022@gmail.com> | 2021-01-03 23:22:48 -0800 |
|---|---|---|
| committer | Pokechu22 <Pokechu022@gmail.com> | 2021-01-03 23:22:48 -0800 |
| commit | e825af7b1b673bc265e3c865eca4b5b35297a9bc (patch) | |
| tree | 4dc6889f2316dcfbbca5180133f4ca036f622da8 /Source/Core/VideoBackends/Software/SWVertexLoader.cpp | |
| parent | e957ed0809c73417103010f91ba058dd7a96bf86 (diff) | |
Software: Remove normalization special case
The special case doesn't appear to make a significant difference in any games, and the current implementation has a (minor, fixable) issue that breaks Super Mario Sunshine (both with a failed assertion (https://bugs.dolphin-emu.org/issues/11742) and a rendering issue (https://bugs.dolphin-emu.org/issues/7476)). Hardware testing wasn't able to reproduce the special case, either, so it may just not exist.
PR #9315 contains a fixed implementation of the special case on all video backends, and can serve as a basis for it being reintroduced if it is found to exist under more specific circumstances. For now, I don't see a reason to keep it present.
Diffstat (limited to 'Source/Core/VideoBackends/Software/SWVertexLoader.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Software/SWVertexLoader.cpp | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp index 380d6dda0d..3e90f69614 100644 --- a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp +++ b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp @@ -84,7 +84,7 @@ void SWVertexLoader::DrawCurrentBatch(u32 base_index, u32 num_indices, u32 base_ &m_vertex, (VertexLoaderManager::g_current_components & VB_HAS_NRM2) != 0, outVertex); } TransformUnit::TransformColor(&m_vertex, outVertex); - TransformUnit::TransformTexCoord(&m_vertex, outVertex, m_tex_gen_special_case); + TransformUnit::TransformTexCoord(&m_vertex, outVertex); // assemble and rasterize the primitive m_setup_unit.SetupVertex(); @@ -120,11 +120,6 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) m_vertex.texMtx[5] = xfmem.MatrixIndexB.Tex5MtxIdx; m_vertex.texMtx[6] = xfmem.MatrixIndexB.Tex6MtxIdx; m_vertex.texMtx[7] = xfmem.MatrixIndexB.Tex7MtxIdx; - - // special case if only pos and tex coord 0 and tex coord input is AB11 - // http://libogc.devkitpro.org/gx_8h.html#a55a426a3ff796db584302bddd829f002 - m_tex_gen_special_case = VertexLoaderManager::g_current_components == VB_HAS_UV0 && - xfmem.texMtxInfo[0].projection == XF_TEXPROJ_ST; } template <typename T, typename I> |
