From: Marek Olšák Date: Thu, 17 Feb 2011 15:17:34 +0000 (+0100) Subject: st/mesa: fix geometry corruption by always re-binding vertex arrays X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bb46eeade3a3eb604aba5c084d1e21942c2fa2ac;p=mesa.git 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 --- diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 830e3e3c1bb..5475e87a49f 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);