@@ -192,6 +192,21 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueKernelLaunch(
192192 return UR_RESULT_SUCCESS;
193193}
194194
195+ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueUSMFill (
196+ ur_queue_handle_t hQueue, void *pMem, size_t patternSize,
197+ const void *pPattern, size_t size, uint32_t numEventsInWaitList,
198+ const ur_event_handle_t *phEventWaitList, ur_event_handle_t *phEvent) {
199+ ol_queue_handle_t Queue;
200+ OL_RETURN_ON_ERR (hQueue->nextQueue (Queue));
201+ OL_RETURN_ON_ERR (waitOnEvents (Queue, phEventWaitList, numEventsInWaitList));
202+
203+ OL_RETURN_ON_ERR (
204+ olMemFill (Queue, pMem, patternSize, const_cast <void *>(pPattern), size));
205+ OL_RETURN_ON_ERR (makeEvent (UR_COMMAND_USM_FILL, Queue, hQueue, phEvent));
206+
207+ return UR_RESULT_SUCCESS;
208+ }
209+
195210UR_APIEXPORT ur_result_t UR_APICALL urEnqueueUSMFill2D (
196211 ur_queue_handle_t , void *, size_t , size_t , const void *, size_t , size_t ,
197212 uint32_t , const ur_event_handle_t *, ur_event_handle_t *) {
@@ -279,6 +294,25 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemBufferCopy(
279294 phEventWaitList, phEvent);
280295}
281296
297+ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemBufferFill (
298+ ur_queue_handle_t hQueue, ur_mem_handle_t hBuffer, const void *pPattern,
299+ size_t patternSize, size_t offset, size_t size,
300+ uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
301+ ur_event_handle_t *phEvent) {
302+ ol_queue_handle_t Queue;
303+ OL_RETURN_ON_ERR (hQueue->nextQueue (Queue));
304+ OL_RETURN_ON_ERR (waitOnEvents (Queue, phEventWaitList, numEventsInWaitList));
305+
306+ char *DevPtr =
307+ reinterpret_cast <char *>(std::get<BufferMem>(hBuffer->Mem ).Ptr );
308+
309+ OL_RETURN_ON_ERR (olMemFill (Queue, DevPtr + offset, patternSize,
310+ const_cast <void *>(pPattern), size));
311+ OL_RETURN_ON_ERR (makeEvent (UR_COMMAND_USM_FILL, Queue, hQueue, phEvent));
312+
313+ return UR_RESULT_SUCCESS;
314+ }
315+
282316UR_APIEXPORT ur_result_t UR_APICALL urEnqueueDeviceGlobalVariableRead (
283317 ur_queue_handle_t hQueue, ur_program_handle_t hProgram, const char *name,
284318 bool blockingRead, size_t count, size_t offset, void *pDst,
0 commit comments