@@ -177,14 +177,16 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemBufferReadRect(
177
177
size_t hostRowPitch, size_t hostSlicePitch, void *pDst,
178
178
uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
179
179
ur_event_handle_t *phEvent) {
180
+ const size_t BufferOrigin[3 ] = {bufferOrigin.x , bufferOrigin.y ,
181
+ bufferOrigin.z };
182
+ const size_t HostOrigin[3 ] = {hostOrigin.x , hostOrigin.y , hostOrigin.z };
183
+ const size_t Region[3 ] = {region.width , region.height , region.depth };
180
184
181
185
auto ClErr = clEnqueueReadBufferRect (
182
186
cl_adapter::cast<cl_command_queue>(hQueue),
183
- cl_adapter::cast<cl_mem>(hBuffer), blockingRead,
184
- cl_adapter::cast<const size_t *>(&bufferOrigin),
185
- cl_adapter::cast<const size_t *>(&hostOrigin),
186
- cl_adapter::cast<const size_t *>(®ion), bufferRowPitch,
187
- bufferSlicePitch, hostRowPitch, hostSlicePitch, pDst, numEventsInWaitList,
187
+ cl_adapter::cast<cl_mem>(hBuffer), blockingRead, BufferOrigin, HostOrigin,
188
+ Region, bufferRowPitch, bufferSlicePitch, hostRowPitch, hostSlicePitch,
189
+ pDst, numEventsInWaitList,
188
190
cl_adapter::cast<const cl_event *>(phEventWaitList),
189
191
cl_adapter::cast<cl_event *>(phEvent));
190
192
@@ -201,14 +203,16 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemBufferWriteRect(
201
203
size_t hostRowPitch, size_t hostSlicePitch, void *pSrc,
202
204
uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
203
205
ur_event_handle_t *phEvent) {
206
+ const size_t BufferOrigin[3 ] = {bufferOrigin.x , bufferOrigin.y ,
207
+ bufferOrigin.z };
208
+ const size_t HostOrigin[3 ] = {hostOrigin.x , hostOrigin.y , hostOrigin.z };
209
+ const size_t Region[3 ] = {region.width , region.height , region.depth };
204
210
205
211
auto ClErr = clEnqueueWriteBufferRect (
206
212
cl_adapter::cast<cl_command_queue>(hQueue),
207
- cl_adapter::cast<cl_mem>(hBuffer), blockingWrite,
208
- cl_adapter::cast<const size_t *>(&bufferOrigin),
209
- cl_adapter::cast<const size_t *>(&hostOrigin),
210
- cl_adapter::cast<const size_t *>(®ion), bufferRowPitch,
211
- bufferSlicePitch, hostRowPitch, hostSlicePitch, pSrc, numEventsInWaitList,
213
+ cl_adapter::cast<cl_mem>(hBuffer), blockingWrite, BufferOrigin,
214
+ HostOrigin, Region, bufferRowPitch, bufferSlicePitch, hostRowPitch,
215
+ hostSlicePitch, pSrc, numEventsInWaitList,
212
216
cl_adapter::cast<const cl_event *>(phEventWaitList),
213
217
cl_adapter::cast<cl_event *>(phEvent));
214
218
@@ -245,16 +249,16 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemBufferCopyRect(
245
249
size_t srcSlicePitch, size_t dstRowPitch, size_t dstSlicePitch,
246
250
uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
247
251
ur_event_handle_t *phEvent) {
252
+ const size_t SrcOrigin[3 ] = {srcOrigin.x , srcOrigin.y , srcOrigin.z };
253
+ const size_t DstOrigin[3 ] = {dstOrigin.x , dstOrigin.y , dstOrigin.z };
254
+ const size_t Region[3 ] = {region.width , region.height , region.depth };
248
255
249
256
auto ClErr = clEnqueueCopyBufferRect (
250
257
cl_adapter::cast<cl_command_queue>(hQueue),
251
258
cl_adapter::cast<cl_mem>(hBufferSrc),
252
- cl_adapter::cast<cl_mem>(hBufferDst),
253
- cl_adapter::cast<const size_t *>(&srcOrigin),
254
- cl_adapter::cast<const size_t *>(&dstOrigin),
255
- cl_adapter::cast<const size_t *>(®ion), srcRowPitch, srcSlicePitch,
256
- dstRowPitch, dstSlicePitch, numEventsInWaitList,
257
- cl_adapter::cast<const cl_event *>(phEventWaitList),
259
+ cl_adapter::cast<cl_mem>(hBufferDst), SrcOrigin, DstOrigin, Region,
260
+ srcRowPitch, srcSlicePitch, dstRowPitch, dstSlicePitch,
261
+ numEventsInWaitList, cl_adapter::cast<const cl_event *>(phEventWaitList),
258
262
cl_adapter::cast<cl_event *>(phEvent));
259
263
260
264
if (ClErr == CL_INVALID_VALUE) {
@@ -331,13 +335,14 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemImageRead(
331
335
ur_rect_offset_t origin, ur_rect_region_t region, size_t rowPitch,
332
336
size_t slicePitch, void *pDst, uint32_t numEventsInWaitList,
333
337
const ur_event_handle_t *phEventWaitList, ur_event_handle_t *phEvent) {
338
+ const size_t Origin[3 ] = {origin.x , origin.y , origin.z };
339
+ const size_t Region[3 ] = {region.width , region.height , region.depth };
334
340
335
341
auto ClErr = clEnqueueReadImage (
336
342
cl_adapter::cast<cl_command_queue>(hQueue),
337
- cl_adapter::cast<cl_mem>(hImage), blockingRead,
338
- cl_adapter::cast<const size_t *>(&origin),
339
- cl_adapter::cast<const size_t *>(®ion), rowPitch, slicePitch, pDst,
340
- numEventsInWaitList, cl_adapter::cast<const cl_event *>(phEventWaitList),
343
+ cl_adapter::cast<cl_mem>(hImage), blockingRead, Origin, Region, rowPitch,
344
+ slicePitch, pDst, numEventsInWaitList,
345
+ cl_adapter::cast<const cl_event *>(phEventWaitList),
341
346
cl_adapter::cast<cl_event *>(phEvent));
342
347
343
348
if (ClErr == CL_INVALID_VALUE) {
@@ -351,13 +356,14 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemImageWrite(
351
356
ur_rect_offset_t origin, ur_rect_region_t region, size_t rowPitch,
352
357
size_t slicePitch, void *pSrc, uint32_t numEventsInWaitList,
353
358
const ur_event_handle_t *phEventWaitList, ur_event_handle_t *phEvent) {
359
+ const size_t Origin[3 ] = {origin.x , origin.y , origin.z };
360
+ const size_t Region[3 ] = {region.width , region.height , region.depth };
354
361
355
362
auto ClErr = clEnqueueWriteImage (
356
363
cl_adapter::cast<cl_command_queue>(hQueue),
357
- cl_adapter::cast<cl_mem>(hImage), blockingWrite,
358
- cl_adapter::cast<const size_t *>(&origin),
359
- cl_adapter::cast<const size_t *>(®ion), rowPitch, slicePitch, pSrc,
360
- numEventsInWaitList, cl_adapter::cast<const cl_event *>(phEventWaitList),
364
+ cl_adapter::cast<cl_mem>(hImage), blockingWrite, Origin, Region, rowPitch,
365
+ slicePitch, pSrc, numEventsInWaitList,
366
+ cl_adapter::cast<const cl_event *>(phEventWaitList),
361
367
cl_adapter::cast<cl_event *>(phEvent));
362
368
363
369
if (ClErr == CL_INVALID_VALUE) {
@@ -372,13 +378,14 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemImageCopy(
372
378
ur_rect_offset_t dstOrigin, ur_rect_region_t region,
373
379
uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
374
380
ur_event_handle_t *phEvent) {
381
+ const size_t SrcOrigin[3 ] = {srcOrigin.x , srcOrigin.y , srcOrigin.z };
382
+ const size_t DstOrigin[3 ] = {dstOrigin.x , dstOrigin.y , dstOrigin.z };
383
+ const size_t Region[3 ] = {region.width , region.height , region.depth };
375
384
376
385
auto ClErr = clEnqueueCopyImage (
377
386
cl_adapter::cast<cl_command_queue>(hQueue),
378
387
cl_adapter::cast<cl_mem>(hImageSrc), cl_adapter::cast<cl_mem>(hImageDst),
379
- cl_adapter::cast<const size_t *>(&srcOrigin),
380
- cl_adapter::cast<const size_t *>(&dstOrigin),
381
- cl_adapter::cast<const size_t *>(®ion), numEventsInWaitList,
388
+ SrcOrigin, DstOrigin, Region, numEventsInWaitList,
382
389
cl_adapter::cast<const cl_event *>(phEventWaitList),
383
390
cl_adapter::cast<cl_event *>(phEvent));
384
391
0 commit comments