aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorTapani Pälli <[email protected]>2020-04-02 12:54:17 +0300
committerTapani Pälli <[email protected]>2020-04-06 08:00:00 +0300
commit4822cc97007b0dae4d095c507efc182628510434 (patch)
tree1da57968af25d604cbcdcfa4bfc5aa6f9f55dfea /src/mesa
parent82597c46c3df19ba04fcb6694a5f4874cdc916ec (diff)
mesa/st: unbind shader state before deleting it
Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Cc: [email protected] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4386>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/state_tracker/st_context.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 846a76c1733..fa309436408 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -399,21 +399,27 @@ free_zombie_shaders(struct st_context *st)
switch (entry->type) {
case PIPE_SHADER_VERTEX:
+ st->pipe->bind_vs_state(st->pipe, NULL);
st->pipe->delete_vs_state(st->pipe, entry->shader);
break;
case PIPE_SHADER_FRAGMENT:
+ st->pipe->bind_fs_state(st->pipe, NULL);
st->pipe->delete_fs_state(st->pipe, entry->shader);
break;
case PIPE_SHADER_GEOMETRY:
+ st->pipe->bind_gs_state(st->pipe, NULL);
st->pipe->delete_gs_state(st->pipe, entry->shader);
break;
case PIPE_SHADER_TESS_CTRL:
+ st->pipe->bind_tcs_state(st->pipe, NULL);
st->pipe->delete_tcs_state(st->pipe, entry->shader);
break;
case PIPE_SHADER_TESS_EVAL:
+ st->pipe->bind_tes_state(st->pipe, NULL);
st->pipe->delete_tes_state(st->pipe, entry->shader);
break;
case PIPE_SHADER_COMPUTE:
+ st->pipe->bind_compute_state(st->pipe, NULL);
st->pipe->delete_compute_state(st->pipe, entry->shader);
break;
default: