Class APPLESync

java.lang.Object
org.lwjgl.opengles.APPLESync

public class APPLESync extends Object
Native bindings to the APPLE_sync extension.

This extension introduces the concept of "sync objects". Sync objects are a synchronization primitive - a representation of events whose completion status can be tested or waited upon. One specific type of sync object, the "fence sync object", is supported in this extension, and additional types can easily be added in the future.

Fence sync objects have corresponding fences, which are inserted into the OpenGL command stream at the time the sync object is created. A sync object can be queried for a given condition. The only condition supported for fence sync objects is completion of the corresponding fence command. Fence completion allows applications to request a partial Finish, wherein all commands prior to the fence will be forced to complete before control is returned to the calling process.

These new mechanisms allow for synchronization between the host CPU and the GPU, which may be accessing the same resources (typically memory), as well as between multiple GL contexts bound to multiple threads in the host CPU.

Requires GLES 2.0.

  • Field Details

    • GL_MAX_SERVER_WAIT_TIMEOUT_APPLE

      public static final int GL_MAX_SERVER_WAIT_TIMEOUT_APPLE
      Accepted as the pname parameter of GetInteger64vAPPLE.
      See Also:
    • GL_OBJECT_TYPE_APPLE

      public static final int GL_OBJECT_TYPE_APPLE
      Accepted as the pname parameter of GetSyncivAPPLE.
      See Also:
    • GL_SYNC_CONDITION_APPLE

      public static final int GL_SYNC_CONDITION_APPLE
      Accepted as the pname parameter of GetSyncivAPPLE.
      See Also:
    • GL_SYNC_STATUS_APPLE

      public static final int GL_SYNC_STATUS_APPLE
      Accepted as the pname parameter of GetSyncivAPPLE.
      See Also:
    • GL_SYNC_FLAGS_APPLE

      public static final int GL_SYNC_FLAGS_APPLE
      Accepted as the pname parameter of GetSyncivAPPLE.
      See Also:
    • GL_SYNC_FENCE_APPLE

      public static final int GL_SYNC_FENCE_APPLE
      Returned in values for GetSynciv pname OBJECT_TYPE_APPLE.
      See Also:
    • GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE

      public static final int GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE
      Returned in values for GetSyncivAPPLE pname SYNC_CONDITION_APPLE.
      See Also:
    • GL_UNSIGNALED_APPLE

      public static final int GL_UNSIGNALED_APPLE
      Returned in values for GetSyncivAPPLE pname SYNC_STATUS_APPLE.
      See Also:
    • GL_SIGNALED_APPLE

      public static final int GL_SIGNALED_APPLE
      Returned in values for GetSyncivAPPLE pname SYNC_STATUS_APPLE.
      See Also:
    • GL_SYNC_FLUSH_COMMANDS_BIT_APPLE

      public static final int GL_SYNC_FLUSH_COMMANDS_BIT_APPLE
      Accepted in the flags parameter of ClientWaitSyncAPPLE.
      See Also:
    • GL_TIMEOUT_IGNORED_APPLE

      public static final long GL_TIMEOUT_IGNORED_APPLE
      Accepted in the timeout parameter of WaitSyncAPPLE.
      See Also:
    • GL_ALREADY_SIGNALED_APPLE

      public static final int GL_ALREADY_SIGNALED_APPLE
      Returned by ClientWaitSyncAPPLE.
      See Also:
    • GL_TIMEOUT_EXPIRED_APPLE

      public static final int GL_TIMEOUT_EXPIRED_APPLE
      Returned by ClientWaitSyncAPPLE.
      See Also:
    • GL_CONDITION_SATISFIED_APPLE

      public static final int GL_CONDITION_SATISFIED_APPLE
      Returned by ClientWaitSyncAPPLE.
      See Also:
    • GL_WAIT_FAILED_APPLE

      public static final int GL_WAIT_FAILED_APPLE
      Returned by ClientWaitSyncAPPLE.
      See Also:
    • GL_SYNC_OBJECT_APPLE

      public static final int GL_SYNC_OBJECT_APPLE
      Accepted by the type parameter of LabelObjectEXT and GetObjectLabelEXT.
      See Also:
  • Method Details

    • glFenceSyncAPPLE

      public static long glFenceSyncAPPLE(int condition, int flags)
    • nglIsSyncAPPLE

      public static boolean nglIsSyncAPPLE(long sync)
    • glIsSyncAPPLE

      public static boolean glIsSyncAPPLE(long sync)
    • nglDeleteSyncAPPLE

      public static void nglDeleteSyncAPPLE(long sync)
    • glDeleteSyncAPPLE

      public static void glDeleteSyncAPPLE(long sync)
    • nglClientWaitSyncAPPLE

      public static int nglClientWaitSyncAPPLE(long sync, int flags, long timeout)
    • glClientWaitSyncAPPLE

      public static int glClientWaitSyncAPPLE(long sync, int flags, long timeout)
    • nglWaitSyncAPPLE

      public static void nglWaitSyncAPPLE(long sync, int flags, long timeout)
    • glWaitSyncAPPLE

      public static void glWaitSyncAPPLE(long sync, int flags, long timeout)
    • nglGetInteger64vAPPLE

      public static void nglGetInteger64vAPPLE(int pname, long params)
    • glGetInteger64vAPPLE

      public static void glGetInteger64vAPPLE(int pname, LongBuffer params)
    • glGetInteger64APPLE

      public static long glGetInteger64APPLE(int pname)
    • nglGetSyncivAPPLE

      public static void nglGetSyncivAPPLE(long sync, int pname, int bufSize, long length, long values)
    • glGetSyncivAPPLE

      public static void glGetSyncivAPPLE(long sync, int pname, @Nullable IntBuffer length, IntBuffer values)
    • glGetSynciAPPLE

      public static int glGetSynciAPPLE(long sync, int pname, @Nullable IntBuffer length)
    • glGetInteger64vAPPLE

      public static void glGetInteger64vAPPLE(int pname, long[] params)
      Array version of: GetInteger64vAPPLE
    • glGetSyncivAPPLE

      public static void glGetSyncivAPPLE(long sync, int pname, @Nullable int[] length, int[] values)
      Array version of: GetSyncivAPPLE