However, the destination origin [10, 10, 10] lies outside the buffer boundaries, because the pitch arguments are zero and region equals [64, 8, 2]. A conformant implementation will therefore throw INVALID_VALUE instead of MEM_COPY_OVERLAP.
My proposed fix is to replace [10, 10, 10] with, e.g., [0, 1, 0], and region with [2, 2, 1], for example. This ensures that a conformant implementation will throw MEM_COPY_OVERLAP.
In
cl_commandQueue_enqueueCopyBufferRect.html
, the following statement is expected to throw MEM_COPY_OVERLAP:However, the destination origin [10, 10, 10] lies outside the buffer boundaries, because the
pitch
arguments are zero andregion
equals [64, 8, 2]. A conformant implementation will therefore throw INVALID_VALUE instead of MEM_COPY_OVERLAP.My proposed fix is to replace [10, 10, 10] with, e.g., [0, 1, 0], and
region
with [2, 2, 1], for example. This ensures that a conformant implementation will throw MEM_COPY_OVERLAP.