Class EXTSyncReuse
The original EGLSync
extensions separated sync objects into two types: fence sync objects signaled by one time events in an API command
pipeline; and reusable sync objects signaled by commands which can be issued again and again. However, this conflates reusability of the event
triggering a sync object with the EGLSync
object itself.
Although the event associated with a fence sync object will only occur once, there is no reason that it can't be replaced with a new event. Doing so
would avoid unnecessary allocation and free operations in an application that repeatedly waits for events. With the current interfaces, such
applications must constantly create and destroy new EGLSync
objects.
This extension allows all sync objects to be reusable. When a sync object is in the signaled state, it can be reset back to an unsignaled state,
regenerating or reevaluating the events that trigger them. For fence sync objects, this means generating a new fence in the current API. For OpenCL
event sync objects, this means waiting for a new OpenCL event handle. This mechanism also allows sync objects to be created in the signaled state with
no associated fence/event, and have one applied later. Thus all EGLSyncs
required by an application can be allocated up front, before any
rendering operations have begun.
Requires EGL 1.5
or EGL 1.4
with KHR_fence_sync
.
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
eglUnsignalSyncEXT
(long dpy, long sync, PointerBuffer attrib_list) static int
neglUnsignalSyncEXT
(long dpy, long sync, long attrib_list)
-
Method Details
-
neglUnsignalSyncEXT
public static int neglUnsignalSyncEXT(long dpy, long sync, long attrib_list) -
eglUnsignalSyncEXT
-