IVB : Only apply D3DFVF_POSITION_MASK after potential fixups

This commit is contained in:
patrickvl 2018-03-14 00:43:50 +01:00
parent 7c0831e009
commit 7a43686214
1 changed files with 2 additions and 3 deletions

View File

@ -1062,10 +1062,8 @@ VOID XTL::EmuFlushIVB()
DbgPrintf("g_InlineVertexBuffer_TableOffset := %d\n", g_InlineVertexBuffer_TableOffset);
DWORD dwPos = dwCurFVF & D3DFVF_POSITION_MASK;
// Check the given FVF
switch (dwPos) {
switch (dwCurFVF & D3DFVF_POSITION_MASK) {
case 0: // No position ?
if (bFVF) {
EmuWarning("EmuFlushIVB(): g_CurrentVertexShader isn't a valid FVF - using D3DFVF_XYZRHW instead!");
@ -1086,6 +1084,7 @@ VOID XTL::EmuFlushIVB()
break;
}
DWORD dwPos = dwCurFVF & D3DFVF_POSITION_MASK;
DWORD dwTexN = (dwCurFVF & D3DFVF_TEXCOUNT_MASK) >> D3DFVF_TEXCOUNT_SHIFT;
size_t TexSize[X_D3DTS_STAGECOUNT]; // Xbox supports up to 4 textures (TEXTURE_STAGES)