From: Mathias Fröhlich Date: Sun, 13 May 2018 07:18:57 +0000 (+0200) Subject: mesa: The glArrayElement api is independent of the current program. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6fac626193a077cba3154acf3820b30fc6f3e874;p=mesa.git mesa: The glArrayElement api is independent of the current program. 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 --- diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c index 2dfa74f64b3..afa30120211 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 ee2e31ab7a2..cf9405df3dc 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)