From: Lionel Landwerlin Date: Mon, 16 Dec 2019 15:58:41 +0000 (+0200) Subject: mesa: avoid triggering assert in implementation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c8742ed858c6446c93bddec117abf467a393c35;p=mesa.git mesa: avoid triggering assert in implementation When tearing down a GL context with an active performance query, the implementation can be confused by a query marked active when it's being deleted. This shouldn't happen in the implementation because the context will already be idle. Signed-off-by: Lionel Landwerlin Cc: Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2235 Reviewed-by: Tapani Pälli Tested-by: Marge Bot Part-of: --- diff --git a/src/mesa/main/performance_query.c b/src/mesa/main/performance_query.c index b9e7cf9961b..1eaf0bb1a76 100644 --- a/src/mesa/main/performance_query.c +++ b/src/mesa/main/performance_query.c @@ -48,6 +48,12 @@ free_performance_query(GLuint key, void *data, void *user) struct gl_perf_query_object *m = data; struct gl_context *ctx = user; + /* Don't confuse the implementation by deleting an active query. We can + * toggle Active/Used to false because we're tearing down the GL context + * and it's already idle (see _mesa_free_context_data). + */ + m->Active = false; + m->Used = false; ctx->Driver.DeletePerfQuery(ctx, m); }