From b25188021d8940b4d5c405a9af1fd14721592d4e Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 29 Mar 2021 16:32:08 +0200 Subject: [PATCH] zink: simplify shader-removal This is so trivial to do, so there's no need for the helper. Reviewed-By: Mike Blumenkrantz Part-of: --- src/gallium/drivers/zink/zink_program.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index e2f55c867c5..0424a78e039 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -787,16 +787,6 @@ zink_program_num_descriptors(const struct zink_program *pg) return num_descriptors; } -static void -gfx_program_remove_shader(struct zink_gfx_program *prog, struct zink_shader *shader) -{ - enum pipe_shader_type p_stage = pipe_shader_type_from_mesa(shader->nir->info.stage); - assert(p_stage < ZINK_SHADER_COUNT); - assert(prog->shaders[p_stage] == shader); - prog->shaders[p_stage] = NULL; - _mesa_set_remove_key(shader->programs, prog); -} - void zink_destroy_gfx_program(struct zink_screen *screen, struct zink_gfx_program *prog) @@ -805,8 +795,10 @@ zink_destroy_gfx_program(struct zink_screen *screen, vkDestroyPipelineLayout(screen->dev, prog->base.layout, NULL); for (int i = 0; i < ZINK_SHADER_COUNT; ++i) { - if (prog->shaders[i]) - gfx_program_remove_shader(prog, prog->shaders[i]); + if (prog->shaders[i]) { + _mesa_set_remove_key(prog->shaders[i]->programs, prog); + prog->shaders[i] = NULL; + } if (prog->modules[i]) zink_shader_module_reference(screen, &prog->modules[i], NULL); }