Avoid unnecessary division

This commit is contained in:
Luke Usher 2018-06-20 09:24:04 +01:00
parent d154d6c4c6
commit e567d23a40
1 changed files with 24 additions and 18 deletions

View File

@ -4027,12 +4027,11 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetVertexData2s)
LOG_FORWARD("D3DDevice_SetVertexData4f");
float fa = a / 32767.0f;
float fb = b / 32767.0f;
float fa, fb;
switch (Register) {
// Special case: If the input register is a color, don't transform!
// Test case: Halo
switch (Register) {
case X_D3DVSDE_DIFFUSE:
case X_D3DVSDE_SPECULAR:
case X_D3DVSDE_BACKDIFFUSE:
@ -4040,6 +4039,10 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetVertexData2s)
fa = a;
fb = b;
break;
default:
fa = a / 32767.0f;
fb = b / 32767.0f;
break;
}
EMUPATCH(D3DDevice_SetVertexData4f)(Register, fa, fb, 0.0f, 1.0f);
@ -4330,10 +4333,7 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetVertexData4s)
LOG_FORWARD("D3DDevice_SetVertexData4f");
float fa = a / 32767.0f;
float fb = b / 32767.0f;
float fc = c / 32767.0f;
float fd = d / 32767.0f;
float fa, fb, fc, fd;
// Special case: If the input register is a color, don't transform!
// Test case: Halo
@ -4347,6 +4347,12 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetVertexData4s)
fc = c;
fd = d;
break;
default:
fa = a / 32767.0f;
fb = b / 32767.0f;
fc = c / 32767.0f;
fd = d / 32767.0f;
break;
}
EMUPATCH(D3DDevice_SetVertexData4f)(Register, fa, fb, fc, fd);