Mesa (master): zink: simplify shader-removal
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Mar 31 08:39:52 UTC 2021
Module: Mesa
Branch: master
Commit: b25188021d8940b4d5c405a9af1fd14721592d4e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b25188021d8940b4d5c405a9af1fd14721592d4e
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date: Mon Mar 29 16:32:08 2021 +0200
zink: simplify shader-removal
This is so trivial to do, so there's no need for the helper.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9898>
---
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);
}
More information about the mesa-commit
mailing list