@@ -406,7 +406,7 @@ ur_result_t ur_context_handle_t_::getFreeSlotInExistingOrNewPool(
406
406
ze_event_pool_handle_t &Pool, size_t &Index, bool HostVisible,
407
407
bool ProfilingEnabled, ur_device_handle_t Device,
408
408
bool CounterBasedEventEnabled, bool UsingImmCmdList,
409
- bool InterruptBasedEventEnabled, ur_queue_handle_t Queue) {
409
+ bool InterruptBasedEventEnabled, ur_queue_handle_t Queue, bool IsInternal ) {
410
410
411
411
ze_device_handle_t ZeDevice = nullptr ;
412
412
if (Device) {
@@ -464,17 +464,19 @@ ur_result_t ur_context_handle_t_::getFreeSlotInExistingOrNewPool(
464
464
ze_result_t Result = ZE_CALL_NOCHECK (
465
465
zeEventPoolCreate,
466
466
(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));
475
479
}
476
- ZE2UR_CALL (zeEventPoolCreate, (ZeContext, &ZeEventPoolDesc,
477
- ZeDevices.size (), &ZeDevices[0 ], &Pool));
478
480
} else if (ze2urResult (Result) != UR_RESULT_SUCCESS) {
479
481
return ze2urResult (Result);
480
482
}
@@ -564,17 +566,19 @@ ur_result_t ur_context_handle_t_::getFreeSlotInExistingOrNewPool(
564
566
ze_result_t Result = ZE_CALL_NOCHECK (
565
567
zeEventPoolCreate,
566
568
(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));
575
581
}
576
- ZE2UR_CALL (zeEventPoolCreate, (ZeContext, &ZeEventPoolDesc,
577
- ZeDevices.size (), &ZeDevices[0 ], &Pool));
578
582
} else if (ze2urResult (Result) != UR_RESULT_SUCCESS) {
579
583
return ze2urResult (Result);
580
584
}
0 commit comments