com.jogamp.opencl
Class CLEvent

java.lang.Object
  extended by com.jogamp.opencl.CLObject
      extended by com.jogamp.opencl.CLEvent
All Implemented Interfaces:
AutoCloseable, CLResource
Direct Known Subclasses:
CLUserEvent

public class CLEvent
extends CLObject

Event objects can be used for synchronizing command queues, e.g you can wait until a event occurs or they can also be used to capture profiling information that measure execution time of a command. Profiling of OpenCL commands can be enabled by using a CLCommandQueue created with CLCommandQueue.Mode.PROFILING_MODE.

Author:
Michael Bien, et al.

Nested Class Summary
static class CLEvent.CommandType
           
static class CLEvent.ExecutionStatus
           
static class CLEvent.ProfilingCommand
           
 
Field Summary
 
Fields inherited from class com.jogamp.opencl.CLObject
context, ID
 
Method Summary
 void close()
          Deprecated. This method is not intended to be called from client code.
 boolean equals(Object obj)
           
 long getProfilingInfo(CLEvent.ProfilingCommand command)
           
 CLEvent.ExecutionStatus getStatus()
          Returns the execution status of the command which triggers this event.
 int getStatusCode()
           
 CLEvent.CommandType getType()
           
 int hashCode()
           
 boolean isComplete()
          Returns true only if getStatus() returns CLEvent.ExecutionStatus.COMPLETE.
 boolean isReleased()
          Returns true if CLResource.release() has been called.
 void registerCallback(CLEventListener callback)
          Registers a callback which will be called when the event terminates (COMPLETE or ERROR).
 void release()
          Releases the OpenCL resource.
 String toString()
           
 
Methods inherited from class com.jogamp.opencl.CLObject
getContext, getID, getPlatform
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

registerCallback

public void registerCallback(CLEventListener callback)
Registers a callback which will be called when the event terminates (COMPLETE or ERROR).


release

public void release()
Description copied from interface: CLResource
Releases the OpenCL resource.

Specified by:
release in interface CLResource

getStatus

public CLEvent.ExecutionStatus getStatus()
Returns the execution status of the command which triggers this event.


isComplete

public boolean isComplete()
Returns true only if getStatus() returns CLEvent.ExecutionStatus.COMPLETE.


getStatusCode

public int getStatusCode()

getType

public CLEvent.CommandType getType()

getProfilingInfo

public long getProfilingInfo(CLEvent.ProfilingCommand command)

toString

public String toString()
Overrides:
toString in class CLObject

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

close

@Deprecated
public final void close()
Deprecated. This method is not intended to be called from client code.

Implementation detail, satisfying AutoCloseable. Might be remove as soon we have extension methods, but shall validate with Java 1.5 specs.

Specified by:
close in interface AutoCloseable
See Also:
AutoCloseable

isReleased

public boolean isReleased()
Description copied from interface: CLResource
Returns true if CLResource.release() has been called.

Specified by:
isReleased in interface CLResource