Mesa (main): zink: fix descriptor interface param for program_deinit
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Oct 19 18:21:04 UTC 2021
Module: Mesa
Branch: main
Commit: 6d937298818220294be740cc6b3341807951acf6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d937298818220294be740cc6b3341807951acf6
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Wed Oct 13 10:03:34 2021 -0400
zink: fix descriptor interface param for program_deinit
this should match the _init() method and take the context
Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
---
src/gallium/drivers/zink/zink_descriptors.c | 5 +++--
src/gallium/drivers/zink/zink_descriptors.h | 4 ++--
src/gallium/drivers/zink/zink_descriptors_lazy.c | 3 ++-
src/gallium/drivers/zink/zink_program.c | 4 ++--
src/gallium/drivers/zink/zink_screen.h | 2 +-
5 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c
index a8693465df7..03445ae7dd4 100644
--- a/src/gallium/drivers/zink/zink_descriptors.c
+++ b/src/gallium/drivers/zink/zink_descriptors.c
@@ -1087,14 +1087,15 @@ zink_descriptor_program_init(struct zink_context *ctx, struct zink_program *pg)
}
void
-zink_descriptor_program_deinit(struct zink_screen *screen, struct zink_program *pg)
+zink_descriptor_program_deinit(struct zink_context *ctx, struct zink_program *pg)
{
+ struct zink_screen *screen = zink_screen(ctx->base.screen);
if (!pg->dd)
return;
for (unsigned i = 0; i < ZINK_DESCRIPTOR_TYPES; i++)
zink_descriptor_pool_reference(screen, &pdd_cached(pg)->pool[i], NULL);
- zink_descriptor_program_deinit_lazy(screen, pg);
+ zink_descriptor_program_deinit_lazy(ctx, pg);
}
static void
diff --git a/src/gallium/drivers/zink/zink_descriptors.h b/src/gallium/drivers/zink/zink_descriptors.h
index a66c2e6915a..622726255e6 100644
--- a/src/gallium/drivers/zink/zink_descriptors.h
+++ b/src/gallium/drivers/zink/zink_descriptors.h
@@ -239,7 +239,7 @@ bool
zink_descriptor_program_init(struct zink_context *ctx, struct zink_program *pg);
void
-zink_descriptor_program_deinit(struct zink_screen *screen, struct zink_program *pg);
+zink_descriptor_program_deinit(struct zink_context *ctx, struct zink_program *pg);
void
zink_descriptors_update(struct zink_context *ctx, bool is_compute);
@@ -273,7 +273,7 @@ bool
zink_descriptor_program_init_lazy(struct zink_context *ctx, struct zink_program *pg);
void
-zink_descriptor_program_deinit_lazy(struct zink_screen *screen, struct zink_program *pg);
+zink_descriptor_program_deinit_lazy(struct zink_context *ctx, struct zink_program *pg);
void
zink_descriptors_update_lazy(struct zink_context *ctx, bool is_compute);
diff --git a/src/gallium/drivers/zink/zink_descriptors_lazy.c b/src/gallium/drivers/zink/zink_descriptors_lazy.c
index 480e02dd8b5..d2c50460a0f 100644
--- a/src/gallium/drivers/zink/zink_descriptors_lazy.c
+++ b/src/gallium/drivers/zink/zink_descriptors_lazy.c
@@ -304,8 +304,9 @@ zink_descriptor_program_init_lazy(struct zink_context *ctx, struct zink_program
}
void
-zink_descriptor_program_deinit_lazy(struct zink_screen *screen, struct zink_program *pg)
+zink_descriptor_program_deinit_lazy(struct zink_context *ctx, struct zink_program *pg)
{
+ struct zink_screen *screen = zink_screen(ctx->base.screen);
for (unsigned i = 0; pg->num_dsl && i < ZINK_DESCRIPTOR_TYPES; i++) {
if (pg->dd->layout_key[i])
pg->dd->layout_key[i]->use_count--;
diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c
index 7caf7618cca..393f2c10a78 100644
--- a/src/gallium/drivers/zink/zink_program.c
+++ b/src/gallium/drivers/zink/zink_program.c
@@ -597,7 +597,7 @@ zink_destroy_gfx_program(struct zink_context *ctx,
}
if (prog->base.pipeline_cache)
VKSCR(DestroyPipelineCache)(screen->dev, prog->base.pipeline_cache, NULL);
- screen->descriptor_program_deinit(screen, &prog->base);
+ screen->descriptor_program_deinit(ctx, &prog->base);
ralloc_free(prog);
}
@@ -624,7 +624,7 @@ zink_destroy_compute_program(struct zink_context *ctx,
free(comp->module);
if (comp->base.pipeline_cache)
VKSCR(DestroyPipelineCache)(screen->dev, comp->base.pipeline_cache, NULL);
- screen->descriptor_program_deinit(screen, &comp->base);
+ screen->descriptor_program_deinit(ctx, &comp->base);
ralloc_free(comp);
}
diff --git a/src/gallium/drivers/zink/zink_screen.h b/src/gallium/drivers/zink/zink_screen.h
index 4a30ef5adba..23f7fbafd54 100644
--- a/src/gallium/drivers/zink/zink_screen.h
+++ b/src/gallium/drivers/zink/zink_screen.h
@@ -143,7 +143,7 @@ struct zink_screen {
struct vk_dispatch_table vk;
bool (*descriptor_program_init)(struct zink_context *ctx, struct zink_program *pg);
- void (*descriptor_program_deinit)(struct zink_screen *screen, struct zink_program *pg);
+ void (*descriptor_program_deinit)(struct zink_context *ctx, struct zink_program *pg);
void (*descriptors_update)(struct zink_context *ctx, bool is_compute);
void (*context_update_descriptor_states)(struct zink_context *ctx, bool is_compute);
void (*context_invalidate_descriptor_state)(struct zink_context *ctx, enum pipe_shader_type shader,
More information about the mesa-commit
mailing list