Class ARBCLEvent


  • public class ARBCLEvent
    extends java.lang.Object
    Native bindings to the ARB_cl_event extension.

    This extension allows creating OpenGL sync objects linked to OpenCL event objects, potentially improving efficiency of sharing images and buffers between the two APIs. The companion cl_khr_gl_event OpenCL extension provides the complementary functionality of creating an OpenCL event object from an OpenGL fence sync object.

    Requires OpenGL 3.2 or ARB_sync. Requires an OpenCL implementation supporting sharing event objects with OpenGL.

    • Method Detail

      • nglCreateSyncFromCLeventARB

        public static long nglCreateSyncFromCLeventARB​(long context,
                                                       long event,
                                                       int flags)
        Unsafe version of: CreateSyncFromCLeventARB
      • glCreateSyncFromCLeventARB

        public static long glCreateSyncFromCLeventARB​(long context,
                                                      long event,
                                                      int flags)
        Creates a linked sync object. context and event must be handles to a valid OpenCL context and a valid event in that context, respectively. context must support sharing with GL, and must have been created with respect to the current GL context, or to a share group including the current GL context.

        The status of such a sync object depends on event. When the status of event is CL10.CL_QUEUED, CL10.CL_SUBMITTED, or CL10.CL_RUNNING, the status of the linked sync object will be UNSIGNALED. When the status of event changes to CL10.CL_COMPLETE, the status of the linked sync object will become SIGNALED.

        Creating a linked sync object places a reference on the linked OpenCL event object. When the sync object is deleted, the reference will be removed from the event object.

        Parameters:
        context - a valid OpenCL context
        event - a valid OpenCL event
        flags - must be 0 (placeholder for anticipated future extensions of sync object capabilities)