Mesa (master): st/mesa: fix geometry corruption by always re-binding vertex arrays

Marek Olšák mareko at kemper.freedesktop.org
Fri Feb 18 15:09:48 UTC 2011


Module: Mesa
Branch: master
Commit: bb46eeade3a3eb604aba5c084d1e21942c2fa2ac
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb46eeade3a3eb604aba5c084d1e21942c2fa2ac

Author: Marek Olšák <maraeo at gmail.com>
Date:   Thu Feb 17 16:17:34 2011 +0100

st/mesa: fix geometry corruption by always re-binding vertex arrays

This is a temporary workaround. It fixes sauerbrauten with shaders enabled.

I guess we might be changing vertex attribs somewhere and not updating
the appropriate dirty flags, therefore we can't rely on them for now.
Or maybe we need to make this state dependent on some other flags too.

More info:
https://bugs.freedesktop.org/show_bug.cgi?id=34378

---

 src/mesa/state_tracker/st_draw.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
index 830e3e3..5475e87 100644
--- a/src/mesa/state_tracker/st_draw.c
+++ b/src/mesa/state_tracker/st_draw.c
@@ -613,8 +613,10 @@ st_draw_vbo(struct gl_context *ctx,
    struct pipe_index_buffer ibuffer;
    struct pipe_draw_info info;
    unsigned i;
+   GLboolean new_array = GL_TRUE;
+   /* Fix this (Bug 34378):
    GLboolean new_array =
-         st->dirty.st && (st->dirty.mesa & (_NEW_ARRAY | _NEW_PROGRAM)) != 0;
+         st->dirty.st && (st->dirty.mesa & (_NEW_ARRAY | _NEW_PROGRAM)) != 0;*/
 
    /* Mesa core state should have been validated already */
    assert(ctx->NewState == 0x0);




More information about the mesa-commit mailing list