Package org.lwjgl.egl

Class KHRFenceSync

java.lang.Object
org.lwjgl.egl.KHRFenceSync

public class KHRFenceSync extends 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 Details

    • EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR

      public static final int EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR
      See Also:
    • EGL_SYNC_CONDITION_KHR

      public static final int EGL_SYNC_CONDITION_KHR
      See Also:
    • EGL_SYNC_FENCE_KHR

      public static final int EGL_SYNC_FENCE_KHR
      See Also:
  • Method Details

    • neglCreateSyncKHR

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

      public static long eglCreateSyncKHR(long dpy, int type, @Nullable 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, 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