@@ -706,13 +706,49 @@ struct pi_device_binary_struct {
706706};
707707using pi_device_binary = pi_device_binary_struct *;
708708
709- // pi_buffer_region structure repeats cl_buffer_region
709+ // pi_buffer_region structure repeats cl_buffer_region, used for sub buffers.
710710struct pi_buffer_region_struct {
711711 size_t origin;
712712 size_t size;
713713};
714714using pi_buffer_region = pi_buffer_region_struct *;
715715
716+ // pi_buff_rect_offset structure is 3D offset argument passed to buffer rect
717+ // operations (piEnqueueMemBufferCopyRect, etc).
718+ struct pi_buff_rect_offset_struct {
719+ size_t x_bytes;
720+ size_t y_scalar;
721+ size_t z_scalar;
722+ };
723+ using pi_buff_rect_offset = pi_buff_rect_offset_struct *;
724+
725+ // pi_buff_rect_region structure represents size of 3D region passed to buffer
726+ // rect operations (piEnqueueMemBufferCopyRect, etc).
727+ struct pi_buff_rect_region_struct {
728+ size_t width_bytes;
729+ size_t height_scalar;
730+ size_t depth_scalar;
731+ };
732+ using pi_buff_rect_region = pi_buff_rect_region_struct *;
733+
734+ // pi_image_offset structure is 3D offset argument passed to image operations
735+ // (piEnqueueMemImageRead, etc).
736+ struct pi_image_offset_struct {
737+ size_t x;
738+ size_t y;
739+ size_t z;
740+ };
741+ using pi_image_offset = pi_image_offset_struct *;
742+
743+ // pi_image_region structure represents size of 3D region passed to image
744+ // operations (piEnqueueMemImageRead, etc).
745+ struct pi_image_region_struct {
746+ size_t width;
747+ size_t height;
748+ size_t depth;
749+ };
750+ using pi_image_region = pi_image_region_struct *;
751+
716752// Offload binaries descriptor version supported by this library.
717753static const uint16_t PI_DEVICE_BINARIES_VERSION = 1 ;
718754
@@ -1261,11 +1297,11 @@ __SYCL_EXPORT pi_result piEnqueueMemBufferRead(
12611297
12621298__SYCL_EXPORT pi_result piEnqueueMemBufferReadRect (
12631299 pi_queue command_queue, pi_mem buffer, pi_bool blocking_read,
1264- const size_t * buffer_offset, const size_t * host_offset,
1265- const size_t * region, size_t buffer_row_pitch, size_t buffer_slice_pitch ,
1266- size_t host_row_pitch , size_t host_slice_pitch, void *ptr ,
1267- pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list ,
1268- pi_event *event);
1300+ pi_buff_rect_offset buffer_offset, pi_buff_rect_offset host_offset,
1301+ pi_buff_rect_region region, size_t buffer_row_pitch,
1302+ size_t buffer_slice_pitch , size_t host_row_pitch, size_t host_slice_pitch ,
1303+ void *ptr, pi_uint32 num_events_in_wait_list ,
1304+ const pi_event *event_wait_list, pi_event *event);
12691305
12701306__SYCL_EXPORT pi_result
12711307piEnqueueMemBufferWrite (pi_queue command_queue, pi_mem buffer,
@@ -1275,11 +1311,11 @@ piEnqueueMemBufferWrite(pi_queue command_queue, pi_mem buffer,
12751311
12761312__SYCL_EXPORT pi_result piEnqueueMemBufferWriteRect (
12771313 pi_queue command_queue, pi_mem buffer, pi_bool blocking_write,
1278- const size_t * buffer_offset, const size_t * host_offset,
1279- const size_t * region, size_t buffer_row_pitch, size_t buffer_slice_pitch ,
1280- size_t host_row_pitch , size_t host_slice_pitch, const void *ptr ,
1281- pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list ,
1282- pi_event *event);
1314+ pi_buff_rect_offset buffer_offset, pi_buff_rect_offset host_offset,
1315+ pi_buff_rect_region region, size_t buffer_row_pitch,
1316+ size_t buffer_slice_pitch , size_t host_row_pitch, size_t host_slice_pitch ,
1317+ const void *ptr, pi_uint32 num_events_in_wait_list ,
1318+ const pi_event *event_wait_list, pi_event *event);
12831319
12841320__SYCL_EXPORT pi_result
12851321piEnqueueMemBufferCopy (pi_queue command_queue, pi_mem src_buffer,
@@ -1289,10 +1325,11 @@ piEnqueueMemBufferCopy(pi_queue command_queue, pi_mem src_buffer,
12891325
12901326__SYCL_EXPORT pi_result piEnqueueMemBufferCopyRect (
12911327 pi_queue command_queue, pi_mem src_buffer, pi_mem dst_buffer,
1292- const size_t *src_origin, const size_t *dst_origin, const size_t *region,
1293- size_t src_row_pitch, size_t src_slice_pitch, size_t dst_row_pitch,
1294- size_t dst_slice_pitch, pi_uint32 num_events_in_wait_list,
1295- const pi_event *event_wait_list, pi_event *event);
1328+ pi_buff_rect_offset src_origin, pi_buff_rect_offset dst_origin,
1329+ pi_buff_rect_region region, size_t src_row_pitch, size_t src_slice_pitch,
1330+ size_t dst_row_pitch, size_t dst_slice_pitch,
1331+ pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list,
1332+ pi_event *event);
12961333
12971334__SYCL_EXPORT pi_result
12981335piEnqueueMemBufferFill (pi_queue command_queue, pi_mem buffer,
@@ -1302,22 +1339,22 @@ piEnqueueMemBufferFill(pi_queue command_queue, pi_mem buffer,
13021339
13031340__SYCL_EXPORT pi_result piEnqueueMemImageRead (
13041341 pi_queue command_queue, pi_mem image, pi_bool blocking_read,
1305- const size_t * origin, const size_t * region, size_t row_pitch,
1342+ pi_image_offset origin, pi_image_region region, size_t row_pitch,
13061343 size_t slice_pitch, void *ptr, pi_uint32 num_events_in_wait_list,
13071344 const pi_event *event_wait_list, pi_event *event);
13081345
13091346__SYCL_EXPORT pi_result piEnqueueMemImageWrite (
13101347 pi_queue command_queue, pi_mem image, pi_bool blocking_write,
1311- const size_t * origin, const size_t * region, size_t input_row_pitch,
1348+ pi_image_offset origin, pi_image_region region, size_t input_row_pitch,
13121349 size_t input_slice_pitch, const void *ptr,
13131350 pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list,
13141351 pi_event *event);
13151352
13161353__SYCL_EXPORT pi_result piEnqueueMemImageCopy (
13171354 pi_queue command_queue, pi_mem src_image, pi_mem dst_image,
1318- const size_t * src_origin, const size_t * dst_origin, const size_t *region ,
1319- pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list ,
1320- pi_event *event);
1355+ pi_image_offset src_origin, pi_image_offset dst_origin,
1356+ pi_image_region region, pi_uint32 num_events_in_wait_list ,
1357+ const pi_event *event_wait_list, pi_event *event);
13211358
13221359__SYCL_EXPORT pi_result
13231360piEnqueueMemImageFill (pi_queue command_queue, pi_mem image,
0 commit comments