From 247b171eb04fc83973dcf15fa419f57e0d117f50 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Fri, 18 Apr 2014 15:02:45 +0200 Subject: [PATCH] Temporarily (?) revert ffdba45b4bbd because of massive perf drop in GT, working around #5900 Not sure what to do about the Chinese Tactics Ogre though... --- GPU/GLES/GLES_GPU.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/GPU/GLES/GLES_GPU.cpp b/GPU/GLES/GLES_GPU.cpp index 3c8790ca28..e41f9c3fb9 100644 --- a/GPU/GLES/GLES_GPU.cpp +++ b/GPU/GLES/GLES_GPU.cpp @@ -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;