Login  Register

Re: Exception while executing a 3D kernel

Posted by Michael Bien on Apr 21, 2011; 3:05pm
URL: https://forum.jogamp.org/Exception-while-executing-a-3D-kernel-tp2847306p2847351.html

  replace

PointerBuffer.allocate(1);

with

PointerBuffer.allocateDirect(1);

and don't forget to rewind the buffer

(hmm maybe we should add a utility 3D method like the 1D and 2D methods)

-michael
On 04/21/2011 04:54 PM, suleman [via jogamp] wrote:

>
> Hi,
>
> While using the clEnqueueNDRangeKernel (with 3 dimensional kernel) i got
> following exception,
> I have created a PointerBuffer and passed an array in this buffer, then the
> pointer buffer is passed to the "putNDRangeKernel" call. What mistake am i
> doing here??
>
> Code sample:
>
> PointerBuffer offSets = PointerBuffer.allocate(1);
> offSets.put(globalWorkOffsets, 0, 1);
>                           ....
>                         device.getCommandQueue().putNDRangeKernel(clkernel,
> 3, offSets, globalSizes, localSizes);
>
>
>
> com.jogamp.opencl.CLException: Argument "global_work_offset" was not a
> direct buffer
>          at
> com.jogamp.opencl.impl.CLAbstractImpl.clEnqueueNDRangeKernel(CLAbstractImpl.java:707)
>          at
> com.jogamp.opencl.CLCommandQueue.putNDRangeKernel(CLCommandQueue.java:1544)
>
>
> _______________________________________________
> If you reply to this email, your message will be added to the discussion below:
> http://forum.jogamp.org/Exception-while-executing-a-3D-kernel-tp2847306p2847306.html
> To start a new topic under jogamp, email [hidden email]
> To unsubscribe from jogamp, visit
http://michael-bien.com/