From e52e8dd02e9754b38896bdd4d672925807a6d554 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Sat, 2 Mar 2024 13:32:32 +0100 Subject: [PATCH] zink: pass zink_screen to nir_to_spirv(). Reviewed-by: Alyssa Rosenzweig Reviewed-by: Faith Ekstrand Part-of: --- src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 3 ++- src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.h | 2 +- src/gallium/drivers/zink/zink_compiler.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index fd95acb09a1..16e5ff89eb7 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -4395,8 +4395,9 @@ get_spacing(enum gl_tess_spacing spacing) } struct spirv_shader * -nir_to_spirv(struct nir_shader *s, const struct zink_shader_info *sinfo, uint32_t spirv_version) +nir_to_spirv(struct nir_shader *s, const struct zink_shader_info *sinfo, const struct zink_screen *screen) { + const uint32_t spirv_version = screen->spirv_version; struct spirv_shader *ret = NULL; struct ntv_context ctx = {0}; diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.h b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.h index 67a56464d19..20ef2c07596 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.h +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.h @@ -47,7 +47,7 @@ struct pipe_stream_output_info; struct spirv_shader * nir_to_spirv(struct nir_shader *s, const struct zink_shader_info *so_info, - uint32_t spirv_version); + const struct zink_screen *screen); void spirv_shader_delete(struct spirv_shader *s); diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 8086119c856..9f6ea6adba7 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -3977,7 +3977,7 @@ compile_module(struct zink_screen *screen, struct zink_shader *zs, nir_shader *n } struct zink_shader_object obj = {0}; - struct spirv_shader *spirv = nir_to_spirv(nir, sinfo, screen->spirv_version); + struct spirv_shader *spirv = nir_to_spirv(nir, sinfo, screen); if (spirv) obj = zink_shader_spirv_compile(screen, zs, spirv, can_shobj, pg);