summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2016-03-23 20:04:55 +0100
committerdegasus <wickmarkus@web.de>2016-04-30 13:14:09 +0200
commit6f2d8483b7d8ce375c7946b8fd15555d34f5ac66 (patch)
tree0406a6bf70160184b0016c4398fd4959d4ba0456 /Source/Core/VideoBackends/Software/SWVertexLoader.cpp
parentb420abc90839056d8556c4a4ecd76acfa35d72cb (diff)
VideoSW: Fix special case.
I have no clue what this special case shall be, but accessing g_main_cp_state within Flush() is not allowed. We likely still have a bad behavior, but now it only depends on the current state, not on the next one after flushing.
Diffstat (limited to 'Source/Core/VideoBackends/Software/SWVertexLoader.cpp')
-rw-r--r--Source/Core/VideoBackends/Software/SWVertexLoader.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
index 9ab6e1c51b..a72eacd31c 100644
--- a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
+++ b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
@@ -154,10 +154,10 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType)
// special case if only pos and tex coord 0 and tex coord input is AB11
+ // http://libogc.devkitpro.org/gx_8h.html#a55a426a3ff796db584302bddd829f002
m_TexGenSpecialCase =
- ((g_main_cp_state.vtx_desc.Hex & 0x60600L) == g_main_cp_state.vtx_desc.Hex) && // only pos and tex coord 0
- (g_main_cp_state.vtx_desc.Tex0Coord != NOT_PRESENT) &&
- (xfmem.texMtxInfo[0].projection == XF_TEXPROJ_ST);
+ VertexLoaderManager::g_current_components == VB_HAS_UV0 &&
+ xfmem.texMtxInfo[0].projection == XF_TEXPROJ_ST;
}
template <typename T, typename I>