From 3b63317d934f4f9d12f78d2eb46339fb1f0d67be Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 29 Sep 2025 11:29:57 -0400 Subject: [PATCH] mesa: delete task and mesh programs on context destroy Reviewed-by: Qiang Yu Part-of: --- src/mesa/main/context.c | 3 +++ src/mesa/state_tracker/st_context.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 81167a380f5..77a6cc5c478 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -1088,6 +1088,9 @@ _mesa_free_context_data(struct gl_context *ctx, bool destroy_debug_output) _mesa_reference_program(ctx, &ctx->FragmentProgram._Current, NULL); _mesa_reference_program(ctx, &ctx->FragmentProgram._TexEnvProgram, NULL); + _mesa_reference_program(ctx, &ctx->TaskProgram._Current, NULL); + _mesa_reference_program(ctx, &ctx->MeshProgram._Current, NULL); + _mesa_reference_program(ctx, &ctx->ComputeProgram._Current, NULL); _mesa_reference_vao(ctx, &ctx->Array.VAO, NULL); diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 31d298825f3..8c72fc7a895 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -968,6 +968,8 @@ st_destroy_context(struct st_context *st) st_release_program(st, &st->tcp); st_release_program(st, &st->tep); st_release_program(st, &st->cp); + st_release_program(st, &st->tp); + st_release_program(st, &st->mp); if (st->hw_select_shaders) { hash_table_foreach(st->hw_select_shaders, entry)