From 4e2eeab90dbaf4a4b7f230d1f69824c3c2df7167 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Thu, 14 Mar 2024 00:06:59 +0100 Subject: [PATCH] radv: Pass key structures to gather intrinsic info. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No functional changes. The information in these structures will be needed in a later commit. Done separately to help keep that other commit cleaner. Signed-off-by: Timur Kristóf Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader_info.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index bd2b744d415..d4091484bbf 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -35,7 +35,9 @@ mark_sampler_desc(const nir_variable *var, struct radv_shader_info *info) } static void -gather_intrinsic_load_input_info(const nir_shader *nir, const nir_intrinsic_instr *instr, struct radv_shader_info *info) +gather_intrinsic_load_input_info(const nir_shader *nir, const nir_intrinsic_instr *instr, struct radv_shader_info *info, + const struct radv_graphics_state_key *gfx_state, + const struct radv_shader_stage_key *stage_key) { switch (nir->info.stage) { case MESA_SHADER_VERTEX: { @@ -131,6 +133,7 @@ gather_push_constant_info(const nir_shader *nir, const nir_intrinsic_instr *inst static void gather_intrinsic_info(const nir_shader *nir, const nir_intrinsic_instr *instr, struct radv_shader_info *info, + const struct radv_graphics_state_key *gfx_state, const struct radv_shader_stage_key *stage_key, bool consider_force_vrs) { switch (instr->intrinsic) { @@ -215,7 +218,7 @@ gather_intrinsic_info(const nir_shader *nir, const nir_intrinsic_instr *instr, s break; } case nir_intrinsic_load_input: - gather_intrinsic_load_input_info(nir, instr, info); + gather_intrinsic_load_input_info(nir, instr, info, gfx_state, stage_key); break; case nir_intrinsic_store_output: gather_intrinsic_store_output_info(nir, instr, info, consider_force_vrs); @@ -258,12 +261,14 @@ gather_tex_info(const nir_shader *nir, const nir_tex_instr *instr, struct radv_s } static void -gather_info_block(const nir_shader *nir, const nir_block *block, struct radv_shader_info *info, bool consider_force_vrs) +gather_info_block(const nir_shader *nir, const nir_block *block, struct radv_shader_info *info, + const struct radv_graphics_state_key *gfx_state, const struct radv_shader_stage_key *stage_key, + bool consider_force_vrs) { nir_foreach_instr (instr, block) { switch (instr->type) { case nir_instr_type_intrinsic: - gather_intrinsic_info(nir, nir_instr_as_intrinsic(instr), info, consider_force_vrs); + gather_intrinsic_info(nir, nir_instr_as_intrinsic(instr), info, gfx_state, stage_key, consider_force_vrs); break; case nir_instr_type_tex: gather_tex_info(nir, nir_instr_as_tex(instr), info); @@ -1199,7 +1204,7 @@ radv_nir_shader_info_pass(struct radv_device *device, const struct nir_shader *n } nir_foreach_block (block, func->impl) { - gather_info_block(nir, block, info, consider_force_vrs); + gather_info_block(nir, block, info, gfx_state, stage_key, consider_force_vrs); } if (nir->info.stage == MESA_SHADER_VERTEX || nir->info.stage == MESA_SHADER_TESS_EVAL ||