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:
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user