Temporarily (?) revert ffdba45b4b because of massive perf drop in GT, working around #5900

Not sure what to do about the Chinese Tactics Ogre though...
This commit is contained in:
Henrik Rydgard 2014-04-18 15:02:45 +02:00
parent 669dc74eb0
commit 247b171eb0

View file

@ -93,7 +93,7 @@ static const CommandTableEntry commandTable[] = {
{GE_CMD_TEXSIZE6, FLAG_FLUSHBEFOREONCHANGE | FLAG_EXECUTEONCHANGE, &GLES_GPU::Execute_TexSizeN},
{GE_CMD_TEXSIZE7, FLAG_FLUSHBEFOREONCHANGE | FLAG_EXECUTEONCHANGE, &GLES_GPU::Execute_TexSizeN},
{GE_CMD_TEXFORMAT, FLAG_FLUSHBEFOREONCHANGE | FLAG_EXECUTEONCHANGE, &GLES_GPU::Execute_TexFormat},
{GE_CMD_TEXLEVEL, FLAG_FLUSHBEFOREONCHANGE | FLAG_EXECUTEONCHANGE},
{GE_CMD_TEXLEVEL, FLAG_EXECUTEONCHANGE},
{GE_CMD_TEXADDR0, FLAG_FLUSHBEFOREONCHANGE | FLAG_EXECUTEONCHANGE, &GLES_GPU::Execute_TexAddr0},
{GE_CMD_TEXADDR1, FLAG_FLUSHBEFOREONCHANGE | FLAG_EXECUTEONCHANGE, &GLES_GPU::Execute_TexAddrN},
{GE_CMD_TEXADDR2, FLAG_FLUSHBEFOREONCHANGE | FLAG_EXECUTEONCHANGE, &GLES_GPU::Execute_TexAddrN},
@ -1720,6 +1720,14 @@ void GLES_GPU::ExecuteOpInternal(u32 op, u32 diff) {
#endif
case GE_CMD_TEXLEVEL:
// I had hoped that this would let us avoid excessively flushing in Gran Turismo, but not so,
// as the game switches rapidly between modes 0 and 1.
/*
if ((gstate.texlevel & 0x3) == 1) {
gstate.texlevel ^= diff;
Flush();
gstate.texlevel ^= diff;
}*/
gstate_c.textureChanged |= TEXCHANGE_PARAMSONLY;
break;