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:
parent
20191f4ccf
commit
a0a735804f
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue