mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 08:10:09 +01:00
st/mesa: destroy only own program variants when program is released
Earlier commit tried to achieve this but actually did more. This makes
sure the variants for other contexts continue to live.
Fixes: de3d7dbed5 ("mesa/st: release variants for active programs before unref")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2865
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4831>
This commit is contained in:
parent
7e7bb38bd8
commit
46b3cb011f
1 changed files with 3 additions and 1 deletions
|
|
@ -70,6 +70,8 @@
|
|||
#include "cso_cache/cso_context.h"
|
||||
|
||||
|
||||
static void
|
||||
destroy_program_variants(struct st_context *st, struct gl_program *target);
|
||||
|
||||
static void
|
||||
set_affected_state_flags(uint64_t *states,
|
||||
|
|
@ -345,7 +347,7 @@ st_release_program(struct st_context *st, struct st_program **p)
|
|||
if (!*p)
|
||||
return;
|
||||
|
||||
st_release_variants(st, *p);
|
||||
destroy_program_variants(st, &((*p)->Base));
|
||||
st_reference_prog(st, p, NULL);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue