Mesa (main): radeonsi: use si_shader as parameter in si_get_nir_shader
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jun 27 03:16:28 UTC 2022
Module: Mesa
Branch: main
Commit: a5995766548b9cdd17fd0a14ba86fcb524c65cba
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a5995766548b9cdd17fd0a14ba86fcb524c65cba
Author: Qiang Yu <yuq825 at gmail.com>
Date: Fri May 27 17:32:45 2022 +0800
radeonsi: use si_shader as parameter in si_get_nir_shader
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Qiang Yu <yuq825 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705>
---
src/gallium/drivers/radeonsi/si_shader.c | 9 +++++----
src/gallium/drivers/radeonsi/si_shader_internal.h | 4 +---
src/gallium/drivers/radeonsi/si_shader_llvm.c | 5 ++---
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index c4d81298a27..a3f74e519f1 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -1526,11 +1526,12 @@ struct nir_shader *si_deserialize_shader(struct si_shader_selector *sel)
return nir_deserialize(NULL, options, &blob_reader);
}
-struct nir_shader *si_get_nir_shader(struct si_shader_selector *sel,
- const union si_shader_key *key,
- bool *free_nir,
+struct nir_shader *si_get_nir_shader(struct si_shader *shader, bool *free_nir,
uint64_t tcs_vgpr_only_inputs)
{
+ struct si_shader_selector *sel = shader->selector;
+ const union si_shader_key *key = &shader->key;
+
nir_shader *nir;
*free_nir = false;
@@ -1726,7 +1727,7 @@ bool si_compile_shader(struct si_screen *sscreen, struct ac_llvm_compiler *compi
{
struct si_shader_selector *sel = shader->selector;
bool free_nir;
- struct nir_shader *nir = si_get_nir_shader(sel, &shader->key, &free_nir, 0);
+ struct nir_shader *nir = si_get_nir_shader(shader, &free_nir, 0);
/* Assign param export indices. */
if ((sel->stage == MESA_SHADER_VERTEX ||
diff --git a/src/gallium/drivers/radeonsi/si_shader_internal.h b/src/gallium/drivers/radeonsi/si_shader_internal.h
index ee04b3708d7..3860095e4ba 100644
--- a/src/gallium/drivers/radeonsi/si_shader_internal.h
+++ b/src/gallium/drivers/radeonsi/si_shader_internal.h
@@ -173,9 +173,7 @@ bool si_vs_needs_prolog(const struct si_shader_selector *sel,
void si_get_vs_prolog_key(const struct si_shader_info *info, unsigned num_input_sgprs,
bool ngg_cull_shader, const struct si_vs_prolog_bits *prolog_key,
struct si_shader *shader_out, union si_shader_part_key *key);
-struct nir_shader *si_get_nir_shader(struct si_shader_selector *sel,
- const union si_shader_key *key,
- bool *free_nir,
+struct nir_shader *si_get_nir_shader(struct si_shader *shader, bool *free_nir,
uint64_t tcs_vgpr_only_inputs);
void si_get_tcs_epilog_key(struct si_shader *shader, union si_shader_part_key *key);
bool si_need_ps_prolog(const union si_shader_part_key *key);
diff --git a/src/gallium/drivers/radeonsi/si_shader_llvm.c b/src/gallium/drivers/radeonsi/si_shader_llvm.c
index 245ca5c4638..781352191e5 100644
--- a/src/gallium/drivers/radeonsi/si_shader_llvm.c
+++ b/src/gallium/drivers/radeonsi/si_shader_llvm.c
@@ -1254,8 +1254,7 @@ bool si_llvm_compile_shader(struct si_screen *sscreen, struct ac_llvm_compiler *
shader_ls.key.ge.opt.inline_uniforms = false; /* only TCS can inline uniforms */
shader_ls.is_monolithic = true;
- nir = si_get_nir_shader(ls, &shader_ls.key, &free_nir,
- sel->info.tcs_vgpr_only_inputs);
+ nir = si_get_nir_shader(&shader_ls, &free_nir, sel->info.tcs_vgpr_only_inputs);
si_update_shader_binary_info(shader, nir);
if (!si_llvm_translate_nir(&ctx, &shader_ls, nir, free_nir, false)) {
@@ -1315,7 +1314,7 @@ bool si_llvm_compile_shader(struct si_screen *sscreen, struct ac_llvm_compiler *
shader_es.key.ge.opt.kill_outputs = 0;
shader_es.is_monolithic = true;
- nir = si_get_nir_shader(es, &shader_es.key, &free_nir, 0);
+ nir = si_get_nir_shader(&shader_es, &free_nir, 0);
si_update_shader_binary_info(shader, nir);
if (!si_llvm_translate_nir(&ctx, &shader_es, nir, free_nir, false)) {
More information about the mesa-commit
mailing list