radv: Always pass tess factors to epilogs in registers.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28371>
This commit is contained in:
Timur Kristóf
2024-03-25 15:47:16 +01:00
committed by Marge Bot
parent 542992d037
commit 53ab164234
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -153,7 +153,7 @@ radv_nir_lower_io_to_mem(struct radv_device *device, struct radv_shader_stage *s
NIR_PASS_V(nir, ac_nir_lower_hs_outputs_to_mem, map_output, device->physical_device->rad_info.gfx_level,
info->tcs.tes_reads_tess_factors, info->tcs.tes_inputs_read, info->tcs.tes_patch_inputs_read,
info->tcs.num_linked_outputs, info->tcs.num_linked_patch_outputs, info->wave_size, false, false,
!info->has_epilog, false);
!info->has_epilog, info->has_epilog);
return true;
} else if (nir->info.stage == MESA_SHADER_TESS_EVAL) {
+2 -1
View File
@@ -67,6 +67,7 @@ radv_aco_convert_shader_info(struct aco_shader_info *aco_info, const struct radv
aco_info->epilog_pc = radv_args->epilog_pc;
aco_info->hw_stage = radv_select_hw_stage(radv, gfx_level);
aco_info->tcs.tcs_offchip_layout = radv_args->tcs_offchip_layout;
aco_info->tcs.pass_tessfactors_by_reg = true;
aco_info->next_stage_pc = radv_args->next_stage_pc;
}
@@ -93,7 +94,7 @@ static inline void
radv_aco_convert_tcs_epilog_key(struct aco_tcs_epilog_info *aco_info, const struct radv_tcs_epilog_key *radv,
const struct radv_shader_args *radv_args)
{
aco_info->pass_tessfactors_by_reg = false;
aco_info->pass_tessfactors_by_reg = true;
ASSIGN_FIELD(tcs_out_patch_fits_subgroup);
ASSIGN_FIELD(primitive_mode);
ASSIGN_FIELD(tes_reads_tessfactors);