Package org.lwjgl.opencl

# Class CLNativeKernel

java.lang.Object
org.lwjgl.PointerWrapperAbstract
org.lwjgl.opencl.CLNativeKernel

All Implemented Interfaces:
  `PointerWrapper`

public abstract class CLNativeKernel extends PointerWrapperAbstract
Instances of this class can be used to execute native kernels. clEnqueueNativeKernel will build the its arguments automatically, in a way that allows `execute` to receive an array of ByteBuffers, pointing to cl_mem objects in global memory. The ByteBuffer objects should not be used outside the handleMessage method.

Author:
  Spasi
See Also:
  - `CL10.clEnqueueNativeKernel(org.lwjgl.opencl.CLCommandQueue, org.lwjgl.opencl.CLNativeKernel, org.lwjgl.opencl.CLMem[], long[], org.lwjgl.PointerBuffer, org.lwjgl.PointerBuffer)`
  - `execute(java.nio.ByteBuffer[])`

## Field Summary

### Fields inherited from class org.lwjgl.PointerWrapperAbstract

`pointer`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`CLNativeKernel()`

## Method Summary

Modifier and Type
Method
Description
`protected abstract void`
`execute(ByteBuffer[] memobjs)`
Implement this method to execute an action on cl_mem objects in global memory.

### Methods inherited from class org.lwjgl.PointerWrapperAbstract

`checkValid, equals, getPointer, hashCode, isValid, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### CLNativeKernel

protected CLNativeKernel()

## Method Details

### execute

protected abstract void execute(ByteBuffer[] memobjs)
Implement this method to execute an action on cl_mem objects in global memory.

Parameters:
  `memobjs` - an array of ByteBuffers pointing to cl_mem global memory.