Skip to content

Commit fb561b9

Browse files
authored
[SYCL][Bindless][Doc][ABI-Break] Add const qualifiers to copies (#14140)
Add missing const qualifiers to Src parameter in ext_oneapi_copy functions and bindless spec. This is an ABI-Breaking change not intended for merging until the ABI-Break window. Corresponding UR PR: oneapi-src/unified-runtime#1743
1 parent fe9e0ba commit fb561b9

File tree

19 files changed

+143
-130
lines changed

19 files changed

+143
-130
lines changed

sycl/doc/extensions/experimental/sycl_ext_oneapi_bindless_images.asciidoc

+30-28
Original file line numberDiff line numberDiff line change
@@ -750,13 +750,13 @@ public:
750750

751751
// Simple host to device copy
752752
void ext_oneapi_copy(
753-
void *Src,
753+
const void *Src,
754754
ext::oneapi::experimental::image_mem_handle Dest,
755755
const ext::oneapi::experimental:image_descriptor &DestImgDesc);
756756

757757
// Host to device copy with offsets and extent
758758
void ext_oneapi_copy(
759-
void *Src,
759+
const void *Src,
760760
sycl::range<3> SrcOffset,
761761
sycl::range<3> SrcExtent,
762762
ext::oneapi::experimental::image_mem_handle Dest,
@@ -766,13 +766,13 @@ public:
766766

767767
// Simple device to host copy
768768
void ext_oneapi_copy(
769-
ext::oneapi::experimental::image_mem_handle Src,
769+
const ext::oneapi::experimental::image_mem_handle Src,
770770
void *Dest,
771771
const ext::oneapi::experimental::image_descriptor &SrcImgDesc);
772772

773773
// Device to host copy with offsets and extent
774774
void ext_oneapi_copy(
775-
ext::oneapi::experimental::image_mem_handle Src,
775+
const ext::oneapi::experimental::image_mem_handle Src,
776776
sycl::range<3> SrcOffset,
777777
const ext::oneapi::experimental::image_descriptor &SrcImgDesc,
778778
void *Dest,
@@ -781,14 +781,14 @@ public:
781781
sycl::range<3> CopyExtent);
782782

783783
// Simple HtoD or DtoH copy with USM device memory
784-
void ext_oneapi_copy(void *Src,
784+
void ext_oneapi_copy(const void *Src,
785785
void *Dest,
786786
const ext::oneapi::experimental::image_descriptor &Desc,
787787
size_t DeviceRowPitch);
788788

789789
// HtoD or DtoH copy with USM device memory, using offsets, extent
790790
void ext_oneapi_copy(
791-
void *Src,
791+
const void *Src,
792792
sycl::range<3> SrcOffset,
793793
void *Dest,
794794
sycl::range<3> DestOffset,
@@ -799,7 +799,7 @@ public:
799799

800800
// Simple device to device copy
801801
void ext_oneapi_copy(
802-
ext::oneapi::experimental::image_mem_handle Src,
802+
const ext::oneapi::experimental::image_mem_handle Src,
803803
ext::oneapi::experimental::image_mem_handle Dest,
804804
const ext::oneapi::experimental::image_descriptor &ImageDesc);
805805
};
@@ -808,37 +808,37 @@ class queue {
808808
public:
809809

810810
// Simple host to device copy
811-
event ext_oneapi_copy(void *Src,
811+
event ext_oneapi_copy(const void *Src,
812812
ext::oneapi::experimental::image_mem_handle Dest,
813813
const ext::oneapi::experimental::image_descriptor &DestImgDesc);
814-
event ext_oneapi_copy(void *Src,
814+
event ext_oneapi_copy(const void *Src,
815815
ext::oneapi::experimental::image_mem_handle Dest,
816816
const ext::oneapi::experimental::image_descriptor &DestImgDesc,
817817
event DepEvent);
818-
event ext_oneapi_copy(void *Src,
818+
event ext_oneapi_copy(const void *Src,
819819
ext::oneapi::experimental::image_mem_handle Dest,
820820
const ext::oneapi::experimental::image_descriptor &DestImgDesc,
821821
const std::vector<event> &DepEvents);
822822

823823
// Host to device copy with offsets and extent
824824
event ext_oneapi_copy(
825-
void *Src,
825+
const void *Src,
826826
range<3> SrcOffset,
827827
range<3> SrcExtent,
828828
ext::oneapi::experimental::image_mem_handle Dest,
829829
range<3> DestOffset,
830830
const ext::oneapi::experimental::image_descriptor &DestImgDesc,
831831
range<3> CopyExtent);
832832
event ext_oneapi_copy(
833-
void *Src,
833+
const void *Src,
834834
range<3> SrcOffset,
835835
range<3> SrcExtent,
836836
ext::oneapi::experimental::image_mem_handle Dest,
837837
range<3> DestOffset,
838838
const ext::oneapi::experimental::image_descriptor &DestImgDesc,
839839
range<3> Extent, event DepEvent);
840840
event ext_oneapi_copy(
841-
void *Src,
841+
const void *Src,
842842
range<3> SrcOffset,
843843
range<3> SrcExtent,
844844
ext::oneapi::experimental::image_mem_handle Dest,
@@ -848,39 +848,39 @@ public:
848848

849849
// Simple device to host copy
850850
event ext_oneapi_copy(
851-
ext::oneapi::experimental::image_mem_handle Src,
851+
const ext::oneapi::experimental::image_mem_handle Src,
852852
void *Dest,
853853
const ext::oneapi::experimental::image_descriptor &Desc);
854854
event ext_oneapi_copy(
855-
ext::oneapi::experimental::image_mem_handle Src,
855+
const ext::oneapi::experimental::image_mem_handle Src,
856856
void *Dest,
857857
const ext::oneapi::experimental::image_descriptor &Desc,
858858
event DepEvent);
859859
event ext_oneapi_copy(
860-
ext::oneapi::experimental::image_mem_handle Src,
860+
const ext::oneapi::experimental::image_mem_handle Src,
861861
void *Dest,
862862
const ext::oneapi::experimental::image_descriptor &Desc,
863863
const std::vector<event> &DepEvents);
864864

865865
// Device to host copy with offsets and extent
866866
event ext_oneapi_copy(
867-
ext::oneapi::experimental::image_mem_handle Src,
867+
const ext::oneapi::experimental::image_mem_handle Src,
868868
range<3> SrcOffset,
869869
const ext::oneapi::experimental::image_descriptor &SrcImgDesc,
870870
void *Dest,
871871
range<3> DestOffset,
872872
range<3> DestExtent,
873873
range<3> CopyExtent);
874874
event ext_oneapi_copy(
875-
ext::oneapi::experimental::image_mem_handle Src,
875+
const ext::oneapi::experimental::image_mem_handle Src,
876876
range<3> SrcOffset,
877877
const ext::oneapi::experimental::image_descriptor &SrcImgDesc,
878878
void *Dest,
879879
range<3> DestOffset,
880880
range<3> DestExtent,
881881
range<3> CopyExtent, event DepEvent);
882882
event ext_oneapi_copy(
883-
ext::oneapi::experimental::image_mem_handle Src,
883+
const ext::oneapi::experimental::image_mem_handle Src,
884884
range<3> SrcOffset,
885885
const ext::oneapi::experimental::image_descriptor &SrcImgDesc,
886886
void *Dest,
@@ -890,38 +890,38 @@ public:
890890

891891
// Host to device OR device to host using USM device memory
892892
event ext_oneapi_copy(
893-
void *Src, void *Dest,
893+
const void *Src, void *Dest,
894894
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
895895
size_t DeviceRowPitch);
896896
event ext_oneapi_copy(
897-
void *Src, void *Dest,
897+
const void *Src, void *Dest,
898898
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
899899
size_t DeviceRowPitch,
900900
event DepEvent);
901901
event ext_oneapi_copy(
902-
void *Src, void *Dest,
902+
const void *Src, void *Dest,
903903
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
904904
size_t DeviceRowPitch,
905905
const std::vector<event> &DepEvents);
906906

907907
// Host to device OR device to host using USM device memory,
908908
// with control over sub-region
909909
event ext_oneapi_copy(
910-
void *Src, sycl::range<3> SrcOffset,
910+
const void *Src, sycl::range<3> SrcOffset,
911911
void *Dest, sycl::range<3> DestOffset,
912912
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
913913
size_t DeviceRowPitch,
914914
sycl::range<3> HostExtent,
915915
sycl::range<3> CopyExtent);
916916
event ext_oneapi_copy(
917-
void *Src, sycl::range<3> SrcOffset,
917+
const void *Src, sycl::range<3> SrcOffset,
918918
void *Dest, sycl::range<3> DestOffset,
919919
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
920920
size_t DeviceRowPitch,
921921
sycl::range<3> HostExtent,
922922
sycl::range<3> CopyExtent);
923923
event ext_oneapi_copy(
924-
void *Src, sycl::range<3> SrcOffset,
924+
const void *Src, sycl::range<3> SrcOffset,
925925
void *Dest, sycl::range<3> DestOffset,
926926
const ext::oneapi::experimental::image_descriptor &DeviceImgDesc,
927927
size_t DeviceRowPitch,
@@ -930,16 +930,16 @@ public:
930930

931931
// Simple device to device copy
932932
event ext_oneapi_copy(
933-
ext::oneapi::experimental::image_mem_handle Src,
933+
const ext::oneapi::experimental::image_mem_handle Src,
934934
ext::oneapi::experimental::image_mem_handle Dest,
935935
const ext::oneapi::experimental::image_descriptor &ImageDesc);
936936
event ext_oneapi_copy(
937-
ext::oneapi::experimental::image_mem_handle Src,
937+
const ext::oneapi::experimental::image_mem_handle Src,
938938
ext::oneapi::experimental::image_mem_handle Dest,
939939
const ext::oneapi::experimental::image_descriptor &ImageDesc,
940940
event DepEvent);
941941
event ext_oneapi_copy(
942-
ext::oneapi::experimental::image_mem_handle Src,
942+
const ext::oneapi::experimental::image_mem_handle Src,
943943
ext::oneapi::experimental::image_mem_handle Dest,
944944
const ext::oneapi::experimental::image_descriptor &ImageDesc,
945945
const std::vector<event> &DepEvents);
@@ -2806,4 +2806,6 @@ These features still need to be handled:
28062806
|5.12|2024-06-19| - Add support for sampled image arrays.
28072807
- Sample image arrays with `sample_image_array` API.
28082808
- Fetch sampled image arrays with `fetch_image_array` API.
2809+
|5.13|2024-07-10| - Added const-qualifiers to `Src` param in `ext_oneapi_copy`
2810+
funcs.
28092811
|======================

sycl/include/sycl/detail/pi.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,10 @@
200200
// 16.57 Added mappings to UR launch properties extension
201201
// (piextEnqueueKernelLaunchCustom)
202202
// 17.58 Added context parameter to piextMemImageGetInfo
203+
// 17.59 Added const-qualifier to src_ptr in piextMemImageCopy.
203204

204205
#define _PI_H_VERSION_MAJOR 17
205-
#define _PI_H_VERSION_MINOR 58
206+
#define _PI_H_VERSION_MINOR 59
206207

207208
#define _PI_STRING_HELPER(a) #a
208209
#define _PI_CONCAT(a, b) _PI_STRING_HELPER(a.b)
@@ -3094,7 +3095,7 @@ __SYCL_EXPORT pi_result piextBindlessImageSamplerCreate(
30943095
/// \param event_wait_list is the list of events to wait on before copying
30953096
/// \param event is the returned event representing this operation
30963097
__SYCL_EXPORT pi_result piextMemImageCopy(
3097-
pi_queue command_queue, void *dst_ptr, void *src_ptr,
3098+
pi_queue command_queue, void *dst_ptr, const void *src_ptr,
30983099
const pi_image_format *image_format, const pi_image_desc *image_desc,
30993100
const pi_image_copy_flags flags, pi_image_offset src_offset,
31003101
pi_image_offset dst_offset, pi_image_region copy_extent,

0 commit comments

Comments
 (0)