Returns information about the event object.
cl_int clGetEventInfo(cl_event event,
cl_event_info param_name,
size_t param_value_size,
void *param_value,
size_t *param_value_size_ret)
event
-
Specifies the event object being queried.
param_value
-
A pointer to memory where the appropriate result being queried is returned. If
param_value
is NULL, it is ignored. param_value_size
-
Specifies the size in bytes of memory pointed to by
param_value
. This size must be ≥ size of the return type as described in the table below. param_value_size_ret
-
Returns the actual size in bytes of data copied to
param_value
. Ifparam_value_size_ret
is NULL, it is ignored. param_name
-
Specifies the information to query. The list of supported
param_name
types and the information returned inparam_value
byclGetEventInfo
is described in the table below (Table 5.22):cl_event_info Return Type Information returned in param_value
CL_EVENT_COMMAND_QUEUE
cl_command_queue
Return the command-queue associated with
event
. For user event objects, a NULL value is returned. If thecl_khr_gl_sharing
extension is enabled, the command queue of a linked event NULL, because the event is not associated with any OpenCL command queue. If thecl_khr_egl_event
extension is enabled, theCL_EVENT_COMMAND_QUEUE
of a linked event isNULL
, because the event is not associated with any OpenCL command queue.CL_EVENT_CONTEXT
cl_context
Return the context associated with
event
.CL_EVENT_COMMAND_TYPE
cl_command_type
Return the command associated with
event
. Can be one of the following values:CL_COMMAND_NDRANGE_KERNEL CL_COMMAND_NATIVE_KERNEL CL_COMMAND_READ_BUFFER CL_COMMAND_WRITE_BUFFER CL_COMMAND_COPY_BUFFER CL_COMMAND_READ_IMAGE CL_COMMAND_WRITE_IMAGE CL_COMMAND_COPY_IMAGE CL_COMMAND_COPY_BUFFER_TO_IMAGE CL_COMMAND_COPY_IMAGE_TO_BUFFER CL_COMMAND_MAP_BUFFER CL_COMMAND_MAP_IMAGE CL_COMMAND_UNMAP_MEM_OBJECT CL_COMMAND_MARKER CL_COMMAND_ACQUIRE_GL_OBJECTS CL_COMMAND_RELEASE_GL_OBJECTS CL_COMMAND_READ_BUFFER_RECT CL_COMMAND_WRITE_BUFFER_RECT CL_COMMAND_COPY_BUFFER_RECT CL_COMMAND_USER CL_COMMAND_BARRIER CL_COMMAND_MIGRATE_MEM_OBJECTS CL_COMMAND_FILL_BUFFER CL_COMMAND_FILL_IMAGE CL_COMMAND_SVM_FREE CL_COMMAND_SVM_MEMCPY CL_COMMAND_SVM_MEMFILL CL_COMMAND_SVM_MAP CL_COMMAND_SVM_UNMAP CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR (if cl_khr_gl_event is enabled, indicating that the event is associated with a GL sync object, rather than an OpenCL command) CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR (if cl_khr_d3d10_sharing is enabled) CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR (if cl_khr_d3d10_sharing is enabled) CL_COMMAND_ACQUIRE_DX9_MEDIA_SURFACES_KHR (if cl_khr_dx9_media_sharing is enabled) CL_COMMAND_RELEASE_DX9_MEDIA_SURFACES_KHR (if cl_khr_dx9_media_sharing is enabled) CL_COMMAND_ACQUIRE_D3D11_OBJECTS_KHR (if cl_khr_d3d11_sharing is enabled) CL_COMMAND_RELEASE_D3D11_OBJECTS_KHR (if cl_khr_d3d11_sharing is enabled) CL_COMMAND_EGL_FENCE_SYNC_OBJECT_KHR (if cl_khr_egl_event is enabled)
CL_EVENT_COMMAND_ EXECUTION_STATUS
cl_int
Return the execution status of the command identified by
event
. The valid values are:CL_QUEUED
(command has been enqueued in the command-queue),CL_SUBMITTED
(enqueued command has been submitted by the host to the device associated with the command-queue),CL_RUNNING
(device is currently executing this command),CL_COMPLETE
(the command has completed), orError code given by a negative integer value. (command was abnormally terminated – this may be caused by a bad memory access etc.) These error codes come from the same set of error codes that are returned from the platform or runtime API calls as return values or
errcode_ret
values.The error code values are negative, and event state values are positive. The event state values are ordered from the largest value (
CL_QUEUED
) for the first or initial state to the smallest value (CL_COMPLETE
or negative integer value) for the last or complete state. The value ofCL_COMPLETE
andCL_SUCCESS
are the same.If the
cl_khr_gl_event
extension is enabled, the status of a linked event is eitherCL_SUBMITTED
, indicating that the fence command associated with the sync object has not yet completed, orCL_COMPLETE
, indicating that the fence command has completed.If the
cl_khr_egl_event
extension is enabled, the status of a linked event is eitherCL_SUBMITTED
, indicating that the fence command associated with the sync object has not yet completed, orCL_COMPLETE
, indicating that the fence command has completed.CL_EVENT_REFERENCE_COUNT
cl_uint
Return the
event
reference count. The reference count returned should be considered immediately stale. It is unsuitable for general use in applications. This feature is provided for identifying memory leaks.
Using clGetEventInfo
to determine if a command identified by event
has finished execution (i.e.
CL_EVENT_COMMAND_EXECUTION_STATUS
returns CL_COMPLETE
) is not a synchronization point.
There are no guarantees that the memory objects being modified by command associated with event
will be visible to other enqueued commands.
Returns CL_SUCCESS
if the function executed successfully.
Otherwise, it returns one of the following errors:
-
CL_INVALID_VALUE
ifparam_name
is not valid, or if size in bytes specified byparam_value_size
is < size of return type as described in the table above andparam_value
is not NULL. -
CL_INVALID_VALUE
if information to query given inparam_name
cannot be queried for event. -
CL_INVALID_EVENT
ifevent
is not a validevent
object. -
CL_OUT_OF_RESOURCES
if there is a failure to allocate resources required by the OpenCL implementation on the device. -
CL_OUT_OF_HOST_MEMORY
if there is a failure to allocate resources required by the OpenCL implementation on the host.