table of contents
CLCREATEEVENTFROMGLS(3clc) | OpenCL Manual | CLCREATEEVENTFROMGLS(3clc) |
NAME¶
clCreateEventFromGLsyncKHR - Creates an event object linked to an OpenGL sync object.¶
cl_event
clCreateEventFromGLsyncKHR(cl_context context,
GLsync sync,
cl_int *errcode_ret);
PARAMETERS¶
contextA valid OpenCL context created from an OpenGL context or
share group, using the cl_khr_gl_sharing(3clc) extension.
sync
The name of a sync object in the GL share group
associated with context.
DESCRIPTION¶
An event object may be created by linking to an OpenGL sync object. Completion of such an event object is equivalent to waiting for completion of the fence command associated with the linked GL sync object.NOTES¶
The parameters of an event object linked to a GL sync object will return the following values when queried with clGetEventInfo(3clc):• The CL_EVENT_COMMAND_QUEUE of a linked
event is NULL, because the event is not associated with any OpenCL command
queue.
• The CL_EVENT_COMMAND_TYPE of a linked
event is CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR, indicating that the event
is associated with a GL sync object, rather than an OpenCL command.
• The CL_EVENT_COMMAND_EXECUTION_STATUS of
a linked event is either CL_SUBMITTED, indicating that the fence
command associated with the sync object has not yet completed, or
CL_COMPLETE, indicating that the fence command has completed.
clCreateEventFromGLsyncKHR performs an implicit
clRetainEvent(3clc) on the returned event object. Creating a linked
event object also places a reference on the linked GL sync object. When the
event object is deleted, the reference will be removed from the GL sync
object.
Events returned from clCreateEventFromGLsyncKHR may only be consumed by
clEnqueueAcquireGLObjects(3clc). Passing such events to any other CL
API will generate a CL_INVALID_EVENT error.
ERRORS¶
Returns a valid OpenCL event object and errcode_ret is set to CL_SUCCESS if the event object is created successfully. Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret:•CL_INVALID_CONTEXT if context is not a
valid context or was not created from a GL context.
•CL_INVALID_GL_OBJECT if sync is not the
name of a sync object in the GL share group associated with
context.
SPECIFICATION¶
OpenCL Specification[1]SEE ALSO¶
cl_khr_gl_event(3clc), clEnqueueAcquireGLObjects(3clc), clRetainEvent(3clc)AUTHORS¶
The Khronos GroupCOPYRIGHT¶
Copyright © 2007-2011 The Khronos Group Inc.NOTES¶
- 1.
- OpenCL Specification
page 62, section 9.8.4 - Additions to Chapter 5
06/18/2014 | The Khronos Group |