mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
aco: move jump to epilog out of ic_merged_wave_info
TCS may be wrapped with if/else when merged shader. Jump to epilog or end with regs should not be inside it. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24442>
This commit is contained in:
parent
85d9646288
commit
7c7062f8f9
1 changed files with 5 additions and 5 deletions
|
|
@ -11287,6 +11287,11 @@ select_shader(isel_context& ctx, nir_shader* nir, const bool need_startpgm, cons
|
|||
nir_function_impl* func = nir_shader_get_entrypoint(nir);
|
||||
visit_cf_list(&ctx, &func->body);
|
||||
|
||||
if (endif_merged_wave_info) {
|
||||
begin_divergent_if_else(&ctx, ic_merged_wave_info);
|
||||
end_divergent_if(&ctx, ic_merged_wave_info);
|
||||
}
|
||||
|
||||
if (ctx.program->info.has_epilog) {
|
||||
if (ctx.stage == fragment_fs) {
|
||||
create_fs_jump_to_epilog(&ctx);
|
||||
|
|
@ -11300,11 +11305,6 @@ select_shader(isel_context& ctx, nir_shader* nir, const bool need_startpgm, cons
|
|||
}
|
||||
}
|
||||
|
||||
if (endif_merged_wave_info) {
|
||||
begin_divergent_if_else(&ctx, ic_merged_wave_info);
|
||||
end_divergent_if(&ctx, ic_merged_wave_info);
|
||||
}
|
||||
|
||||
cleanup_context(&ctx);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue