@@ -406,7 +406,7 @@ ur_result_t ur_context_handle_t_::getFreeSlotInExistingOrNewPool(
406406 ze_event_pool_handle_t &Pool, size_t &Index, bool HostVisible,
407407 bool ProfilingEnabled, ur_device_handle_t Device,
408408 bool CounterBasedEventEnabled, bool UsingImmCmdList,
409- bool InterruptBasedEventEnabled, ur_queue_handle_t Queue) {
409+ bool InterruptBasedEventEnabled, ur_queue_handle_t Queue, bool IsInternal ) {
410410
411411 ze_device_handle_t ZeDevice = nullptr ;
412412 if (Device) {
@@ -464,17 +464,19 @@ ur_result_t ur_context_handle_t_::getFreeSlotInExistingOrNewPool(
464464 ze_result_t Result = ZE_CALL_NOCHECK (
465465 zeEventPoolCreate,
466466 (ZeContext, &ZeEventPoolDesc, ZeDevices.size (), &ZeDevices[0 ], &Pool));
467- if (ze2urResult (Result) == UR_RESULT_ERROR_OUT_OF_RESOURCES && Queue &&
468- !Queue->isInOrderQueue ()) {
469- if (Queue->UsingImmCmdLists ) {
470- UR_CALL (CleanupEventsInImmCmdLists (Queue, true /* QueueLocked*/ ,
471- false /* QueueSynced*/ ,
472- nullptr /* CompletedEvent*/ ));
473- } else {
474- UR_CALL (resetCommandLists (Queue));
467+ if (IsInternal && ze2urResult (Result) == UR_RESULT_ERROR_OUT_OF_RESOURCES &&
468+ Queue) {
469+ if (!Queue->isInOrderQueue ()) {
470+ if (Queue->UsingImmCmdLists ) {
471+ UR_CALL (CleanupEventsInImmCmdLists (Queue, true /* QueueLocked*/ ,
472+ false /* QueueSynced*/ ,
473+ nullptr /* CompletedEvent*/ ));
474+ } else {
475+ UR_CALL (resetCommandLists (Queue));
476+ }
477+ ZE2UR_CALL (zeEventPoolCreate, (ZeContext, &ZeEventPoolDesc,
478+ ZeDevices.size (), &ZeDevices[0 ], &Pool));
475479 }
476- ZE2UR_CALL (zeEventPoolCreate, (ZeContext, &ZeEventPoolDesc,
477- ZeDevices.size (), &ZeDevices[0 ], &Pool));
478480 } else if (ze2urResult (Result) != UR_RESULT_SUCCESS) {
479481 return ze2urResult (Result);
480482 }
@@ -564,17 +566,19 @@ ur_result_t ur_context_handle_t_::getFreeSlotInExistingOrNewPool(
564566 ze_result_t Result = ZE_CALL_NOCHECK (
565567 zeEventPoolCreate,
566568 (ZeContext, &ZeEventPoolDesc, ZeDevices.size (), &ZeDevices[0 ], &Pool));
567- if (ze2urResult (Result) == UR_RESULT_ERROR_OUT_OF_RESOURCES && Queue &&
568- !Queue->isInOrderQueue ()) {
569- if (Queue->UsingImmCmdLists ) {
570- UR_CALL (CleanupEventsInImmCmdLists (Queue, true /* QueueLocked*/ ,
571- false /* QueueSynced*/ ,
572- nullptr /* CompletedEvent*/ ));
573- } else {
574- UR_CALL (resetCommandLists (Queue));
569+ if (IsInternal && ze2urResult (Result) == UR_RESULT_ERROR_OUT_OF_RESOURCES &&
570+ Queue) {
571+ if (!Queue->isInOrderQueue ()) {
572+ if (Queue->UsingImmCmdLists ) {
573+ UR_CALL (CleanupEventsInImmCmdLists (Queue, true /* QueueLocked*/ ,
574+ false /* QueueSynced*/ ,
575+ nullptr /* CompletedEvent*/ ));
576+ } else {
577+ UR_CALL (resetCommandLists (Queue));
578+ }
579+ ZE2UR_CALL (zeEventPoolCreate, (ZeContext, &ZeEventPoolDesc,
580+ ZeDevices.size (), &ZeDevices[0 ], &Pool));
575581 }
576- ZE2UR_CALL (zeEventPoolCreate, (ZeContext, &ZeEventPoolDesc,
577- ZeDevices.size (), &ZeDevices[0 ], &Pool));
578582 } else if (ze2urResult (Result) != UR_RESULT_SUCCESS) {
579583 return ze2urResult (Result);
580584 }
0 commit comments