From 6fac626193a077cba3154acf3820b30fc6f3e874 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mathias=20Fr=C3=B6hlich?= Date: Sun, 13 May 2018 09:18:57 +0200 Subject: [PATCH] mesa: The glArrayElement api is independent of the current program. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit All the shader program dependent handling is done on the level of the gl_Context::Array._DrawVAO/_DrawVAOEnabledAttribs. So, skip array element invalidation on _NEW_PROGRAM. Reviewed-by: Brian Paul Signed-off-by: Mathias Fröhlich --- src/mesa/main/api_arrayelt.c | 2 +- src/mesa/vbo/vbo_context.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c index 2dfa74f..afa3012 100644 --- a/src/mesa/main/api_arrayelt.c +++ b/src/mesa/main/api_arrayelt.c @@ -1823,7 +1823,7 @@ _ae_invalidate_state(struct gl_context *ctx) * Luckily, neither the drivers nor tnl muck with the state that * concerns us here: */ - assert(ctx->NewState & (_NEW_ARRAY | _NEW_PROGRAM)); + assert(ctx->NewState & _NEW_ARRAY); assert(!actx->mapped_vbos); actx->dirty_state = true; diff --git a/src/mesa/vbo/vbo_context.c b/src/mesa/vbo/vbo_context.c index ee2e31a..cf9405d 100644 --- a/src/mesa/vbo/vbo_context.c +++ b/src/mesa/vbo/vbo_context.c @@ -157,7 +157,7 @@ vbo_exec_invalidate_state(struct gl_context *ctx) struct vbo_context *vbo = vbo_context(ctx); struct vbo_exec_context *exec = &vbo->exec; - if (ctx->NewState & (_NEW_PROGRAM | _NEW_ARRAY)) { + if (ctx->NewState & _NEW_ARRAY) { _ae_invalidate_state(ctx); } if (ctx->NewState & _NEW_EVAL) -- 2.7.4