Package org.lwjgl.egl

Class KHRFenceSync


  • public class KHRFenceSync
    extends java.lang.Object
    Native bindings to the KHR_fence_sync extension.

    This extension introduces the concept of "sync objects" into EGL. Sync objects are a synchronization primitive, representing events whose completion can be tested or waited upon. This extension borrows heavily from the GL_ARB_sync extension and introduces a type of sync object known as a "fence sync object" comparable to the OpenGL fence sync object. The specification is designed to allow additional types of sync objects to be easily introduced in later extensions.

    Fence sync objects have corresponding fence commands, which are inserted into a client API command stream at the time the fence sync is created. A fence sync object is used to wait for completion of the corresponding fence command. This allows applications to request a partial Finish of an API command stream, wherein all commands issued in a particular client API context will be forced to complete before control is returned to the calling thread.

    This document describes three different extension strings collectively. The "EGL_KHR_fence_sync" string indicates that fence syncs and the corresponding interfaces (to create and place a fence, destroy, query, and wait on) are supported.

    The remaining extensions list valid client APIs for fence syncs. The "GL_OES_EGL_sync" string indicates that a fence sync object can be created in association with a fence command placed in the command stream of a bound OpenGL ES context. The "VG_KHR_EGL_sync" string indicates the same thing for a bound OpenVG context.

    Requires EGL 1.1.

    • Field Detail

      • EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR

        public static final int EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR
        See Also:
        Constant Field Values
    • Method Detail

      • neglCreateSyncKHR

        public static long neglCreateSyncKHR​(long dpy,
                                             int type,
                                             long attrib_list)
      • eglCreateSyncKHR

        public static long eglCreateSyncKHR​(long dpy,
                                            int type,
                                            @Nullable
                                            java.nio.IntBuffer attrib_list)
      • eglDestroySyncKHR

        public static boolean eglDestroySyncKHR​(long dpy,
                                                long sync)
      • eglClientWaitSyncKHR

        public static int eglClientWaitSyncKHR​(long dpy,
                                               long sync,
                                               int flags,
                                               long timeout)
      • neglGetSyncAttribKHR

        public static int neglGetSyncAttribKHR​(long dpy,
                                               long sync,
                                               int attribute,
                                               long value)
      • eglGetSyncAttribKHR

        public static boolean eglGetSyncAttribKHR​(long dpy,
                                                  long sync,
                                                  int attribute,
                                                  java.nio.IntBuffer value)
      • eglCreateSyncKHR

        public static long eglCreateSyncKHR​(long dpy,
                                            int type,
                                            @Nullable
                                            int[] attrib_list)
        Array version of: CreateSyncKHR
      • eglGetSyncAttribKHR

        public static boolean eglGetSyncAttribKHR​(long dpy,
                                                  long sync,
                                                  int attribute,
                                                  int[] value)
        Array version of: GetSyncAttribKHR