Skip to content

Commit d9f2a66

Browse files
committed
implement image copy device-to-device
1 parent d005408 commit d9f2a66

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

source/adapters/level_zero/image.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -858,6 +858,19 @@ UR_APIEXPORT ur_result_t UR_APICALL urBindlessImagesImageCopyExp(
858858
pSrc, &ZeSrcRegion, SrcRowPitch, SrcSlicePitch, ZeEvent,
859859
WaitList.Length, WaitList.ZeEventList));
860860
}
861+
} else if (imageCopyFlags == UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE) {
862+
ze_image_region_t DstRegion;
863+
UR_CALL(
864+
getImageRegionHelper(ZeImageDesc, &dstOffset, &copyExtent, DstRegion));
865+
ze_image_region_t SrcRegion;
866+
UR_CALL(
867+
getImageRegionHelper(ZeImageDesc, &srcOffset, &copyExtent, SrcRegion));
868+
auto *UrImageDst = static_cast<_ur_image *>(pDst);
869+
auto *UrImageSrc = static_cast<_ur_image *>(pSrc);
870+
ZE2UR_CALL(zeCommandListAppendImageCopyRegion,
871+
(ZeCommandList, UrImageDst->ZeImage, UrImageSrc->ZeImage,
872+
&DstRegion, &SrcRegion, ZeEvent, WaitList.Length,
873+
WaitList.ZeEventList));
861874
} else {
862875
logger::error("urBindlessImagesImageCopyExp: unexpected imageCopyFlags");
863876
return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;

0 commit comments

Comments
 (0)