diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c index d47f3ad4ba4..228aeb72662 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -4116,6 +4116,18 @@ VkResult lvp_execute_cmds(struct lvp_device *device, } } + for (enum pipe_shader_type s = PIPE_SHADER_VERTEX; s < PIPE_SHADER_TYPES; s++) { + for (unsigned i = 0; i < PIPE_MAX_SAMPLERS; i++) { + if (state.sv[s][i]) + pipe_sampler_view_reference(&state.sv[s][i], NULL); + } + } + + for (unsigned i = 0; i < PIPE_MAX_SAMPLERS; i++) { + if (state.cso_ss_ptr[PIPE_SHADER_COMPUTE][i]) + state.pctx->delete_sampler_state(state.pctx, state.ss_cso[PIPE_SHADER_COMPUTE][i]); + } + free(state.imageless_views); free(state.pending_clear_aspects); free(state.cleared_views);