@@ -251,10 +251,23 @@ ur_result_t ur_queue_immediate_in_order_t::enqueueKernelLaunch(
251251ur_result_t ur_queue_immediate_in_order_t::enqueueEventsWait (
252252 uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
253253 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;
258271}
259272
260273ur_result_t ur_queue_immediate_in_order_t::enqueueEventsWaitWithBarrier (
0 commit comments