Class APPLESync
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 Summary
Modifier and TypeFieldDescriptionstatic final int
Returned by ClientWaitSyncAPPLE.static final int
Returned by ClientWaitSyncAPPLE.static final int
Accepted as thepname
parameter of GetInteger64vAPPLE.static final int
Accepted as thepname
parameter of GetSyncivAPPLE.static final int
Returned invalues
for GetSyncivAPPLEpname
SYNC_STATUS_APPLE.static final int
Accepted as thepname
parameter of GetSyncivAPPLE.static final int
Returned invalues
for GetSyncivpname
OBJECT_TYPE_APPLE.static final int
Accepted as thepname
parameter of GetSyncivAPPLE.static final int
Accepted in theflags
parameter of ClientWaitSyncAPPLE.static final int
Returned invalues
for GetSyncivAPPLEpname
SYNC_CONDITION_APPLE.static final int
Accepted by thetype
parameter of LabelObjectEXT and GetObjectLabelEXT.static final int
Accepted as thepname
parameter of GetSyncivAPPLE.static final int
Returned by ClientWaitSyncAPPLE.static final long
Accepted in thetimeout
parameter of WaitSyncAPPLE.static final int
Returned invalues
for GetSyncivAPPLEpname
SYNC_STATUS_APPLE.static final int
Returned by ClientWaitSyncAPPLE. -
Method Summary
Modifier and TypeMethodDescriptionstatic int
glClientWaitSyncAPPLE
(long sync, int flags, long timeout) static void
glDeleteSyncAPPLE
(long sync) static long
glFenceSyncAPPLE
(int condition, int flags) static long
glGetInteger64APPLE
(int pname) static void
glGetInteger64vAPPLE
(int pname, long[] params) Array version of:GetInteger64vAPPLE
static void
glGetInteger64vAPPLE
(int pname, LongBuffer params) static int
glGetSynciAPPLE
(long sync, int pname, IntBuffer length) static void
glGetSyncivAPPLE
(long sync, int pname, int[] length, int[] values) Array version of:GetSyncivAPPLE
static void
glGetSyncivAPPLE
(long sync, int pname, IntBuffer length, IntBuffer values) static boolean
glIsSyncAPPLE
(long sync) static void
glWaitSyncAPPLE
(long sync, int flags, long timeout) static int
nglClientWaitSyncAPPLE
(long sync, int flags, long timeout) static void
nglDeleteSyncAPPLE
(long sync) static void
nglGetInteger64vAPPLE
(int pname, long params) static void
nglGetSyncivAPPLE
(long sync, int pname, int bufSize, long length, long values) static boolean
nglIsSyncAPPLE
(long sync) static void
nglWaitSyncAPPLE
(long sync, int flags, long timeout)
-
Field Details
-
GL_MAX_SERVER_WAIT_TIMEOUT_APPLE
public static final int GL_MAX_SERVER_WAIT_TIMEOUT_APPLEAccepted as thepname
parameter of GetInteger64vAPPLE.- See Also:
-
GL_OBJECT_TYPE_APPLE
public static final int GL_OBJECT_TYPE_APPLEAccepted as thepname
parameter of GetSyncivAPPLE.- See Also:
-
GL_SYNC_CONDITION_APPLE
public static final int GL_SYNC_CONDITION_APPLEAccepted as thepname
parameter of GetSyncivAPPLE.- See Also:
-
GL_SYNC_STATUS_APPLE
public static final int GL_SYNC_STATUS_APPLEAccepted as thepname
parameter of GetSyncivAPPLE.- See Also:
-
GL_SYNC_FLAGS_APPLE
public static final int GL_SYNC_FLAGS_APPLEAccepted as thepname
parameter of GetSyncivAPPLE.- See Also:
-
GL_SYNC_FENCE_APPLE
public static final int GL_SYNC_FENCE_APPLEReturned invalues
for GetSyncivpname
OBJECT_TYPE_APPLE.- See Also:
-
GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE
public static final int GL_SYNC_GPU_COMMANDS_COMPLETE_APPLEReturned invalues
for GetSyncivAPPLEpname
SYNC_CONDITION_APPLE.- See Also:
-
GL_UNSIGNALED_APPLE
public static final int GL_UNSIGNALED_APPLEReturned invalues
for GetSyncivAPPLEpname
SYNC_STATUS_APPLE.- See Also:
-
GL_SIGNALED_APPLE
public static final int GL_SIGNALED_APPLEReturned invalues
for GetSyncivAPPLEpname
SYNC_STATUS_APPLE.- See Also:
-
GL_SYNC_FLUSH_COMMANDS_BIT_APPLE
public static final int GL_SYNC_FLUSH_COMMANDS_BIT_APPLEAccepted in theflags
parameter of ClientWaitSyncAPPLE.- See Also:
-
GL_TIMEOUT_IGNORED_APPLE
public static final long GL_TIMEOUT_IGNORED_APPLEAccepted in thetimeout
parameter of WaitSyncAPPLE.- See Also:
-
GL_ALREADY_SIGNALED_APPLE
public static final int GL_ALREADY_SIGNALED_APPLEReturned by ClientWaitSyncAPPLE.- See Also:
-
GL_TIMEOUT_EXPIRED_APPLE
public static final int GL_TIMEOUT_EXPIRED_APPLEReturned by ClientWaitSyncAPPLE.- See Also:
-
GL_CONDITION_SATISFIED_APPLE
public static final int GL_CONDITION_SATISFIED_APPLEReturned by ClientWaitSyncAPPLE.- See Also:
-
GL_WAIT_FAILED_APPLE
public static final int GL_WAIT_FAILED_APPLEReturned by ClientWaitSyncAPPLE.- See Also:
-
GL_SYNC_OBJECT_APPLE
public static final int GL_SYNC_OBJECT_APPLEAccepted by thetype
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
-
glGetInteger64APPLE
public static long glGetInteger64APPLE(int pname) -
nglGetSyncivAPPLE
public static void nglGetSyncivAPPLE(long sync, int pname, int bufSize, long length, long values) -
glGetSyncivAPPLE
-
glGetSynciAPPLE
-
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
-