feature: new conditional bb_start mode + aub tests

Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2023-05-05 10:14:07 +00:00
committed by Compute-Runtime-Automation
parent b7d96314a0
commit c1f71ea7f7
3 changed files with 234 additions and 4 deletions

View File

@@ -911,16 +911,17 @@ void EncodeBatchBufferStartOrEnd<Family>::programConditionalBatchBufferStartBase
if ((compareOperation == CompareOperation::Equal) || (compareOperation == CompareOperation::NotEqual)) {
aluHelper.setNextAlu(AluRegisters::OPCODE_STORE, AluRegisters::R_7, AluRegisters::R_ZF);
} else {
UNRECOVERABLE_IF(compareOperation != CompareOperation::GreaterOrEqual);
} else if ((compareOperation == CompareOperation::GreaterOrEqual) || (compareOperation == CompareOperation::Less)) {
aluHelper.setNextAlu(AluRegisters::OPCODE_STORE, AluRegisters::R_7, AluRegisters::R_CF);
} else {
UNRECOVERABLE_IF(true);
}
aluHelper.copyToCmdStream(commandStream);
EncodeSetMMIO<Family>::encodeREG(commandStream, CS_PREDICATE_RESULT_2, CS_GPR_R7);
MiPredicateType predicateType = MiPredicateType::NoopOnResult2Clear; // Equal
MiPredicateType predicateType = MiPredicateType::NoopOnResult2Clear; // Equal or Less
if ((compareOperation == CompareOperation::NotEqual) || (compareOperation == CompareOperation::GreaterOrEqual)) {
predicateType = MiPredicateType::NoopOnResult2Set;
}