The main fragment shader can only export MRTZ (if present) and the
epilog will export colors.
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/17485>
exported = true;
break;
}
- } else if ((*it)->definitions.size() && (*it)->definitions[0].physReg() == exec)
+ } else if ((*it)->definitions.size() && (*it)->definitions[0].physReg() == exec) {
break;
+ } else if ((*it)->opcode == aco_opcode::s_setpc_b64) {
+ /* Do not abort if the main FS has an epilog because it only
+ * exports MRTZ (if present) and the epilog exports colors.
+ */
+ exported |= program->stage.hw == HWStage::FS && program->info.ps.has_epilog;
+ }
++it;
}
}