@@ -251,10 +251,23 @@ ur_result_t ur_queue_immediate_in_order_t::enqueueKernelLaunch(
251
251
ur_result_t ur_queue_immediate_in_order_t::enqueueEventsWait (
252
252
uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
253
253
ur_event_handle_t *phEvent) {
254
- std::ignore = numEventsInWaitList;
255
- std::ignore = phEventWaitList;
256
- std::ignore = phEvent;
257
- return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
254
+ TRACK_SCOPE_LATENCY (" ur_queue_immediate_in_order_t::enqueueEventsWait" );
255
+
256
+ std::unique_lock<ur_shared_mutex> lock (this ->Mutex );
257
+
258
+ auto handler = getCommandListHandlerForCompute ();
259
+ auto signalEvent = getSignalEvent (handler, phEvent);
260
+ auto [pWaitEvents, numWaitEvents] =
261
+ getWaitListView (phEventWaitList, numEventsInWaitList, handler);
262
+
263
+ ZE2UR_CALL (zeCommandListAppendWaitOnEvents,
264
+ (handler->commandList .get (), numWaitEvents, pWaitEvents));
265
+ ZE2UR_CALL (zeCommandListAppendSignalEvent,
266
+ (handler->commandList .get (), signalEvent));
267
+
268
+ lastHandler = handler;
269
+
270
+ return UR_RESULT_SUCCESS;
258
271
}
259
272
260
273
ur_result_t ur_queue_immediate_in_order_t::enqueueEventsWaitWithBarrier (
0 commit comments