@@ -533,6 +533,13 @@ ur_result_t ur_context_handle_t_::getFreeSlotInExistingOrNewPool(
533533 if (*ZePool == nullptr ) {
534534 ze_event_pool_counter_based_exp_desc_t counterBasedExt = {
535535 ZE_STRUCTURE_TYPE_COUNTER_BASED_EVENT_POOL_EXP_DESC, nullptr , 0 };
536+
537+ ze_intel_event_sync_mode_exp_desc_t eventSyncMode = {
538+ ZE_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC, nullptr , 0 };
539+ eventSyncMode.syncModeFlags =
540+ ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT |
541+ ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT;
542+
536543 ZeStruct<ze_event_pool_desc_t > ZeEventPoolDesc;
537544 ZeEventPoolDesc.count = MaxNumEventsPerPool;
538545 ZeEventPoolDesc.flags = 0 ;
@@ -552,14 +559,11 @@ ur_result_t ur_context_handle_t_::getFreeSlotInExistingOrNewPool(
552559 }
553560 logger::debug (" ze_event_pool_desc_t counter based flags set to: {}" ,
554561 counterBasedExt.flags );
562+ if (InterruptBasedEventEnabled) {
563+ counterBasedExt.pNext = &eventSyncMode;
564+ }
555565 ZeEventPoolDesc.pNext = &counterBasedExt;
556- }
557- if (InterruptBasedEventEnabled) {
558- ze_intel_event_sync_mode_exp_desc_t eventSyncMode = {
559- ZE_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC, nullptr , 0 };
560- eventSyncMode.syncModeFlags =
561- ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT |
562- ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT;
566+ } else if (InterruptBasedEventEnabled) {
563567 ZeEventPoolDesc.pNext = &eventSyncMode;
564568 }
565569
0 commit comments