mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
fix: RelaxedOrdering handling in BcsSplit path
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
8b4bca89bc
commit
7bb23818e6
@@ -74,6 +74,7 @@ struct BcsSplit {
|
||||
NEO::TransferDirection direction,
|
||||
std::function<ze_result_t(T, K, size_t, ze_event_handle_t)> appendCall) {
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
const bool hasStallingCmds = !hasRelaxedOrderingDependencies;
|
||||
|
||||
auto markerEventIndexRet = this->events.obtainForSplit(Context::fromHandle(cmdList->getCmdListContext()), MemoryConstants::pageSize64k / sizeof(typename CommandListCoreFamilyImmediate<gfxCoreFamily>::GfxFamily::TimestampPacketType));
|
||||
if (!markerEventIndexRet.has_value()) {
|
||||
@@ -120,7 +121,7 @@ struct BcsSplit {
|
||||
result = appendCall(localDstPtr, localSrcPtr, localSize, eventHandle);
|
||||
|
||||
if (cmdList->flushTaskSubmissionEnabled()) {
|
||||
cmdList->executeCommandListImmediateWithFlushTaskImpl(performMigration, false, hasRelaxedOrderingDependencies, false, cmdQsForSplit[i]);
|
||||
cmdList->executeCommandListImmediateWithFlushTaskImpl(performMigration, hasStallingCmds, hasRelaxedOrderingDependencies, false, cmdQsForSplit[i]);
|
||||
} else {
|
||||
cmdList->executeCommandListImmediateImpl(performMigration, cmdQsForSplit[i]);
|
||||
}
|
||||
|
||||
@@ -984,6 +984,17 @@ HWTEST2_F(CommandQueueCommandsXeHpc, givenFlushTaskSubmissionEnabledAndSplitBcsC
|
||||
EXPECT_EQ(static_cast<CommandQueueImp *>(static_cast<DeviceImp *>(testL0Device.get())->bcsSplit.cmdQs[3])->getCsr()->peekTaskCount(), 1u);
|
||||
EXPECT_TRUE(ultCsr->latestFlushedBatchBuffer.hasRelaxedOrderingDependencies);
|
||||
|
||||
commandList0->appendMemoryCopy(dstPtr, srcPtr, size, nullptr, 0, nullptr, false, false);
|
||||
EXPECT_TRUE(ultCsr->latestFlushedBatchBuffer.hasRelaxedOrderingDependencies);
|
||||
EXPECT_FALSE(ultCsr->latestFlushedBatchBuffer.hasStallingCmds);
|
||||
|
||||
directSubmission->relaxedOrderingEnabled = false;
|
||||
|
||||
commandList0->appendMemoryCopy(dstPtr, srcPtr, size, nullptr, 0, nullptr, false, false);
|
||||
|
||||
EXPECT_FALSE(ultCsr->latestFlushedBatchBuffer.hasRelaxedOrderingDependencies);
|
||||
EXPECT_TRUE(ultCsr->latestFlushedBatchBuffer.hasStallingCmds);
|
||||
|
||||
context->freeMem(srcPtr);
|
||||
context->freeMem(dstPtr);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user