feature: disable counter caching for external storage Events

Related-To: NEO-13971

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski 2025-02-19 15:24:13 +00:00 committed by Compute-Runtime-Automation
parent 20191f4ccf
commit a0a735804f
3 changed files with 9 additions and 2 deletions

View File

@ -4618,7 +4618,8 @@ HWTEST2_F(EventMultiTileDynamicPacketUseTest, givenEventCounterBasedUsedCreatedO
inOrderExecInfo0->setLastWaitedCounterValue(1); inOrderExecInfo0->setLastWaitedCounterValue(1);
event0->updateInOrderExecState(inOrderExecInfo0, 1, 0); event0->updateInOrderExecState(inOrderExecInfo0, 1, 0);
auto inOrderExecInfo1 = NEO::InOrderExecInfo::createFromExternalAllocation(*device->getNEODevice(), nullptr, 0x1, nullptr, nullptr, 1, 1, 1); uint64_t counter = 2;
auto inOrderExecInfo1 = NEO::InOrderExecInfo::createFromExternalAllocation(*device->getNEODevice(), nullptr, 0x1, nullptr, &counter, 1, 1, 1);
inOrderExecInfo1->setLastWaitedCounterValue(1); inOrderExecInfo1->setLastWaitedCounterValue(1);
event1->updateInOrderExecState(inOrderExecInfo1, 1, 0); event1->updateInOrderExecState(inOrderExecInfo1, 1, 0);

View File

@ -84,7 +84,9 @@ class InOrderExecInfo : public NEO::NonCopyableClass {
void reset(); void reset();
bool isExternalMemoryExecInfo() const { return deviceCounterNode == nullptr; } bool isExternalMemoryExecInfo() const { return deviceCounterNode == nullptr; }
void setLastWaitedCounterValue(uint64_t value) { void setLastWaitedCounterValue(uint64_t value) {
lastWaitedCounterValue = std::max(value, lastWaitedCounterValue); if (!isExternalMemoryExecInfo()) {
lastWaitedCounterValue = std::max(value, lastWaitedCounterValue);
}
} }
bool isCounterAlreadyDone(uint64_t waitValue) const { bool isCounterAlreadyDone(uint64_t waitValue) const {

View File

@ -297,6 +297,10 @@ HWTEST_F(CommandEncoderTests, givenInOrderExecutionInfoWhenSetLastCounterValueIs
EXPECT_FALSE(inOrderExecInfo->isCounterAlreadyDone(2u)); EXPECT_FALSE(inOrderExecInfo->isCounterAlreadyDone(2u));
EXPECT_FALSE(inOrderExecInfo->isCounterAlreadyDone(3u)); EXPECT_FALSE(inOrderExecInfo->isCounterAlreadyDone(3u));
EXPECT_FALSE(inOrderExecInfo->isCounterAlreadyDone(0u)); EXPECT_FALSE(inOrderExecInfo->isCounterAlreadyDone(0u));
inOrderExecInfo = std::make_unique<InOrderExecInfo>(nullptr, nullptr, mockDevice, 2, true, false);
inOrderExecInfo->setLastWaitedCounterValue(2);
EXPECT_FALSE(inOrderExecInfo->isCounterAlreadyDone(1));
} }
HWTEST_F(CommandEncoderTests, givenInOrderExecutionInfoWhenResetCalledThenUploadToTbx) { HWTEST_F(CommandEncoderTests, givenInOrderExecutionInfoWhenResetCalledThenUploadToTbx) {