Update debug key to override timestamp event settings

Related-To: NEO-5968

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
This commit is contained in:
Aravind Gopalakrishnan
2022-02-23 22:54:57 +00:00
committed by Compute-Runtime-Automation
parent c405fb5c2c
commit c1970942aa
4 changed files with 23 additions and 6 deletions

View File

@@ -197,8 +197,9 @@ struct EventPool : _ze_event_pool_handle_t {
virtual void setEventAlignment(uint32_t) = 0;
bool isEventPoolTimestampFlagSet() {
if (NEO::DebugManager.flags.DisableTimestampEvents.get()) {
return false;
if (NEO::DebugManager.flags.OverrideTimestampEvents.get() != -1) {
auto timestampOverride = !!NEO::DebugManager.flags.OverrideTimestampEvents.get();
return timestampOverride;
}
if (eventPoolFlags & ZE_EVENT_POOL_FLAG_KERNEL_TIMESTAMP) {
return true;

View File

@@ -182,9 +182,9 @@ TEST_F(EventPoolCreate, givenEventPoolCreatedWithNoTimestampFlagThenHasTimestamp
EXPECT_FALSE(eventPoolImp->isEventPoolTimestampFlagSet());
}
TEST_F(EventPoolCreate, givenEventPoolCreatedWithTimestampFlagAndDisableTimestampEventsFlagThenHasTimestampEventsReturnsFalse) {
TEST_F(EventPoolCreate, givenEventPoolCreatedWithTimestampFlagAndOverrideTimestampEventsFlagThenHasTimestampEventsReturnsFalse) {
DebugManagerStateRestore restore;
NEO::DebugManager.flags.DisableTimestampEvents.set(1);
NEO::DebugManager.flags.OverrideTimestampEvents.set(0);
ze_event_pool_desc_t eventPoolDesc = {};
eventPoolDesc.count = 1;
@@ -198,6 +198,22 @@ TEST_F(EventPoolCreate, givenEventPoolCreatedWithTimestampFlagAndDisableTimestam
EXPECT_FALSE(eventPoolImp->isEventPoolTimestampFlagSet());
}
TEST_F(EventPoolCreate, givenEventPoolCreatedWithoutTimestampFlagAndOverrideTimestampEventsFlagThenHasTimestampEventsReturnsTrue) {
DebugManagerStateRestore restore;
NEO::DebugManager.flags.OverrideTimestampEvents.set(1);
ze_event_pool_desc_t eventPoolDesc = {};
eventPoolDesc.count = 1;
eventPoolDesc.flags = 0;
ze_result_t result = ZE_RESULT_SUCCESS;
std::unique_ptr<L0::EventPool> eventPool(EventPool::create(driverHandle.get(), context, 0, nullptr, &eventPoolDesc, result));
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
ASSERT_NE(nullptr, eventPool);
EventPoolImp *eventPoolImp = static_cast<EventPoolImp *>(eventPool.get());
EXPECT_TRUE(eventPoolImp->isEventPoolTimestampFlagSet());
}
TEST_F(EventPoolCreate, givenAnEventIsCreatedFromThisEventPoolThenEventContainsDeviceCommandStreamReceiver) {
ze_event_pool_desc_t eventPoolDesc = {};
eventPoolDesc.count = 1;