From 6094bf78c30f9b636844825e208a601019bec589 Mon Sep 17 00:00:00 2001 From: ame Date: Wed, 9 Oct 2024 17:37:40 -0500 Subject: delete unused shaders --- render/fx_renderer/fx_pass.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'render/fx_renderer/fx_pass.c') diff --git a/render/fx_renderer/fx_pass.c b/render/fx_renderer/fx_pass.c index 42e0fc7..5e6f25b 100644 --- a/render/fx_renderer/fx_pass.c +++ b/render/fx_renderer/fx_pass.c @@ -374,6 +374,7 @@ void fx_render_pass_add_rect_grad(struct fx_gles_render_pass *pass, struct fx_renderer *renderer = pass->buffer->renderer; if(renderer->shaders.quad_grad.max_len <= fx_options->gradient.count){ + glDeleteProgram(renderer->shaders.quad_grad.program); if(!link_quad_grad_program(&renderer->shaders.quad_grad, fx_options->gradient.count + 1)){ wlr_log(WLR_ERROR, "Could not link quad shader after updating max_len to %d. Aborting renderer", fx_options->gradient.count + 1); abort(); @@ -487,6 +488,7 @@ void fx_render_pass_add_rounded_rect_grad(struct fx_gles_render_pass *pass, } if(shader->max_len <= fx_options->gradient.count){ + glDeleteProgram(shader->program); if(!link_quad_grad_round_program(shader, corner, fx_options->gradient.count + 1)){ wlr_log(WLR_ERROR, "Could not link quad shader after updating max_len to %d. Aborting renderer", fx_options->gradient.count + 1); abort(); @@ -562,6 +564,7 @@ void fx_render_pass_add_rounded_grad_border_corner(struct fx_gles_render_pass *p struct fx_renderer *renderer = pass->buffer->renderer; if(renderer->shaders.rounded_grad_border_corner.max_len <= fx_options->gradient.count){ + glDeleteProgram(renderer->shaders.rounded_grad_border_corner.program); if(!link_rounded_grad_border_corner_program(&renderer->shaders.rounded_grad_border_corner, fx_options->gradient.count + 1)){ wlr_log(WLR_ERROR, "Could not link quad shader after updating max_len to %d. Aborting renderer", fx_options->gradient.count + 1); abort(); -- cgit v1.2.3