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