summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2018-03-14 09:46:33 +0100
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>2018-03-15 21:32:52 +0100
commitf02f1ad13fa4123986d17a5d04b0e2831c3a7091 (patch)
treebefa7008c2d5a805c05bad012f4af7dc1e51cee1
parent51783f3e7d720d4348a664c2aa61c57d2324b0e2 (diff)
Revert "mesa: do not trigger _NEW_TEXTURE_STATE in glActiveTexture()"
This reverts commit f314a532fdc7af8381586144d2631d9968331f05. This appears to introduce some blinking textures in UT2004. Not sure exactly what's the root cause because we don't have much information about the issue. Anyway, this was just a micro optimization that actually breaks, at least, one app almost one year later. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105436 Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
-rw-r--r--src/mesa/main/texstate.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
index f9f50a30054..9b64b64ae58 100644
--- a/src/mesa/main/texstate.c
+++ b/src/mesa/main/texstate.c
@@ -310,6 +310,19 @@ active_texture(GLenum texture, bool no_error)
}
}
+
+ /* The below flush call seems useless because
+ * gl_context::Texture::CurrentUnit is not used by
+ * _mesa_update_texture_state() and friends.
+ *
+ * However removing the flush
+ * introduced some blinking textures in UT2004. More investigation is
+ * needed to find the root cause.
+ *
+ * https://bugs.freedesktop.org/show_bug.cgi?id=105436
+ */
+ FLUSH_VERTICES(ctx, _NEW_TEXTURE_STATE);
+
ctx->Texture.CurrentUnit = texUnit;
if (ctx->Transform.MatrixMode == GL_TEXTURE) {
/* update current stack pointer */