@@ -872,17 +872,20 @@ ur_result_t ur_queue_immediate_in_order_t::enqueueUSMMemcpy2D(
872
872
bool blocking, void *pDst, size_t dstPitch, const void *pSrc,
873
873
size_t srcPitch, size_t width, size_t height, uint32_t numEventsInWaitList,
874
874
const ur_event_handle_t *phEventWaitList, ur_event_handle_t *phEvent) {
875
- std::ignore = blocking;
876
- std::ignore = pDst;
877
- std::ignore = dstPitch;
878
- std::ignore = pSrc;
879
- std::ignore = srcPitch;
880
- std::ignore = width;
881
- std::ignore = height;
882
- std::ignore = numEventsInWaitList;
883
- std::ignore = phEventWaitList;
884
- std::ignore = phEvent;
885
- return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
875
+ TRACK_SCOPE_LATENCY (" ur_queue_immediate_in_order_t::enqueueUSMMemcpy2D" );
876
+
877
+ ur_rect_offset_t zeroOffset{0 , 0 , 0 };
878
+ ur_rect_region_t region{width, height, 0 };
879
+
880
+ std::scoped_lock<ur_shared_mutex> lock (this ->Mutex );
881
+
882
+ ur_usm_handle_t_ srcHandle (hContext, 0 , pSrc);
883
+ ur_usm_handle_t_ dstHandle (hContext, 0 , pDst);
884
+
885
+ return enqueueRegionCopyUnlocked (&srcHandle, &dstHandle, blocking, zeroOffset,
886
+ zeroOffset, region, srcPitch, 0 , dstPitch, 0 ,
887
+ numEventsInWaitList, phEventWaitList,
888
+ phEvent, UR_COMMAND_MEM_BUFFER_COPY_RECT);
886
889
}
887
890
888
891
static void *getGlobalPointerFromModule (ze_module_handle_t hModule,
0 commit comments