diff options
author | Michael Bien <[email protected]> | 2010-03-01 02:13:49 +0100 |
---|---|---|
committer | Michael Bien <[email protected]> | 2010-03-01 02:13:49 +0100 |
commit | 63a97ef2af4e97ec077d48edd62c41dc2d17eb14 (patch) | |
tree | d17ccf52ad318717d7d2cf575bd2cce133190d82 /src | |
parent | a0bc08e7f90733d291bd730a3fcde069602f99e8 (diff) |
added put/setNullArg(int size) for setting NULL ranges as kernel argument to CLKernel.
added missing flush() to CLCommandQueue.
added CLMemory.getCapacity() utility method.
Diffstat (limited to 'src')
-rw-r--r-- | src/com/mbien/opencl/CLCommandQueue.java | 9 | ||||
-rw-r--r-- | src/com/mbien/opencl/CLKernel.java | 10 | ||||
-rw-r--r-- | src/com/mbien/opencl/CLMemory.java | 12 |
3 files changed, 30 insertions, 1 deletions
diff --git a/src/com/mbien/opencl/CLCommandQueue.java b/src/com/mbien/opencl/CLCommandQueue.java index 05042333..a33593ad 100644 --- a/src/com/mbien/opencl/CLCommandQueue.java +++ b/src/com/mbien/opencl/CLCommandQueue.java @@ -990,6 +990,15 @@ public class CLCommandQueue extends CLObject implements CLResource { } /** + * Calls {@native clFlush}. + */ + public CLCommandQueue flush() { + int ret = cl.clFlush(ID); + checkForError(ret, "can not flush command queue"); + return this; + } + + /** * Returns true only when {@link Mode#PROFILING_MODE} has been enabled. */ public boolean isProfilingEnabled() { diff --git a/src/com/mbien/opencl/CLKernel.java b/src/com/mbien/opencl/CLKernel.java index a50478aa..696007ba 100644 --- a/src/com/mbien/opencl/CLKernel.java +++ b/src/com/mbien/opencl/CLKernel.java @@ -82,6 +82,11 @@ public class CLKernel extends CLObject implements CLResource, Cloneable { return this; } + public CLKernel putNullArg(int size) { + setNullArg(argIndex++, size); + return this; + } + public CLKernel putArgs(CLMemory<?>... values) { setArgs(argIndex, values); argIndex += values.length; @@ -126,6 +131,11 @@ public class CLKernel extends CLObject implements CLResource, Cloneable { return this; } + public CLKernel setNullArg(int argumentIndex, int size) { + setArgument(argumentIndex, size, null); + return this; + } + public CLKernel setArgs(CLMemory<?>... values) { setArgs(0, values); return this; diff --git a/src/com/mbien/opencl/CLMemory.java b/src/com/mbien/opencl/CLMemory.java index 84aeb6b1..275f39ff 100644 --- a/src/com/mbien/opencl/CLMemory.java +++ b/src/com/mbien/opencl/CLMemory.java @@ -76,7 +76,17 @@ public abstract class CLMemory <B extends Buffer> extends CLObject implements CL } /** - * Returns the size of the wrapped direct buffer in byte. + * Returns the capacity of the wrapped direct buffer or 0 if no buffer available. + */ + public int getCapacity() { + if(buffer == null) { + return 0; + } + return buffer.capacity(); + } + + /** + * Returns the size of the wrapped direct buffer in byte or 0 if no buffer available. */ public int getSize() { if(buffer == null) { |