29package com.jogamp.opencl;
31import static com.jogamp.opencl.CLException.checkForError;
32import static com.jogamp.opencl.CLException.newException;
33import static com.jogamp.opencl.llb.CL.CL_SUCCESS;
34import static com.jogamp.opencl.llb.CL.CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE;
35import static com.jogamp.opencl.llb.CL.CL_QUEUE_PROFILING_ENABLE;
36import static com.jogamp.opencl.util.CLUtil.clBoolean;
38import java.nio.Buffer;
39import java.nio.ByteBuffer;
40import java.nio.IntBuffer;
41import java.util.ArrayList;
42import java.util.Arrays;
43import java.util.EnumSet;
46import com.jogamp.common.nio.AbstractBuffer;
47import com.jogamp.common.nio.CachedBufferFactory;
48import com.jogamp.common.nio.PointerBuffer;
49import com.jogamp.opencl.gl.CLGLObject;
50import com.jogamp.opencl.llb.CL;
69 private final long properties;
74 private final IntBuffer pbA;
75 private final PointerBuffer ibA;
76 private final PointerBuffer ibB;
77 private final PointerBuffer ibC;
83 this.properties = properties;
86 final int pbsize = AbstractBuffer.POINTER_SIZE;
87 final CachedBufferFactory factory = CachedBufferFactory.create(9*pbsize + 4,
true);
89 this.ibA = PointerBuffer.wrap(factory.newDirectByteBuffer(3*pbsize));
90 this.ibB = PointerBuffer.wrap(factory.newDirectByteBuffer(3*pbsize));
91 this.ibC = PointerBuffer.wrap(factory.newDirectByteBuffer(3*pbsize));
93 this.pbA = factory.newDirectIntBuffer(1);
98 final int[] status =
new int[1];
102 if(status[0] != CL_SUCCESS) {
103 throw newException(status[0],
"can not create command queue on " + device +
" with properties: " +
Mode.
valuesOf(properties));
128 PointerBuffer conditionIDs =
null;
130 if(condition !=
null) {
131 conditionIDs = condition.IDsView;
132 conditions = condition.size;
136 ID, writeBuffer.ID, clBoolean(blockingWrite),
137 0, writeBuffer.
getNIOSize(), writeBuffer.buffer,
138 conditions, conditionIDs, events==
null ?
null : events.IDs);
140 if(ret != CL_SUCCESS) {
141 throw newException(ret,
"can not enqueue write-buffer: " + writeBuffer +
" with " + toStr(condition, events));
172 PointerBuffer conditionIDs =
null;
174 if(condition !=
null) {
175 conditionIDs = condition.IDsView;
176 conditions = condition.size;
180 ID, readBuffer.ID, clBoolean(blockingRead),
181 0, readBuffer.
getNIOSize(), readBuffer.buffer,
182 conditions, conditionIDs, events==
null ?
null : events.IDs);
184 if(ret != CL_SUCCESS) {
185 throw newException(ret,
"can not enqueue read-buffer: " + readBuffer +
" with " + toStr(condition, events));
206 return putCopyBuffer(src, dest, 0, 0, bytesToCopy,
null,
null);
213 return putCopyBuffer(src, dest, srcOffset, destOffset, bytesToCopy,
null, events);
221 PointerBuffer conditionIDs =
null;
223 if(condition !=
null) {
224 conditionIDs = condition.IDsView;
225 conditions = condition.size;
229 ID, src.ID, dest.ID, srcOffset, destOffset, bytesToCopy,
230 conditions, conditionIDs, events==
null ?
null : events.IDs);
232 if(ret != CL_SUCCESS) {
233 throw newException(ret,
"can not enqueue copy-buffer from " + src +
" to " + dest +
" with srcOffset: "+ srcOffset
234 +
" dstOffset: " + destOffset +
" bytesToCopy: " + bytesToCopy + toStr(condition, events));
249 final int originX,
final int originY,
final int hostX,
final int hostY,
final int rangeX,
final int rangeY,
251 putWriteBufferRect(writeBuffer, originX, originY, hostX, hostY, rangeX, rangeY, 0, 0, 0, 0, blockingWrite, condition, events);
259 final int originX,
final int originY,
final int hostX,
final int hostY,
final int rangeX,
final int rangeY,
260 final long rowPitch,
final long slicePitch,
final long hostRowPitch,
final long hostSlicePitch,
266 0, 0, 0, 0, blockingWrite, condition, events);
275 final int originX,
final int originY,
final int originZ,
final int hostX,
final int hostY,
final int hostZ,
final int rangeX,
final int rangeY,
final int rangeZ,
279 rangeX, rangeY, rangeZ, 0, 0, 0, 0, blockingWrite, condition, events);
287 final int originX,
final int originY,
final int originZ,
final int hostX,
final int hostY,
final int hostZ,
final int rangeX,
final int rangeY,
final int rangeZ,
288 final long rowPitch,
final long slicePitch,
final long hostRowPitch,
final long hostSlicePitch,
291 PointerBuffer conditionIDs =
null;
293 if(condition !=
null) {
294 conditionIDs = condition.IDsView;
295 conditions = condition.size;
298 copy2NIO(ibA, originX, originY, originZ);
299 copy2NIO(ibB, hostX, hostY, hostZ);
300 copy2NIO(ibC, rangeX, rangeY, rangeZ);
303 ID, writeBuffer.ID, clBoolean(blockingWrite), ibA, ibB, ibC,
304 rowPitch, slicePitch, hostRowPitch, hostSlicePitch, writeBuffer.
getBuffer(),
305 conditions, conditionIDs, events==
null ?
null : events.IDs);
307 if(ret != CL_SUCCESS) {
308 throw newException(ret, bufferRectToString(
"write", writeBuffer,
309 rowPitch, slicePitch, hostRowPitch, hostSlicePitch,
310 originX, originY, originZ, hostX, hostY, hostZ,
311 rangeX, rangeY, rangeZ, condition, events) );
326 final int originX,
final int originY,
final int hostX,
final int hostY,
final int rangeX,
final int rangeY,
328 putReadBufferRect(readBuffer, originX, originY, hostX, hostY, rangeX, rangeY, 0, 0, 0, 0, blockingRead, condition, events);
336 final int originX,
final int originY,
final int hostX,
final int hostY,
final int rangeX,
final int rangeY,
337 final long rowPitch,
final long slicePitch,
final long hostRowPitch,
final long hostSlicePitch,
343 0, 0, 0, 0, blockingRead, condition, events);
352 final int originX,
final int originY,
final int originZ,
final int hostX,
final int hostY,
final int hostZ,
final int rangeX,
final int rangeY,
final int rangeZ,
356 rangeX, rangeY, rangeZ,
357 0, 0, 0, 0, blockingRead, condition, events);
365 final int originX,
final int originY,
final int originZ,
final int hostX,
final int hostY,
final int hostZ,
final int rangeX,
final int rangeY,
final int rangeZ,
366 final long rowPitch,
final long slicePitch,
final long hostRowPitch,
final long hostSlicePitch,
369 PointerBuffer conditionIDs =
null;
371 if(condition !=
null) {
372 conditionIDs = condition.IDsView;
373 conditions = condition.size;
376 copy2NIO(ibA, originX, originY, originZ);
377 copy2NIO(ibB, hostX, hostY, hostZ);
378 copy2NIO(ibC, rangeX, rangeY, rangeZ);
381 ID, readBuffer.ID, clBoolean(blockingRead), ibA, ibB, ibC,
382 rowPitch, slicePitch, hostRowPitch, hostSlicePitch, readBuffer.
getBuffer(),
383 conditions, conditionIDs, events==
null ?
null : events.IDs);
385 if(ret != CL_SUCCESS) {
386 throw newException(ret, bufferRectToString(
"read", readBuffer,
387 rowPitch, slicePitch, hostRowPitch, hostSlicePitch,
388 originX, originY, originZ, hostX, hostY, hostZ,
389 rangeX, rangeY, rangeZ, condition, events) );
404 final int srcOriginX,
final int srcOriginY,
final int destOriginX,
final int destOriginY,
final int rangeX,
final int rangeY,
408 destOriginX, destOriginY, 0,
410 0, 0, 0, 0, condition, events);
418 final int srcOriginX,
final int srcOriginY,
final int destOriginX,
final int destOriginY,
final int rangeX,
final int rangeY,
419 final long srcRowPitch,
final long srcSlicePitch,
final long destRowPitch,
final long destSlicePitch,
422 destOriginX, destOriginY, 0,
424 srcRowPitch, srcSlicePitch, destRowPitch, destSlicePitch, condition, events);
434 final int srcOriginX,
final int srcOriginY,
final int srcOriginZ,
final int destOriginX,
final int destOriginY,
final int destOriginZ,
final int rangeX,
final int rangeY,
final int rangeZ,
437 destOriginX, destOriginY, destOriginZ,
438 rangeX, rangeY, rangeZ,
439 0, 0, 0, 0, condition, events);
446 final int srcOriginX,
final int srcOriginY,
final int srcOriginZ,
final int destOriginX,
final int destOriginY,
final int destOriginZ,
final int rangeX,
final int rangeY,
final int rangeZ,
447 final long srcRowPitch,
final long srcSlicePitch,
final long destRowPitch,
final long destSlicePitch,
450 PointerBuffer conditionIDs =
null;
452 if(condition !=
null) {
453 conditionIDs = condition.IDsView;
454 conditions = condition.size;
457 copy2NIO(ibA, srcOriginX, srcOriginY, srcOriginZ);
458 copy2NIO(ibB, destOriginX, destOriginY, destOriginZ);
459 copy2NIO(ibC, rangeX, rangeY, rangeZ);
462 ID, src.ID, dest.ID, ibA, ibB, ibC,
463 srcRowPitch, srcSlicePitch, destRowPitch, destSlicePitch,
464 conditions, conditionIDs, events==
null ?
null : events.IDs);
466 if(ret != CL_SUCCESS) {
467 throw newException(ret,
"can not enqueue copy-buffer-rect from " + src +
" to " + dest +
"\n"
468 +
" with srcRowPitch: " + srcRowPitch +
" srcSlicePitch: " + srcSlicePitch
469 +
" destRowPitch: " + destRowPitch +
" destSlicePitch: " + destSlicePitch +
"\n"
470 +
" srcOrigin: " + toStr(srcOriginX, srcOriginY, srcOriginZ)+
" destOrigin: " + toStr(destOriginX, destOriginY, destOriginZ)
471 +
" range: " + toStr(rangeX, rangeY, rangeZ) + toStr(condition, events));
508 final int originX,
final int originY,
final int rangeX,
final int rangeY,
final boolean blockingWrite) {
509 return putWriteImage(writeImage, inputRowPitch, originX, originY, rangeX, rangeY, blockingWrite,
null,
null);
516 final int originX,
final int originY,
final int rangeX,
final int rangeY,
final boolean blockingWrite,
final CLEventList condition,
final CLEventList events) {
518 PointerBuffer conditionIDs =
null;
520 if(condition !=
null) {
521 conditionIDs = condition.IDsView;
522 conditions = condition.size;
527 copy2NIO(ibA, originX, originY, 0);
528 copy2NIO(ibB, rangeX, rangeY, 1);
531 ibA, ibB, inputRowPitch, 0, writeImage.buffer,
532 conditions, conditionIDs, events==
null ?
null : events.IDs);
533 if(ret != CL_SUCCESS) {
534 throw newException(ret,
"can not enqueue write-image " + writeImage +
" with inputRowPitch: " + inputRowPitch
535 +
" origin: " + toStr(originX, originY)+
" range: " + toStr(rangeX, rangeY) + toStr(condition, events));
549 return putWriteImage(writeImage, 0, 0, 0, 0, 0, writeImage.
width, writeImage.
height, writeImage.
depth, blockingWrite,
null,
null);
556 return putWriteImage(writeImage, 0, 0, 0, 0, 0, writeImage.
width, writeImage.
height, writeImage.
depth, blockingWrite,
null, events);
563 return putWriteImage(writeImage, 0, 0, 0, 0, 0, writeImage.
width, writeImage.
height, writeImage.
depth, blockingWrite, condition, events);
570 final int originX,
final int originY,
final int originZ,
final int rangeX,
final int rangeY,
final int rangeZ,
final boolean blockingWrite) {
571 return putWriteImage(writeImage, inputRowPitch, inputSlicePitch, originX, originY, originZ, rangeX, rangeY, rangeZ, blockingWrite,
null,
null);
578 final int originX,
final int originY,
final int originZ,
final int rangeX,
final int rangeY,
final int rangeZ,
final boolean blockingWrite,
final CLEventList condition,
final CLEventList events) {
580 PointerBuffer conditionIDs =
null;
582 if(condition !=
null) {
583 conditionIDs = condition.IDsView;
584 conditions = condition.size;
587 copy2NIO(ibA, originX, originY, originZ);
588 copy2NIO(ibB, rangeX, rangeY, rangeZ);
591 ibA, ibB, inputRowPitch, inputSlicePitch, writeImage.buffer,
592 conditions, conditionIDs, events==
null ?
null : events.IDs);
594 if(ret != CL_SUCCESS) {
595 throw newException(ret,
"can not enqueue write-image " + writeImage +
" with inputRowPitch: " + inputRowPitch +
" inputSlicePitch: " + inputSlicePitch
596 +
" origin: " + toStr(originX, originY, originZ)+
" range: " + toStr(rangeX, rangeY, rangeZ) + toStr(condition, events));
631 final int originX,
final int originY,
final int rangeX,
final int rangeY,
final boolean blockingRead) {
632 return putReadImage(readImage, inputRowPitch, originX, originY, rangeX, rangeY, blockingRead,
null,
null);
639 final int originX,
final int originY,
final int rangeX,
final int rangeY,
final boolean blockingRead,
final CLEventList condition,
final CLEventList events) {
641 PointerBuffer conditionIDs =
null;
643 if(condition !=
null) {
644 conditionIDs = condition.IDsView;
645 conditions = condition.size;
650 copy2NIO(ibA, originX, originY, 0);
651 copy2NIO(ibB, rangeX, rangeY, 1);
654 ibA, ibB, inputRowPitch, 0, readImage.buffer,
655 conditions, conditionIDs, events==
null ?
null : events.IDs);
656 if(ret != CL_SUCCESS) {
657 throw newException(ret,
"can not enqueue read-image " + readImage +
" with inputRowPitch: " + inputRowPitch
658 +
" origin: " + toStr(originX, originY)+
" range: " + toStr(rangeX, rangeY) + toStr(condition, events));
672 return putReadImage(readImage, 0, 0, 0, 0, 0, readImage.
width, readImage.
height, readImage.
depth, blockingRead,
null,
null);
679 return putReadImage(readImage, 0, 0, 0, 0, 0, readImage.
width, readImage.
height, readImage.
depth, blockingRead,
null, events);
686 return putReadImage(readImage, 0, 0, 0, 0, 0, readImage.
width, readImage.
height, readImage.
depth, blockingRead, condition, events);
693 final int originX,
final int originY,
final int originZ,
final int rangeX,
final int rangeY,
final int rangeZ,
final boolean blockingRead) {
694 return putReadImage(readImage, inputRowPitch, inputSlicePitch, originX, originY, originZ, rangeX, rangeY, rangeZ, blockingRead,
null,
null);
701 final int originX,
final int originY,
final int originZ,
final int rangeX,
final int rangeY,
final int rangeZ,
final boolean blockingRead,
final CLEventList condition,
final CLEventList events) {
703 PointerBuffer conditionIDs =
null;
705 if(condition !=
null) {
706 conditionIDs = condition.IDsView;
707 conditions = condition.size;
710 copy2NIO(ibA, originX, originY, originZ);
711 copy2NIO(ibB, rangeX, rangeY, rangeZ);
714 ibA, ibB, inputRowPitch, inputSlicePitch, readImage.buffer,
715 conditions, conditionIDs, events==
null ?
null : events.IDs);
716 if(ret != CL_SUCCESS) {
717 throw newException(ret,
"can not enqueue read-image " + readImage +
" with inputRowPitch: " + inputRowPitch +
" inputSlicePitch: " + inputSlicePitch
718 +
" origin: " + toStr(originX, originY, originZ)+
" range: " + toStr(rangeX, rangeY, rangeZ) + toStr(condition, events));
753 final int srcOriginX,
final int srcOriginY,
754 final int dstOriginX,
final int dstOriginY,
755 final int rangeX,
final int rangeY) {
756 return putCopyImage(srcImage, dstImage, srcOriginX, srcOriginY, dstOriginX, dstOriginY, rangeX, rangeY,
null,
null);
763 final int srcOriginX,
final int srcOriginY,
764 final int dstOriginX,
final int dstOriginY,
767 PointerBuffer conditionIDs =
null;
769 if(condition !=
null) {
770 conditionIDs = condition.IDsView;
771 conditions = condition.size;
776 copy2NIO(ibA, srcOriginX, srcOriginY, 0);
777 copy2NIO(ibB, dstOriginX, dstOriginY, 0);
778 copy2NIO(ibC, rangeX, rangeY, 1);
781 conditions, conditionIDs, events==
null ?
null : events.IDs);
782 if(ret != CL_SUCCESS) {
783 throw newException(ret,
"can not enqueue copy-image " + srcImage +
" to "+ dstImage
784 +
" with srcOrigin: " + toStr(srcOriginX, srcOriginY) +
" dstOrigin: " + toStr(dstOriginX, dstOriginY)
785 +
" range: " + toStr(rangeX, rangeY) + toStr(condition, events));
806 return putCopyImage(srcImage, dstImage, 0, 0, 0, 0, 0, 0, srcImage.
width, srcImage.
height, srcImage.
depth,
null, events);
813 return putCopyImage(srcImage, dstImage, 0, 0, 0, 0, 0, 0, srcImage.
width, srcImage.
height, srcImage.
depth, condition, events);
820 final int srcOriginX,
final int srcOriginY,
final int srcOriginZ,
821 final int dstOriginX,
final int dstOriginY,
final int dstOriginZ,
822 final int rangeX,
final int rangeY,
final int rangeZ) {
823 return putCopyImage(srcImage, dstImage, srcOriginX, srcOriginY, srcOriginZ,
824 dstOriginX, dstOriginY, dstOriginZ,
825 rangeX, rangeY, rangeZ,
null,
null);
832 final int srcOriginX,
final int srcOriginY,
final int srcOriginZ,
833 final int dstOriginX,
final int dstOriginY,
final int dstOriginZ,
834 final int rangeX,
final int rangeY,
final int rangeZ,
final CLEventList condition,
final CLEventList events) {
836 PointerBuffer conditionIDs =
null;
838 if(condition !=
null) {
839 conditionIDs = condition.IDsView;
840 conditions = condition.size;
843 copy2NIO(ibA, srcOriginX, srcOriginY, srcOriginZ);
844 copy2NIO(ibB, dstOriginX, dstOriginY, dstOriginZ);
845 copy2NIO(ibC, rangeX, rangeY, rangeZ);
848 conditions, conditionIDs, events==
null ?
null : events.IDs);
849 if(ret != CL_SUCCESS) {
850 throw newException(ret,
"can not enqueue copy-image " + srcImage +
" to "+ dstImage
851 +
" with srcOrigin: " + toStr(srcOriginX, srcOriginY, srcOriginZ) +
" dstOrigin: " + toStr(dstOriginX, dstOriginY, dstOriginZ)
852 +
" range: " + toStr(rangeX, rangeY, rangeZ) + toStr(condition, events));
887 final long srcOffset,
final int dstOriginX,
final int dstOriginY,
888 final int rangeX,
final int rangeY) {
890 srcOffset, dstOriginX, dstOriginY, rangeX, rangeY,
null,
null);
897 final long srcOffset,
final int dstOriginX,
final int dstOriginY,
900 PointerBuffer conditionIDs =
null;
902 if(condition !=
null) {
903 conditionIDs = condition.IDsView;
904 conditions = condition.size;
909 copy2NIO(ibA, dstOriginX, dstOriginY, 0);
910 copy2NIO(ibB, rangeX, rangeY, 1);
914 conditions, conditionIDs, events==
null ?
null : events.IDs);
915 if(ret != CL_SUCCESS) {
916 throw newException(ret,
"can not enqueue a copy from " + srcBuffer +
" to "+ dstImage
917 +
" with srcOffset: " + srcOffset +
" dstOrigin: " + toStr(dstOriginX, dstOriginY)
918 +
" range: " + toStr(rangeX, rangeY) + toStr(condition, events));
939 return putCopyBufferToImage(srcBuffer, dstImage, 0, 0, 0, 0, dstImage.
width, dstImage.
height, dstImage.
depth,
null, events);
946 return putCopyBufferToImage(srcBuffer, dstImage, 0, 0, 0, 0, dstImage.
width, dstImage.
height, dstImage.
depth, condition, events);
953 final long srcOffset,
final int dstOriginX,
final int dstOriginY,
final int dstOriginZ,
954 final int rangeX,
final int rangeY,
final int rangeZ) {
956 srcOffset, dstOriginX, dstOriginY, dstOriginZ, rangeX, rangeY, rangeZ,
null,
null);
964 final long srcOffset,
final int dstOriginX,
final int dstOriginY,
final int dstOriginZ,
965 final int rangeX,
final int rangeY,
final int rangeZ,
final CLEventList condition,
final CLEventList events) {
967 PointerBuffer conditionIDs =
null;
969 if(condition !=
null) {
970 conditionIDs = condition.IDsView;
971 conditions = condition.size;
974 copy2NIO(ibA, dstOriginX, dstOriginY, dstOriginZ);
975 copy2NIO(ibB, rangeX, rangeY, rangeZ);
979 conditions, conditionIDs, events==
null ?
null : events.IDs);
980 if(ret != CL_SUCCESS) {
981 throw newException(ret,
"can not enqueue a copy from " + srcBuffer +
" to "+ dstImage
982 +
" with srcOffset: " + srcOffset +
" dstOrigin: " + toStr(dstOriginX, dstOriginY, dstOriginZ)
983 +
" range: " + toStr(rangeX, rangeY, dstOriginZ) + toStr(condition, events));
1018 final int srcOriginX,
final int srcOriginY,
1019 final int rangeX,
final int rangeY,
final long dstOffset) {
1021 srcOriginX, srcOriginY, rangeX, rangeY, dstOffset,
null,
null);
1028 final int srcOriginX,
final int srcOriginY,
1029 final int rangeX,
final int rangeY,
final long dstOffset,
final CLEventList condition,
final CLEventList events) {
1031 PointerBuffer conditionIDs =
null;
1033 if(condition !=
null) {
1034 conditionIDs = condition.IDsView;
1035 conditions = condition.size;
1040 copy2NIO(ibA, srcOriginX, srcOriginY, 0);
1041 copy2NIO(ibB, rangeX, rangeY, 1);
1044 ibA, ibB, dstOffset,
1045 conditions, conditionIDs, events==
null ?
null : events.IDs);
1046 if(ret != CL_SUCCESS) {
1047 throw newException(ret,
"can not enqueue a copy from " + srcImage +
" to "+ dstBuffer
1048 +
" with srcOrigin: " + toStr(srcOriginX, srcOriginY) +
" range: " + toStr(rangeX, rangeY)
1049 +
" dstOffset: " + dstOffset + toStr(condition, events));
1052 if(events !=
null) {
1063 return putCopyImageToBuffer(srcImage, dstBuffer, 0, 0, 0, srcImage.
width, srcImage.
height, srcImage.
depth, 0,
null,
null);
1070 return putCopyImageToBuffer(srcImage, dstBuffer, 0, 0, 0, srcImage.
width, srcImage.
height, srcImage.
depth, 0,
null, events);
1077 return putCopyImageToBuffer(srcImage, dstBuffer, 0, 0, 0, srcImage.
width, srcImage.
height, srcImage.
depth, 0, condition, events);
1084 final int srcOriginX,
final int srcOriginY,
final int srcOriginZ,
1085 final int rangeX,
final int rangeY,
final int rangeZ,
final long dstOffset) {
1087 srcOriginX, srcOriginY, srcOriginZ, rangeX, rangeY, rangeZ, dstOffset,
null,
null);
1095 final int srcOriginX,
final int srcOriginY,
final int srcOriginZ,
1096 final int rangeX,
final int rangeY,
final int rangeZ,
final long dstOffset,
final CLEventList condition,
final CLEventList events) {
1098 PointerBuffer conditionIDs =
null;
1100 if(condition !=
null) {
1101 conditionIDs = condition.IDsView;
1102 conditions = condition.size;
1105 copy2NIO(ibA, srcOriginX, srcOriginY, srcOriginZ);
1106 copy2NIO(ibB, rangeX, rangeY, rangeZ);
1109 ibA, ibB, dstOffset,
1110 conditions, conditionIDs, events==
null ?
null : events.IDs);
1111 if(ret != CL_SUCCESS) {
1112 throw newException(ret,
"can not enqueue a copy from " + srcImage +
" to "+ dstBuffer
1113 +
" with srcOrigin: " + toStr(srcOriginX, srcOriginY, srcOriginZ) +
" range: " + toStr(rangeX, rangeY, rangeZ)
1114 +
" dstOffset: " + dstOffset + toStr(condition, events));
1117 if(events !=
null) {
1148 return putMapBuffer(buffer, flag, offset, length, blockingMap,
null,
null);
1156 PointerBuffer conditionIDs =
null;
1158 if(condition !=
null) {
1159 conditionIDs = condition.IDsView;
1160 conditions = condition.size;
1163 final IntBuffer error = pbA;
1165 flag.
FLAGS, offset, length,
1166 conditions, conditionIDs, events==
null ?
null : events.IDs, error);
1167 if(error.get(0) != CL_SUCCESS) {
1168 throw newException(error.get(0),
"can not map " + buffer +
" with: " + flag
1169 +
" offset: " + offset +
" lenght: " + length + toStr(condition, events));
1172 if(events !=
null) {
1176 return mappedBuffer;
1184 return putMapImage(image, flag, blockingMap,
null);
1205 final int rangeX,
final int rangeY,
final boolean blockingMap) {
1206 return putMapImage(buffer, flag, offsetX, offsetY, rangeX, rangeY, blockingMap,
null,
null);
1213 final int offsetX,
final int offsetY,
1214 final int rangeX,
final int rangeY,
final boolean blockingMap,
final CLEventList condition,
final CLEventList events) {
1215 return putMapImage(image, flag, offsetX, offsetY, rangeX, rangeY, blockingMap, condition, events,
null,
null);
1222 final int offsetX,
final int offsetY,
1223 final int rangeX,
final int rangeY,
final boolean blockingMap,
final CLEventList condition,
final CLEventList events,
1224 final long[] imageRowPitch,
final long[] imageSlicePitch ) {
1226 PointerBuffer conditionIDs =
null;
1228 if(condition !=
null) {
1229 conditionIDs = condition.IDsView;
1230 conditions = condition.size;
1233 final IntBuffer error = pbA;
1236 copy2NIO(ibB, offsetX, offsetY, 0);
1237 copy2NIO(ibC, rangeX, rangeY, 1);
1239 final PointerBuffer _imageRowPitch = PointerBuffer.allocateDirect(1);
1240 final PointerBuffer _imageSlicePitch = PointerBuffer.allocateDirect(1);
1243 flag.FLAGS, ibB, ibC, _imageRowPitch, _imageSlicePitch,
1244 conditions, conditionIDs, events==
null ?
null : events.IDs, error);
1245 if(error.get(0) != CL_SUCCESS) {
1246 throw newException(error.get(0),
"can not map " + image +
" with: " + flag
1247 +
" offset: " + toStr(offsetX, offsetY) +
" range: " + toStr(rangeX, rangeY) + toStr(condition, events));
1250 if(
null != imageRowPitch ) {
1251 imageRowPitch[0] = _imageRowPitch.get(0);
1253 if(
null != imageSlicePitch ) {
1254 imageSlicePitch[0] = _imageSlicePitch.get(0);
1257 if(events !=
null) {
1269 return putMapImage(image, flag, blockingMap,
null);
1276 return putMapImage(image, flag, 0, 0, 0, image.
width, image.
height, image.
depth, blockingMap,
null, events);
1283 return putMapImage(image, flag, 0, 0, 0, image.
width, image.
height, image.
depth, blockingMap, condition, events);
1290 final int offsetX,
final int offsetY,
final int offsetZ,
1291 final int rangeX,
final int rangeY,
final int rangeZ,
final boolean blockingMap) {
1292 return putMapImage(image, flag, offsetX, offsetY, offsetZ, rangeX, rangeY, rangeZ, blockingMap,
null,
null);
1299 final int offsetX,
final int offsetY,
final int offsetZ,
1300 final int rangeX,
final int rangeY,
final int rangeZ,
final boolean blockingMap,
final CLEventList condition,
final CLEventList events) {
1302 PointerBuffer conditionIDs =
null;
1304 if(condition !=
null) {
1305 conditionIDs = condition.IDsView;
1306 conditions = condition.size;
1309 final IntBuffer error = pbA;
1310 copy2NIO(ibB, offsetX, offsetY, offsetZ);
1311 copy2NIO(ibC, rangeX, rangeY, rangeZ);
1313 flag.FLAGS, ibB, ibC,
null,
null,
1314 conditions, conditionIDs, events==
null ?
null : events.IDs, error);
1315 if(error.get(0) != CL_SUCCESS) {
1316 throw newException(error.get(0),
"can not map " + image +
" with: " + flag
1317 +
" offset: " + toStr(offsetX, offsetY, offsetZ) +
" range: " + toStr(rangeX, rangeY, rangeZ) + toStr(condition, events));
1320 if(events !=
null) {
1346 PointerBuffer conditionIDs =
null;
1348 if(condition !=
null) {
1349 conditionIDs = condition.IDsView;
1350 conditions = condition.size;
1354 conditions, conditionIDs, events==
null ?
null : events.IDs);
1355 if(ret != CL_SUCCESS) {
1356 throw newException(ret,
"can not unmap " + memory + toStr(condition, events));
1359 if(events !=
null) {
1370 if(ret != CL_SUCCESS) {
1371 throw newException(ret,
"can not enqueue marker " + events);
1385 final PointerBuffer ids = list.getEventBuffer(index);
1387 if(ret != CL_SUCCESS) {
1388 throw newException(ret,
"can not "+ (blockingWait?
"blocking":
"") +
" wait for event #" + index+
" in "+list);
1403 if(ret != CL_SUCCESS) {
1404 throw newException(ret,
"can not "+ (blockingWait?
"blocking":
"") +
" wait for events " + list);
1415 checkForError(ret,
"can not enqueue Barrier");
1435 putTask(kernel,
null, events);
1445 PointerBuffer conditionIDs =
null;
1447 if(condition !=
null) {
1448 conditionIDs = condition.IDsView;
1449 conditions = condition.size;
1452 final int ret = cl.
clEnqueueTask(
ID, kernel.
ID, conditions, conditionIDs, events==
null ?
null : events.IDs);
1453 if(ret != CL_SUCCESS) {
1454 checkForError(ret,
"can not enqueue Task: " + kernel + toStr(condition, events));
1456 if(events !=
null) {
1466 this.
put1DRangeKernel(kernel, globalWorkOffset, globalWorkSize, localWorkSize,
null,
null);
1474 this.
put1DRangeKernel(kernel, globalWorkOffset, globalWorkSize, localWorkSize,
null, events);
1482 PointerBuffer globWO =
null;
1483 PointerBuffer globWS =
null;
1484 PointerBuffer locWS =
null;
1486 if(globalWorkOffset != 0) {
1487 globWO = copy2NIO(ibA, globalWorkOffset);
1489 if(globalWorkSize != 0) {
1490 globWS = copy2NIO(ibB, globalWorkSize);
1492 if(localWorkSize != 0) {
1493 locWS = copy2NIO(ibC, localWorkSize);
1496 this.
putNDRangeKernel(kernel, 1, globWO, globWS, locWS, condition, events);
1504 final long globalWorkSizeX,
final long globalWorkSizeY,
1505 final long localWorkSizeX,
final long localWorkSizeY) {
1507 globalWorkOffsetX, globalWorkOffsetY,
1508 globalWorkSizeX, globalWorkSizeY,
1509 localWorkSizeX, localWorkSizeY,
null,
null);
1518 final long globalWorkSizeX,
final long globalWorkSizeY,
1519 final long localWorkSizeX,
final long localWorkSizeY,
final CLEventList events) {
1521 globalWorkOffsetX, globalWorkOffsetY,
1522 globalWorkSizeX, globalWorkSizeY,
1523 localWorkSizeX, localWorkSizeY,
null, events);
1531 final long globalWorkSizeX,
final long globalWorkSizeY,
1532 final long localWorkSizeX,
final long localWorkSizeY,
final CLEventList condition,
final CLEventList events) {
1533 PointerBuffer globalWorkOffset =
null;
1534 PointerBuffer globalWorkSize =
null;
1535 PointerBuffer localWorkSize =
null;
1537 if(globalWorkOffsetX != 0 || globalWorkOffsetY != 0) {
1538 globalWorkOffset = copy2NIO(ibA, globalWorkOffsetX, globalWorkOffsetY);
1540 if(globalWorkSizeX != 0 || globalWorkSizeY != 0) {
1541 globalWorkSize = copy2NIO(ibB, globalWorkSizeX, globalWorkSizeY);
1543 if(localWorkSizeX != 0 || localWorkSizeY != 0) {
1544 localWorkSize = copy2NIO(ibC, localWorkSizeX, localWorkSizeY);
1546 this.
putNDRangeKernel(kernel, 2, globalWorkOffset, globalWorkSize, localWorkSize, condition, events);
1554 final long globalWorkSizeX,
final long globalWorkSizeY,
final long globalWorkSizeZ,
1555 final long localWorkSizeX,
final long localWorkSizeY,
final long localWorkSizeZ) {
1557 globalWorkOffsetX, globalWorkOffsetY, globalWorkOffsetZ,
1558 globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ,
1559 localWorkSizeX, localWorkSizeY, localWorkSizeZ,
null,
null);
1568 final long globalWorkSizeX,
final long globalWorkSizeY,
final long globalWorkSizeZ,
1569 final long localWorkSizeX,
final long localWorkSizeY,
final long localWorkSizeZ,
final CLEventList events) {
1571 globalWorkOffsetX, globalWorkOffsetY, globalWorkOffsetZ,
1572 globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ,
1573 localWorkSizeX, localWorkSizeY, localWorkSizeZ,
null, events);
1581 final long globalWorkSizeX,
final long globalWorkSizeY,
final long globalWorkSizeZ,
1582 final long localWorkSizeX,
final long localWorkSizeY,
final long localWorkSizeZ,
final CLEventList condition,
final CLEventList events) {
1583 PointerBuffer globalWorkOffset =
null;
1584 PointerBuffer globalWorkSize =
null;
1585 PointerBuffer localWorkSize =
null;
1587 if(globalWorkOffsetX != 0 || globalWorkOffsetY != 0 || globalWorkOffsetZ != 0) {
1588 globalWorkOffset = copy2NIO(ibA, globalWorkOffsetX, globalWorkOffsetY, globalWorkOffsetZ);
1590 if(globalWorkSizeX != 0 || globalWorkSizeY != 0 || globalWorkSizeZ != 0) {
1591 globalWorkSize = copy2NIO(ibB, globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ);
1593 if(localWorkSizeX != 0 || localWorkSizeY != 0 || localWorkSizeZ != 0) {
1594 localWorkSize = copy2NIO(ibC, localWorkSizeX, localWorkSizeY, localWorkSizeZ);
1596 this.
putNDRangeKernel(kernel, 3, globalWorkOffset, globalWorkSize, localWorkSize, condition, events);
1604 this.
putNDRangeKernel(kernel, workDimension, globalWorkOffset, globalWorkSize, localWorkSize,
null,
null);
1612 this.
putNDRangeKernel(kernel, workDimension, globalWorkOffset, globalWorkSize, localWorkSize,
null, events);
1620 final PointerBuffer globalWorkSize,
final PointerBuffer localWorkSize,
final CLEventList condition,
final CLEventList events) {
1622 PointerBuffer conditionIDs =
null;
1624 if(condition !=
null) {
1625 conditionIDs = condition.IDsView;
1626 conditions = condition.size;
1630 ID, kernel.
ID, workDimension,
1634 conditions, conditionIDs,
1635 events==
null ?
null : events.IDs);
1637 if(ret != CL_SUCCESS) {
1638 throw newException(ret,
"can not enqueue "+workDimension+
"DRange " + kernel+
"\n"
1639 +
" with gwo: " + toStr(globalWorkOffset)
1640 +
" gws: " + toStr(globalWorkSize)
1641 +
" lws: " + toStr(localWorkSize)
1642 +
" " + toStr(condition, events));
1645 if(events !=
null) {
1697 PointerBuffer conditionIDs =
null;
1699 if(condition !=
null) {
1700 conditionIDs = condition.IDsView;
1701 conditions = condition.size;
1705 conditions, conditionIDs,
1706 events==
null ?
null : events.IDs);
1708 if(ret != CL_SUCCESS) {
1709 throw newException(ret,
"can not aquire " + glObjectIDs +
" with " + toStr(condition, events));
1712 if(events !=
null) {
1764 PointerBuffer conditionIDs =
null;
1766 if(condition !=
null) {
1767 conditionIDs = condition.IDsView;
1768 conditions = condition.size;
1772 conditions, conditionIDs,
1773 events==
null ?
null : events.IDs);
1775 if(ret != CL_SUCCESS) {
1776 throw newException(ret,
"can not release " + glObjectIDs +
"with " + toStr(condition, events));
1779 if(events !=
null) {
1791 checkForError(ret,
"can not finish command queue");
1800 checkForError(ret,
"can not flush command queue");
1822 context.onCommandQueueReleased(device,
this);
1823 if(ret != CL_SUCCESS) {
1824 throw newException(ret,
"can not release "+
this);
1828 private static PointerBuffer copy2NIO(
final PointerBuffer buffer,
final long a) {
1829 return buffer.put(2, a).position(2);
1832 private static PointerBuffer copy2NIO(
final PointerBuffer buffer,
final long a,
final long b) {
1833 return buffer.position(1).put(a).put(b).position(1);
1836 private static PointerBuffer copy2NIO(
final PointerBuffer buffer,
final long a,
final long b,
final long c) {
1837 return buffer.rewind().put(a).put(b).put(c).rewind();
1840 private static String toStr(
final PointerBuffer buffer) {
1841 if(buffer ==
null) {
1844 final StringBuilder sb =
new StringBuilder();
1846 for (
int i = buffer.position(); i < buffer.capacity(); i++) {
1847 sb.append(buffer.get(i));
1848 if(i != buffer.capacity()-1) {
1852 return sb.append(
'}').toString();
1855 private static String toStr(
final CLEventList condition,
final CLEventList events) {
1856 return "\ncond.: " + condition +
" events: "+events;
1859 private String toStr(
final Integer... values) {
1860 return Arrays.asList(values).toString();
1863 private String bufferRectToString(
final String action,
final CLBuffer<?> buffer,
1864 final long rowPitch,
final long slicePitch,
final long hostRowPitch,
final long hostSlicePitch,
1865 final int originX,
final int originY,
final int originZ,
final int hostX,
final int hostY,
final int hostZ,
1866 final int rangeX,
final int rangeY,
final int rangeZ,
final CLEventList condition,
final CLEventList events) {
1867 return "can not enqueue "+action+
"-buffer-rect: " + buffer +
"\n"
1868 +
" with rowPitch: " + rowPitch +
" slicePitch: " + slicePitch
1869 +
" hostRowPitch: " + hostRowPitch +
" hostSlicePitch: " + hostSlicePitch +
"\n"
1870 +
" origin: " + toStr(originX, originY, originZ) +
" hostPos: " + toStr(hostX, hostY, hostZ)
1871 +
" range: " + toStr(rangeX, rangeY, rangeZ) + toStr(condition, events);
1898 if (getClass() != obj.getClass()) {
1902 if (this.
ID != other.
ID) {
1905 if (this.context != other.
context && (
this.context ==
null || !
this.context.equals(other.
context))) {
1908 if (this.device != other.device && (
this.device ==
null || !
this.device.equals(other.device))) {
1917 hash = 89 * hash + (int) (this.
ID ^ (this.
ID >>> 32));
1918 hash = 89 * hash + (this.context !=
null ? this.context.
hashCode() : 0);
1919 hash = 89 * hash + (this.device !=
null ? this.device.
hashCode() : 0);
1945 private Mode(
final int value) {
1946 this.QUEUE_MODE = value;
1951 case(CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE):
1952 return OUT_OF_ORDER_MODE;
1953 case(CL_QUEUE_PROFILING_ENABLE):
1954 return PROFILING_MODE;
1959 public static EnumSet<Mode>
valuesOf(
final long bitfield) {
1960 final List<Mode> matching =
new ArrayList<Mode>();
1961 final Mode[] values =
Mode.values();
1962 for (
final Mode value : values) {
1963 if((value.QUEUE_MODE & bitfield) != 0)
1964 matching.add(value);
1966 if(matching.isEmpty())
1967 return EnumSet.noneOf(
Mode.class);
1969 return EnumSet.copyOf(matching);
OpenCL buffer object wrapping an optional NIO buffer.
The command queue is used to queue a set of operations for a specific CLDevice.
CLCommandQueue putAcquireGLObject(final CLGLObject glObject, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueAcquireGLObjects}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage3d<?> dstImage, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue putReadBufferRect(final CLBuffer<?> readBuffer, final int originX, final int originY, final int hostX, final int hostY, final int rangeX, final int rangeY, final long rowPitch, final long slicePitch, final long hostRowPitch, final long hostSlicePitch, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadBufferRect}.
CLCommandQueue putWriteBufferRect(final CLBuffer<?> writeBuffer, final int originX, final int originY, final int hostX, final int hostY, final int rangeX, final int rangeY, final long rowPitch, final long slicePitch, final long hostRowPitch, final long hostSlicePitch, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteBufferRect}.
boolean equals(final Object obj)
CLCommandQueue put2DRangeKernel(final CLKernel kernel, final long globalWorkOffsetX, final long globalWorkOffsetY, final long globalWorkSizeX, final long globalWorkSizeY, final long localWorkSizeX, final long localWorkSizeY, final CLEventList events)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putWriteBufferRect(final CLBuffer<?> writeBuffer, final int originX, final int originY, final int hostX, final int hostY, final int rangeX, final int rangeY, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteBufferRect}.
CLCommandQueue putCopyImageToBuffer(final CLImage2d<?> srcImage, final CLBuffer<?> dstBuffer, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putBarrier()
Calls {@native clEnqueueBarrier}.
CLCommandQueue putReadImage(final CLImage3d<?> readImage, final int inputRowPitch, final int inputSlicePitch, final int originX, final int originY, final int originZ, final int rangeX, final int rangeY, final int rangeZ, final boolean blockingRead)
Calls {@native clEnqueueReadImage}.
CLCommandQueue putWriteImage(final CLImage3d<?> writeImage, final boolean blockingWrite, final CLEventList events)
Calls {@native clEnqueueWriteImage}.
ByteBuffer putMapImage(final CLImage3d<?> image, final CLMemory.Map flag, final int offsetX, final int offsetY, final int offsetZ, final int rangeX, final int rangeY, final int rangeZ, final boolean blockingMap)
Calls {@native clEnqueueMapImage}.
boolean isOutOfOrderModeEnabled()
Returns true only when Mode#OUT_OF_ORDER_MODE mode has been enabled.
CLCommandQueue putWriteImage(final CLImage2d<?> writeImage, final boolean blockingWrite)
Calls {@native clEnqueueWriteImage}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage3d<?> dstImage, final long srcOffset, final int dstOriginX, final int dstOriginY, final int dstOriginZ, final int rangeX, final int rangeY, final int rangeZ)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue putUnmapMemory(final CLMemory<?> memory, final Buffer mapped)
Calls {@native clEnqueueUnmapMemObject}.
CLCommandQueue putWriteBuffer(final CLBuffer<?> writeBuffer, final boolean blockingRead, final CLEventList events)
Calls {@native clEnqueueWriteBuffer}.
CLCommandQueue putCopyBuffer(final CLBuffer<?> src, final CLBuffer<?> dest, final long bytesToCopy)
Calls {@native clEnqueueCopyBuffer}.
CLCommandQueue putTask(final CLKernel kernel)
Equivalent to calling put1DRangeKernel(CLKernel kernel, long globalWorkOffset, long globalWorkSize,...
CLCommandQueue putReadBuffer(final CLBuffer<?> readBuffer, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadBuffer}.
CLCommandQueue putAcquireGLObject(final CLGLObject glObject)
Calls {@native clEnqueueAcquireGLObjects}.
CLCommandQueue putCopyImageToBuffer(final CLImage2d<?> srcImage, final CLBuffer<?> dstBuffer, final int srcOriginX, final int srcOriginY, final int rangeX, final int rangeY, final long dstOffset, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putReadImage(final CLImage3d<?> readImage, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadImage}.
ByteBuffer putMapBuffer(final CLBuffer<?> buffer, final CLMemory.Map flag, final long offset, final long length, final boolean blockingMap)
Calls {@native clEnqueueMapBuffer}.
CLCommandQueue putCopyImageToBuffer(final CLImage3d<?> srcImage, final CLBuffer<?> dstBuffer, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage2d<?> dstImage, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBufferToImage}.
ByteBuffer putMapImage(final CLImage2d<?> buffer, final CLMemory.Map flag, final int offsetX, final int offsetY, final int rangeX, final int rangeY, final boolean blockingMap)
Calls {@native clEnqueueMapImage}.
CLCommandQueue putWriteImage(final CLImage2d<?> writeImage, final boolean blockingWrite, final CLEventList events)
Calls {@native clEnqueueWriteImage}.
CLCommandQueue put1DRangeKernel(final CLKernel kernel, final long globalWorkOffset, final long globalWorkSize, final long localWorkSize, final CLEventList events)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putTask(final CLKernel kernel, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueTask}.
CLCommandQueue put1DRangeKernel(final CLKernel kernel, final long globalWorkOffset, final long globalWorkSize, final long localWorkSize, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueNDRangeKernel}.
ByteBuffer putMapImage(final CLImage3d<?> image, final CLMemory.Map flag, final int offsetX, final int offsetY, final int offsetZ, final int rangeX, final int rangeY, final int rangeZ, final boolean blockingMap, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueMapImage}.
CLCommandQueue putReleaseGLObject(final CLGLObject glObject, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReleaseGLObjects}.
CLCommandQueue putCopyImage(final CLImage2d<?> srcImage, final CLImage2d<?> dstImage, final int srcOriginX, final int srcOriginY, final int dstOriginX, final int dstOriginY, final int rangeX, final int rangeY)
Calls {@native clEnqueueCopyImage}.
ByteBuffer putMapBuffer(final CLBuffer<?> buffer, final CLMemory.Map flag, final boolean blockingMap, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueMapBuffer}.
ByteBuffer putMapImage(final CLImage3d<?> image, final CLMemory.Map flag, final boolean blockingMap)
Calls {@native clEnqueueMapImage}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage2d<?> dstImage)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue put1DRangeKernel(final CLKernel kernel, final long globalWorkOffset, final long globalWorkSize, final long localWorkSize)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putReadImage(final CLImage2d<?> readImage, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadImage}.
CLCommandQueue putWriteBufferRect(final CLBuffer<?> writeBuffer, final int originX, final int originY, final int originZ, final int hostX, final int hostY, final int hostZ, final int rangeX, final int rangeY, final int rangeZ, final long rowPitch, final long slicePitch, final long hostRowPitch, final long hostSlicePitch, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteBufferRect}.
boolean isProfilingEnabled()
Returns true only when Mode#PROFILING_MODE has been enabled.
ByteBuffer putMapImage(final CLImage3d<?> image, final CLMemory.Map flag, final boolean blockingMap, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueMapImage}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage3d<?> dstImage, final long srcOffset, final int dstOriginX, final int dstOriginY, final int dstOriginZ, final int rangeX, final int rangeY, final int rangeZ, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue putAcquireGLObjects(final PointerBuffer glObjectIDs, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueAcquireGLObjects}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage3d<?> dstImage)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage3d<?> dstImage, final CLEventList events)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue finish()
Calls {@native clFinish}.
CLCommandQueue putWriteImage(final CLImage3d<?> writeImage, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteImage}.
CLCommandQueue putCopyImageToBuffer(final CLImage3d<?> srcImage, final CLBuffer<?> dstBuffer, final int srcOriginX, final int srcOriginY, final int srcOriginZ, final int rangeX, final int rangeY, final int rangeZ, final long dstOffset)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putWriteBufferRect(final CLBuffer<?> writeBuffer, final int originX, final int originY, final int originZ, final int hostX, final int hostY, final int hostZ, final int rangeX, final int rangeY, final int rangeZ, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteBufferRect}.
CLCommandQueue putReadBufferRect(final CLBuffer<?> readBuffer, final int originX, final int originY, final int originZ, final int hostX, final int hostY, final int hostZ, final int rangeX, final int rangeY, final int rangeZ, final long rowPitch, final long slicePitch, final long hostRowPitch, final long hostSlicePitch, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadBufferRect}.
CLCommandQueue putCopyImage(final CLImage3d<?> srcImage, final CLImage3d<?> dstImage, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyImage}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage2d<?> dstImage, final long srcOffset, final int dstOriginX, final int dstOriginY, final int rangeX, final int rangeY)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue putCopyImageToBuffer(final CLImage3d<?> srcImage, final CLBuffer<?> dstBuffer, final CLEventList events)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putCopyBufferRect(final CLBuffer<?> src, final CLBuffer<?> dest, final int srcOriginX, final int srcOriginY, final int srcOriginZ, final int destOriginX, final int destOriginY, final int destOriginZ, final int rangeX, final int rangeY, final int rangeZ, final long srcRowPitch, final long srcSlicePitch, final long destRowPitch, final long destSlicePitch, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBufferRect}.
ByteBuffer putMapImage(final CLImage2d<?> image, final CLMemory.Map flag, final boolean blockingMap, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueMapImage}.
CLCommandQueue putCopyImage(final CLImage3d<?> srcImage, final CLImage3d<?> dstImage)
Calls {@native clEnqueueCopyImage}.
CLCommandQueue putCopyBufferRect(final CLBuffer<?> src, final CLBuffer<?> dest, final int srcOriginX, final int srcOriginY, final int destOriginX, final int destOriginY, final int rangeX, final int rangeY, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBufferRect}.
CLCommandQueue putReleaseGLObjects(final PointerBuffer glObjectIDs, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReleaseGLObjects}.
CLCommandQueue putTask(final CLKernel kernel, final CLEventList events)
ByteBuffer putMapImage(final CLImage2d<?> image, final CLMemory.Map flag, final int offsetX, final int offsetY, final int rangeX, final int rangeY, final boolean blockingMap, final CLEventList condition, final CLEventList events, final long[] imageRowPitch, final long[] imageSlicePitch)
Calls {@native clEnqueueMapImage}.
CLDevice getDevice()
Returns the device of this command queue.
CLCommandQueue putCopyImageToBuffer(final CLImage2d<?> srcImage, final CLBuffer<?> dstBuffer, final int srcOriginX, final int srcOriginY, final int rangeX, final int rangeY, final long dstOffset)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putReadImage(final CLImage2d<?> readImage, final int inputRowPitch, final int originX, final int originY, final int rangeX, final int rangeY, final boolean blockingRead)
Calls {@native clEnqueueReadImage}.
CLCommandQueue putCopyBufferRect(final CLBuffer<?> src, final CLBuffer<?> dest, final int srcOriginX, final int srcOriginY, final int srcOriginZ, final int destOriginX, final int destOriginY, final int destOriginZ, final int rangeX, final int rangeY, final int rangeZ, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBufferRect}.
CLCommandQueue putReadImage(final CLImage3d<?> readImage, final int inputRowPitch, final int inputSlicePitch, final int originX, final int originY, final int originZ, final int rangeX, final int rangeY, final int rangeZ, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadImage}.
CLCommandQueue put3DRangeKernel(final CLKernel kernel, final long globalWorkOffsetX, final long globalWorkOffsetY, final long globalWorkOffsetZ, final long globalWorkSizeX, final long globalWorkSizeY, final long globalWorkSizeZ, final long localWorkSizeX, final long localWorkSizeY, final long localWorkSizeZ, final CLEventList events)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putNDRangeKernel(final CLKernel kernel, final int workDimension, final PointerBuffer globalWorkOffset, final PointerBuffer globalWorkSize, final PointerBuffer localWorkSize, final CLEventList events)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putCopyBuffer(final CLBuffer<?> src, final CLBuffer<?> dest)
Calls {@native clEnqueueCopyBuffer}.
CLCommandQueue putMarker(final CLEventList events)
Calls {@native clEnqueueMarker}.
CLCommandQueue putCopyBufferRect(final CLBuffer<?> src, final CLBuffer<?> dest, final int srcOriginX, final int srcOriginY, final int destOriginX, final int destOriginY, final int rangeX, final int rangeY, final long srcRowPitch, final long srcSlicePitch, final long destRowPitch, final long destSlicePitch, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBufferRect}.
CLCommandQueue putReadImage(final CLImage3d<?> readImage, final boolean blockingRead, final CLEventList events)
Calls {@native clEnqueueReadImage}.
CLCommandQueue putReadBufferRect(final CLBuffer<?> readBuffer, final int originX, final int originY, final int originZ, final int hostX, final int hostY, final int hostZ, final int rangeX, final int rangeY, final int rangeZ, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadBufferRect}.
CLCommandQueue putWaitForEvents(final CLEventList list, final boolean blockingWait)
Calls {@native clWaitForEvents} if blockingWait equals true otherwise {@native clEnqueueWaitForEvents...
CLCommandQueue putReadBufferRect(final CLBuffer<?> readBuffer, final int originX, final int originY, final int hostX, final int hostY, final int rangeX, final int rangeY, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadBufferRect}.
CLCommandQueue putAcquireGLObject(final CLGLObject glObject, final CLEventList events)
Calls {@native clEnqueueAcquireGLObjects}.
CLCommandQueue putCopyBuffer(final CLBuffer<?> src, final CLBuffer<?> dest, final int srcOffset, final int destOffset, final long bytesToCopy, final CLEventList events)
Calls {@native clEnqueueCopyBuffer}.
CLCommandQueue putWaitForEvent(final CLEventList list, final int index, final boolean blockingWait)
Calls {@native clWaitForEvents} if blockingWait equals true otherwise {@native clEnqueueWaitForEvents...
CLCommandQueue putCopyImageToBuffer(final CLImage3d<?> srcImage, final CLBuffer<?> dstBuffer, final int srcOriginX, final int srcOriginY, final int srcOriginZ, final int rangeX, final int rangeY, final int rangeZ, final long dstOffset, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putWriteBuffer(final CLBuffer<?> writeBuffer, final boolean blockingRead)
Calls {@native clEnqueueWriteBuffer}.
ByteBuffer putMapImage(final CLImage3d<?> image, final CLMemory.Map flag, final boolean blockingMap, final CLEventList events)
Calls {@native clEnqueueMapImage}.
CLCommandQueue putCopyBuffer(final CLBuffer<?> src, final CLBuffer<?> dest, final int srcOffset, final int destOffset, final long bytesToCopy, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBuffer}.
CLCommandQueue put3DRangeKernel(final CLKernel kernel, final long globalWorkOffsetX, final long globalWorkOffsetY, final long globalWorkOffsetZ, final long globalWorkSizeX, final long globalWorkSizeY, final long globalWorkSizeZ, final long localWorkSizeX, final long localWorkSizeY, final long localWorkSizeZ, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putReleaseGLObject(final CLGLObject glObject)
Calls {@native clEnqueueReleaseGLObjects}.
CLCommandQueue putReadImage(final CLImage2d<?> readImage, final boolean blockingRead)
Calls {@native clEnqueueReadImage}.
CLCommandQueue putWriteImage(final CLImage3d<?> writeImage, final int inputRowPitch, final int inputSlicePitch, final int originX, final int originY, final int originZ, final int rangeX, final int rangeY, final int rangeZ, final boolean blockingWrite)
Calls {@native clEnqueueWriteImage}.
ByteBuffer putMapBuffer(final CLBuffer<?> buffer, final CLMemory.Map flag, final long offset, final long length, final boolean blockingMap, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueMapBuffer}.
CLCommandQueue putUnmapMemory(final CLMemory<?> memory, final Buffer mapped, final CLEventList events)
Calls {@native clEnqueueUnmapMemObject}.
CLCommandQueue putReadBuffer(final CLBuffer<?> readBuffer, final boolean blockingRead, final CLEventList events)
Calls {@native clEnqueueReadBuffer}.
CLCommandQueue putWriteImage(final CLImage2d<?> writeImage, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteImage}.
CLCommandQueue putUnmapMemory(final CLMemory<?> memory, final Buffer mapped, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueUnmapMemObject}.
CLCommandQueue putReleaseGLObjects(final CLGLObject glObject1, final CLGLObject glObject2, final CLGLObject glObject3, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueAcquireGLObjects}.
ByteBuffer putMapBuffer(final CLBuffer<?> buffer, final CLMemory.Map flag, final boolean blockingMap, final CLEventList events)
Calls {@native clEnqueueMapBuffer}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage2d<?> dstImage, final long srcOffset, final int dstOriginX, final int dstOriginY, final int rangeX, final int rangeY, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue putWriteImage(final CLImage3d<?> writeImage, final int inputRowPitch, final int inputSlicePitch, final int originX, final int originY, final int originZ, final int rangeX, final int rangeY, final int rangeZ, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteImage}.
CLCommandQueue putReadImage(final CLImage2d<?> readImage, final int inputRowPitch, final int originX, final int originY, final int rangeX, final int rangeY, final boolean blockingRead, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueReadImage}.
CLCommandQueue putReadImage(final CLImage2d<?> readImage, final boolean blockingRead, final CLEventList events)
Calls {@native clEnqueueReadImage}.
ByteBuffer putMapBuffer(final CLBuffer<?> buffer, final CLMemory.Map flag, final boolean blockingMap)
Calls {@native clEnqueueMapBuffer}.
CLCommandQueue putReadBuffer(final CLBuffer<?> readBuffer, final boolean blockingRead)
Calls {@native clEnqueueReadBuffer}.
void release()
Releases the OpenCL resource.
CLCommandQueue putCopyImage(final CLImage2d<?> srcImage, final CLImage2d<?> dstImage, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyImage}.
CLCommandQueue putWriteImage(final CLImage2d<?> writeImage, final int inputRowPitch, final int originX, final int originY, final int rangeX, final int rangeY, final boolean blockingWrite)
Calls {@native clEnqueueWriteImage}.
CLCommandQueue putReleaseGLObject(final CLGLObject glObject, final CLEventList events)
Calls {@native clEnqueueReleaseGLObjects}.
CLCommandQueue put2DRangeKernel(final CLKernel kernel, final long globalWorkOffsetX, final long globalWorkOffsetY, final long globalWorkSizeX, final long globalWorkSizeY, final long localWorkSizeX, final long localWorkSizeY, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putNDRangeKernel(final CLKernel kernel, final int workDimension, final PointerBuffer globalWorkOffset, final PointerBuffer globalWorkSize, final PointerBuffer localWorkSize, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putCopyImage(final CLImage2d<?> srcImage, final CLImage2d<?> dstImage, final int srcOriginX, final int srcOriginY, final int dstOriginX, final int dstOriginY, final int rangeX, final int rangeY, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyImage}.
ByteBuffer putMapImage(final CLImage2d<?> image, final CLMemory.Map flag, final boolean blockingMap, final CLEventList events)
Calls {@native clEnqueueMapImage}.
CLCommandQueue putCopyImageToBuffer(final CLImage2d<?> srcImage, final CLBuffer<?> dstBuffer, final CLEventList events)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue put2DRangeKernel(final CLKernel kernel, final long globalWorkOffsetX, final long globalWorkOffsetY, final long globalWorkSizeX, final long globalWorkSizeY, final long localWorkSizeX, final long localWorkSizeY)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putWriteBuffer(final CLBuffer<?> writeBuffer, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteBuffer}.
ByteBuffer putMapImage(final CLImage2d<?> image, final CLMemory.Map flag, final boolean blockingMap)
Calls {@native clEnqueueMapImage}.
CLCommandQueue put3DRangeKernel(final CLKernel kernel, final long globalWorkOffsetX, final long globalWorkOffsetY, final long globalWorkOffsetZ, final long globalWorkSizeX, final long globalWorkSizeY, final long globalWorkSizeZ, final long localWorkSizeX, final long localWorkSizeY, final long localWorkSizeZ)
Calls {@native clEnqueueNDRangeKernel}.
CLCommandQueue putCopyBufferToImage(final CLBuffer<?> srcBuffer, final CLImage2d<?> dstImage, final CLEventList events)
Calls {@native clEnqueueCopyBufferToImage}.
CLCommandQueue putWriteImage(final CLImage3d<?> writeImage, final boolean blockingWrite)
Calls {@native clEnqueueWriteImage}.
CLCommandQueue putCopyImage(final CLImage3d<?> srcImage, final CLImage3d<?> dstImage, final CLEventList events)
Calls {@native clEnqueueCopyImage}.
EnumSet< Mode > getProperties()
Returns the command queue properties as EnumSet.
CLCommandQueue putReleaseGLObjects(final CLGLObject glObject1, final CLGLObject glObject2, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueAcquireGLObjects}.
CLCommandQueue putWriteImage(final CLImage2d<?> writeImage, final int inputRowPitch, final int originX, final int originY, final int rangeX, final int rangeY, final boolean blockingWrite, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueWriteImage}.
CLCommandQueue putReadImage(final CLImage3d<?> readImage, final boolean blockingRead)
Calls {@native clEnqueueReadImage}.
CLCommandQueue putCopyImageToBuffer(final CLImage2d<?> srcImage, final CLBuffer<?> dstBuffer)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putCopyImage(final CLImage<?> srcImage, final CLImage<?> dstImage, final int srcOriginX, final int srcOriginY, final int srcOriginZ, final int dstOriginX, final int dstOriginY, final int dstOriginZ, final int rangeX, final int rangeY, final int rangeZ, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueCopyImage}.
CLCommandQueue putCopyImage(final CLImage2d<?> srcImage, final CLImage2d<?> dstImage)
Calls {@native clEnqueueCopyImage}.
ByteBuffer putMapImage(final CLImage2d<?> image, final CLMemory.Map flag, final int offsetX, final int offsetY, final int rangeX, final int rangeY, final boolean blockingMap, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueMapImage}.
CLCommandQueue putCopyImage(final CLImage3d<?> srcImage, final CLImage3d<?> dstImage, final int srcOriginX, final int srcOriginY, final int srcOriginZ, final int dstOriginX, final int dstOriginY, final int dstOriginZ, final int rangeX, final int rangeY, final int rangeZ)
Calls {@native clEnqueueCopyImage}.
CLCommandQueue putCopyImageToBuffer(final CLImage3d<?> srcImage, final CLBuffer<?> dstBuffer)
Calls {@native clEnqueueCopyImageToBuffer}.
CLCommandQueue putCopyImage(final CLImage2d<?> srcImage, final CLImage2d<?> dstImage, final CLEventList events)
Calls {@native clEnqueueCopyImage}.
CLCommandQueue flush()
Calls {@native clFlush}.
CLCommandQueue putAcquireGLObjects(final CLGLObject glObject1, final CLGLObject glObject2, final CLGLObject glObject3, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueAcquireGLObjects}.
CLCommandQueue putAcquireGLObjects(final CLGLObject glObject1, final CLGLObject glObject2, final CLEventList condition, final CLEventList events)
Calls {@native clEnqueueAcquireGLObjects}.
CLCommandQueue putNDRangeKernel(final CLKernel kernel, final int workDimension, final PointerBuffer globalWorkOffset, final PointerBuffer globalWorkSize, final PointerBuffer localWorkSize)
Calls {@native clEnqueueNDRangeKernel}.
CLContext is responsible for managing objects such as command-queues, memory, program and kernel obje...
CLPlatform getPlatform()
Returns the CLPlatform this context is running on.
This object represents an OpenCL device.
Fixed size list for storing CLEvents.
void waitForEvent(final int index)
Waits for the event with the given index in this list to occur.
void waitForEvents()
Waits for all events in this list to occur.
High level abstraction for an OpenCL Kernel.
Common superclass for all OpenCL memory types.
B getBuffer()
Returns the optional NIO buffer for this memory object.
int getNIOSize()
Returns the size of the wrapped direct buffer in byte or 0 if no buffer available.
long getCLSize()
Returns the size of the allocated OpenCL memory in bytes.
final long ID
The OpenCL object handle.
Enumeration for the command-queue settings.
static Mode valueOf(final int queueMode)
final int QUEUE_MODE
Value of wrapped OpenCL device type.
static EnumSet< Mode > valuesOf(final long bitfield)
OUT_OF_ORDER_MODE
If set, the commands in the command-queue are executed out-of-order.
PROFILING_MODE
Enables profiling of commands in the command-queue.
Configures the mapping process.
long getID()
Returns the OpenCL object handle.
Java bindings to OpenCL, the Open Computing Language.
int clEnqueueCopyImage(long command_queue, long src_image, long dst_image, PointerBuffer arg3, PointerBuffer arg4, PointerBuffer arg5, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueCopyImage}(cl_command_queue command_queu...
int clEnqueueWaitForEvents(long command_queue, int num_events, PointerBuffer event_list)
Interface to C language function: cl_int {@native clEnqueueWaitForEvents}(cl_command_queue command_...
ByteBuffer clEnqueueMapImage(long command_queue, long image, int blocking_map, long map_flags, PointerBuffer arg4, PointerBuffer arg5, PointerBuffer image_row_pitch, PointerBuffer image_slice_pitch, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event, IntBuffer errcode_ret)
Interface to C language function: void * {@native clEnqueueMapImage}(cl_command_queue command_queue...
int clEnqueueTask(long command_queue, long kernel, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueTask}(cl_command_queue command_queue,...
ByteBuffer clEnqueueMapBuffer(long command_queue, long buffer, int blocking_map, long map_flags, long offset, long cb, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event, IntBuffer errcode_ret)
Interface to C language function: void * {@native clEnqueueMapBuffer}(cl_command_queue command_queu...
int clEnqueueWriteImage(long command_queue, long image, int blocking_write, PointerBuffer arg3, PointerBuffer arg4, long input_row_pitch, long input_slice_pitch, Buffer ptr, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueWriteImage}(cl_command_queue command_que...
int clEnqueueCopyBuffer(long command_queue, long src_buffer, long dst_buffer, long src_offset, long dst_offset, long cb, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueCopyBuffer}(cl_command_queue command_que...
int clEnqueueWriteBuffer(long command_queue, long buffer, int blocking_write, long offset, long cb, Buffer ptr, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueWriteBuffer}(cl_command_queue command_qu...
int clEnqueueUnmapMemObject(long command_queue, long memobj, Buffer mapped_ptr, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueUnmapMemObject}(cl_command_queue command...
int clEnqueueCopyImageToBuffer(long command_queue, long src_image, long dst_buffer, PointerBuffer arg3, PointerBuffer arg4, long dst_offset, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueCopyImageToBuffer}(cl_command_queue comm...
int clEnqueueReleaseGLObjects(long command_queue, int num_objects, PointerBuffer mem_objects, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueReleaseGLObjects}(cl_command_queue comma...
int clEnqueueReadBuffer(long command_queue, long buffer, int blocking_read, long offset, long cb, Buffer ptr, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueReadBuffer}(cl_command_queue command_que...
int clEnqueueCopyBufferRect(long command_queue, long src_buffer, long dst_buffer, PointerBuffer src_origin, PointerBuffer dst_origin, PointerBuffer region, long src_row_pitch, long src_slice_pitch, long dst_row_pitch, long dst_slice_pitch, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueCopyBufferRect}(cl_command_queue command...
int clEnqueueReadImage(long command_queue, long image, int blocking_read, PointerBuffer arg3, PointerBuffer arg4, long row_pitch, long slice_pitch, Buffer ptr, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueReadImage}(cl_command_queue command_queu...
int clFlush(long command_queue)
Interface to C language function: cl_int {@native clFlush}(cl_command_queue command_queue)
int clEnqueueAcquireGLObjects(long command_queue, int num_objects, PointerBuffer mem_objects, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueAcquireGLObjects}(cl_command_queue comma...
int clEnqueueWriteBufferRect(long command_queue, long buffer, int blocking_write, PointerBuffer buffer_origin, PointerBuffer host_origin, PointerBuffer region, long buffer_row_pitch, long buffer_slice_pitch, long host_row_pitch, long host_slice_pitch, Buffer ptr, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueWriteBufferRect}(cl_command_queue comman...
int clReleaseCommandQueue(long command_queue)
Interface to C language function: cl_int {@native clReleaseCommandQueue}(cl_command_queue command_q...
int clEnqueueNDRangeKernel(long command_queue, long kernel, int work_dim, PointerBuffer global_work_offset, PointerBuffer global_work_size, PointerBuffer local_work_size, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueNDRangeKernel}(cl_command_queue command_...
int clEnqueueReadBufferRect(long command_queue, long buffer, int blocking_read, PointerBuffer buffer_origin, PointerBuffer host_origin, PointerBuffer region, long buffer_row_pitch, long buffer_slice_pitch, long host_row_pitch, long host_slice_pitch, Buffer ptr, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueReadBufferRect}(cl_command_queue command...
int clFinish(long command_queue)
Interface to C language function: cl_int {@native clFinish}(cl_command_queue command_queue)
int clEnqueueCopyBufferToImage(long command_queue, long src_buffer, long dst_image, long src_offset, PointerBuffer arg4, PointerBuffer arg5, int num_events_in_wait_list, PointerBuffer event_wait_list, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueCopyBufferToImage}(cl_command_queue comm...
long clCreateCommandQueue(long context, long device, long properties, IntBuffer errcode_ret)
Interface to C language function: cl_command_queue {@native clCreateCommandQueue}(cl_context contex...
int clEnqueueBarrier(long command_queue)
Interface to C language function: cl_int {@native clEnqueueBarrier}(cl_command_queue command_queue)
int clEnqueueMarker(long command_queue, PointerBuffer event)
Interface to C language function: cl_int {@native clEnqueueMarker}(cl_command_queue command_queue,...