diff --git a/src/amd/vulkan/nir/radv_nir_lower_io.c b/src/amd/vulkan/nir/radv_nir_lower_io.c index cddbcb5c7cd..dafbc0a71b7 100644 --- a/src/amd/vulkan/nir/radv_nir_lower_io.c +++ b/src/amd/vulkan/nir/radv_nir_lower_io.c @@ -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) { diff --git a/src/amd/vulkan/radv_aco_shader_info.h b/src/amd/vulkan/radv_aco_shader_info.h index 77d09fb6730..fc4081f94fa 100644 --- a/src/amd/vulkan/radv_aco_shader_info.h +++ b/src/amd/vulkan/radv_aco_shader_info.h @@ -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);