From: Marek Olšák Date: Sun, 17 Jul 2016 18:32:46 +0000 (+0200) Subject: st/mesa: unreference optional shaders when unbinding X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1f73e2bb942783bf143185a58d2290fda2b08c81;p=mesa.git st/mesa: unreference optional shaders when unbinding Reviewed-by: Nicolai Hähnle --- diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c index b3401c48d52..7a23469cede 100644 --- a/src/mesa/state_tracker/st_atom_shader.c +++ b/src/mesa/state_tracker/st_atom_shader.c @@ -217,6 +217,7 @@ update_gp( struct st_context *st ) if (!st->ctx->GeometryProgram._Current) { cso_set_geometry_shader_handle(st->cso_context, NULL); + st_reference_geomprog(st, &st->gp, NULL); return; } @@ -245,6 +246,7 @@ update_tcp( struct st_context *st ) if (!st->ctx->TessCtrlProgram._Current) { cso_set_tessctrl_shader_handle(st->cso_context, NULL); + st_reference_tesscprog(st, &st->tcp, NULL); return; } @@ -273,6 +275,7 @@ update_tep( struct st_context *st ) if (!st->ctx->TessEvalProgram._Current) { cso_set_tesseval_shader_handle(st->cso_context, NULL); + st_reference_tesseprog(st, &st->tep, NULL); return; } @@ -301,6 +304,7 @@ update_cp( struct st_context *st ) if (!st->ctx->ComputeProgram._Current) { cso_set_compute_shader_handle(st->cso_context, NULL); + st_reference_compprog(st, &st->cp, NULL); return; }