mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Fix multitile tag initialization for AubCsr
Before this change, only Tile0 tag was initialized Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
479c97beaf
commit
10f329768f
@ -317,12 +317,21 @@ HWTEST_F(CommandStreamReceiverWithAubDumpSimpleTest, givenCsrWithAubDumpWhenCrea
|
||||
mockAubCenter->aubManager = std::unique_ptr<MockAubManager>(new MockAubManager());
|
||||
|
||||
executionEnvironment->rootDeviceEnvironments[0]->aubCenter = std::unique_ptr<MockAubCenter>(mockAubCenter);
|
||||
DeviceBitfield deviceBitfield(1);
|
||||
|
||||
uint32_t subDevicesCount = 4;
|
||||
|
||||
DeviceBitfield deviceBitfield = maxNBitValue(subDevicesCount);
|
||||
CommandStreamReceiverWithAUBDump<UltCommandStreamReceiver<FamilyType>> csrWithAubDump("file_name.aub", *executionEnvironment, 0, deviceBitfield);
|
||||
|
||||
EXPECT_NE(nullptr, csrWithAubDump.aubCSR->getTagAllocation());
|
||||
EXPECT_NE(nullptr, csrWithAubDump.aubCSR->getTagAddress());
|
||||
EXPECT_EQ(std::numeric_limits<uint32_t>::max(), *csrWithAubDump.aubCSR->getTagAddress());
|
||||
|
||||
auto tagAddressToInitialize = csrWithAubDump.aubCSR->getTagAddress();
|
||||
|
||||
for (uint32_t i = 0; i < subDevicesCount; i++) {
|
||||
EXPECT_EQ(std::numeric_limits<uint32_t>::max(), *tagAddressToInitialize);
|
||||
tagAddressToInitialize = ptrOffset(tagAddressToInitialize, csrWithAubDump.aubCSR->getPostSyncWriteOffset());
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(CommandStreamReceiverWithAubDumpSimpleTest, givenAubCsrWithHwWhenAddingCommentThenAddCommentToAubManager) {
|
||||
|
@ -27,7 +27,14 @@ CommandStreamReceiverWithAUBDump<BaseCSR>::CommandStreamReceiverWithAUBDump(cons
|
||||
if (createAubCsr) {
|
||||
aubCSR.reset(AUBCommandStreamReceiver::create(baseName, false, executionEnvironment, rootDeviceIndex, deviceBitfield));
|
||||
UNRECOVERABLE_IF(!aubCSR->initializeTagAllocation());
|
||||
*aubCSR->getTagAddress() = std::numeric_limits<uint32_t>::max();
|
||||
|
||||
uint32_t subDevices = static_cast<uint32_t>(this->deviceBitfield.count());
|
||||
auto tagAddressToInitialize = aubCSR->getTagAddress();
|
||||
|
||||
for (uint32_t i = 0; i < subDevices; i++) {
|
||||
*tagAddressToInitialize = std::numeric_limits<uint32_t>::max();
|
||||
tagAddressToInitialize = ptrOffset(tagAddressToInitialize, this->postSyncWriteOffset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user