refactor: unify getter of event packets to wait

Related-To: NEO-10065

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz 2024-02-28 15:31:47 +00:00 committed by Compute-Runtime-Automation
parent 06e9c7f79f
commit 61d1fb9ef6
3 changed files with 17 additions and 0 deletions

View File

@ -282,6 +282,10 @@ struct Event : _ze_event_handle_t {
void unsetInOrderExecInfo();
uint32_t getCounterBasedFlags() const { return counterBasedFlags; }
uint32_t getPacketsToWait() const {
return this->signalAllEventPackets ? getMaxPacketsCount() : getPacketsInUse();
}
protected:
Event(int index, Device *device) : device(device), index(index) {}

View File

@ -27,6 +27,7 @@ struct WhiteBox<::L0::Event> : public ::L0::Event {
using BaseClass::isFromIpcPool;
using BaseClass::l3FlushAppliedOnKernel;
using BaseClass::maxKernelCount;
using BaseClass::maxPacketCount;
using BaseClass::signalAllEventPackets;
using BaseClass::signalScope;
using BaseClass::waitScope;
@ -44,6 +45,7 @@ struct WhiteBox<::L0::EventImp<TagSizeT>> : public L0::EventImp<TagSizeT> {
using BaseClass::isFromIpcPool;
using BaseClass::l3FlushAppliedOnKernel;
using BaseClass::maxKernelCount;
using BaseClass::maxPacketCount;
using BaseClass::signalAllEventPackets;
using BaseClass::signalScope;
using BaseClass::waitScope;
@ -106,6 +108,7 @@ class MockEvent : public ::L0::Event {
using ::L0::Event::isFromIpcPool;
using ::L0::Event::l3FlushAppliedOnKernel;
using ::L0::Event::maxKernelCount;
using ::L0::Event::maxPacketCount;
using ::L0::Event::signalAllEventPackets;
using ::L0::Event::signalScope;
using ::L0::Event::waitScope;

View File

@ -3903,6 +3903,16 @@ TEST_F(EventTests, givenCallToEventQueryStatusWithNullKernelPointerReturnsCounte
EXPECT_EQ(nullptr, event->getKernelWithPrintfDeviceMutex());
}
HWTEST_F(EventTests, givenSignalAllPacketsValueWhenGettingEventPacketToWaitThenReturnCorrectValue) {
event->maxPacketCount = 4;
event->signalAllEventPackets = true;
EXPECT_EQ(4u, event->getPacketsToWait());
event->signalAllEventPackets = false;
EXPECT_EQ(event->getPacketsInUse(), event->getPacketsToWait());
}
TEST_F(EventSynchronizeTest, whenEventSetCsrThenCorrectCsrSet) {
auto defaultCsr = neoDevice->getDefaultEngine().commandStreamReceiver;
const auto mockCsr = std::make_unique<MockCommandStreamReceiver>(*neoDevice->getExecutionEnvironment(), 0, neoDevice->getDeviceBitfield());