aco: requires Exact for p_jump_to_epilog
Otherwise, in presence of p_exit_early_if the main FS will always jump to the PS epilog regardless the exact mask. This fixes dEQP-VK.draw.renderpass.shader_invocation.helper_invocation and few vkd3d-proton regressions when PS epilogs are forced. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17617>
This commit is contained in:

committed by
Marge Bot

parent
f3579a62e9
commit
e840ba9ed8
@@ -99,7 +99,11 @@ needs_exact(aco_ptr<Instruction>& instr)
|
||||
} else if (instr->isFlatLike()) {
|
||||
return instr->flatlike().disable_wqm;
|
||||
} else {
|
||||
return instr->isEXP();
|
||||
/* Require Exact for p_jump_to_epilog because if p_exit_early_if is
|
||||
* emitted inside the same block, the main FS will always jump to the PS
|
||||
* epilog without considering the exec mask.
|
||||
*/
|
||||
return instr->isEXP() || instr->opcode == aco_opcode::p_jump_to_epilog;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user