Skip to content

Commit 2a43585

Browse files
committed
This fixes more crashes (for 1D copies), but results are still incorrect
1 parent 9f5c1a7 commit 2a43585

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

sycl/source/handler.cpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1661,10 +1661,12 @@ void handler::ext_oneapi_copy(
16611661
Desc.width * Desc.num_channels * detail::get_channel_size(Desc);
16621662

16631663
if (ImageCopyFlags == UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE) {
1664-
detail::fill_copy_args(get_impl(), Desc, ImageCopyFlags, HostRowPitch,
1664+
detail::fill_copy_args(get_impl(), Desc,
1665+
UR_EXP_IMAGE_COPY_FLAG_HOST_TO_HOST, HostRowPitch,
16651666
DeviceRowPitch);
16661667
} else if (ImageCopyFlags == UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST) {
1667-
detail::fill_copy_args(get_impl(), Desc, ImageCopyFlags, DeviceRowPitch,
1668+
detail::fill_copy_args(get_impl(), Desc,
1669+
UR_EXP_IMAGE_COPY_FLAG_HOST_TO_HOST, DeviceRowPitch,
16681670
HostRowPitch);
16691671
} else {
16701672
throw sycl::exception(make_error_code(errc::invalid),
@@ -1701,13 +1703,15 @@ void handler::ext_oneapi_copy(
17011703

17021704
// Fill the host extent based on the type of copy.
17031705
if (ImageCopyFlags == UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE) {
1704-
detail::fill_copy_args(get_impl(), DeviceImgDesc, ImageCopyFlags,
1705-
HostRowPitch, DeviceRowPitch, SrcOffset, HostExtent,
1706-
DestOffset, {0, 0, 0}, CopyExtent);
1706+
detail::fill_copy_args(get_impl(), DeviceImgDesc,
1707+
UR_EXP_IMAGE_COPY_FLAG_HOST_TO_HOST, HostRowPitch,
1708+
DeviceRowPitch, SrcOffset, HostExtent, DestOffset,
1709+
{0, 0, 0}, CopyExtent);
17071710
} else if (ImageCopyFlags == UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST) {
1708-
detail::fill_copy_args(get_impl(), DeviceImgDesc, ImageCopyFlags,
1709-
DeviceRowPitch, HostRowPitch, SrcOffset, {0, 0, 0},
1710-
DestOffset, HostExtent, CopyExtent);
1711+
detail::fill_copy_args(get_impl(), DeviceImgDesc,
1712+
UR_EXP_IMAGE_COPY_FLAG_HOST_TO_HOST, DeviceRowPitch,
1713+
HostRowPitch, SrcOffset, {0, 0, 0}, DestOffset,
1714+
HostExtent, CopyExtent);
17111715
} else {
17121716
throw sycl::exception(make_error_code(errc::invalid),
17131717
"Copy Error: This copy function only performs host "

0 commit comments

Comments
 (0)