The Vulkan API introduces the concept of explicit memory objects and reusable synchronization objects. This extension brings those concepts to the OpenGL API via two new object types:
Rather than allocating memory as a response to object allocation, memory allocation and binding are two separate operations in Vulkan. This extension allows an OpenGL application to import a Vulkan memory object, and to bind textures and/or buffer objects to it.
No methods to import memory objects are defined here. Separate platform-specific extensions are defined for this purpose.
Semaphores are synchronization primitives that can be waited on and signaled only by the GPU, or in GL terms, in the GL server. They are similar in concept to GL's "sync" objects and EGL's "EGLSync" objects, but different enough that compatibilities between the two are difficult to derive.
Rather than attempt to map Vulkan semaphores on to GL/EGL sync objects to achieve interoperability, this extension introduces a new object, GL semaphores, that map directly to the semantics of Vulkan semaphores. To achieve full image and buffer memory coherence with a Vulkan driver, the commands that manipulate semaphores also allow external usage information to be imported and exported.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | GL_DEVICE_UUID_EXT
Accepted by the |
| public static final int | GL_DRIVER_UUID_EXT
Accepted by the |
| public static final int | GL_LAYOUT_COLOR_ATTACHMENT_EXT
Accepted by the |
| public static final int | GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT
Accepted by the |
| public static final int | GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT
Accepted by the |
| public static final int | GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT
Accepted by the |
| public static final int | GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT
Accepted by the |
| public static final int | GL_LAYOUT_GENERAL_EXT
Accepted by the |
| public static final int | GL_LAYOUT_SHADER_READ_ONLY_EXT
Accepted by the |
| public static final int | GL_LAYOUT_TRANSFER_DST_EXT
Accepted by the |
| public static final int | GL_LAYOUT_TRANSFER_SRC_EXT
Accepted by the |
| public static final int | GL_NUM_DEVICE_UUIDS_EXT
Accepted by the |
| public static final int | GL_UUID_SIZE_EXT
Constant values. |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static void | |
| public static void | |
| public static void | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static void | glGetSemaphoreParameterui64vEXT(int semaphore, int pname, long[] params)
Array version of: |
| public static void | |
| public static void | |
| public static native boolean | |
| public static void | |
| public static void | |
| public static void | glSemaphoreParameterui64vEXT(int semaphore, int pname, long[] params)
Array version of: |
| public static void | |
| public static void | glSignalSemaphoreEXT(int semaphore, int[] buffers, int[] textures, int[] dstLayouts)
Array version of: |
| public static void | |
| public static void | glWaitSemaphoreEXT(int semaphore, int[] buffers, int[] textures, int[] srcLayouts)
Array version of: |
| public static native void | |
| public static native void | |
| public static native void | |
| public static void | |
| public static void | |
| public static native void | |
| public static native void | nglSignalSemaphoreEXT(int semaphore, int numBufferBarriers, long buffers, int numTextureBarriers, long textures, long dstLayouts)
|
| public static native void | nglWaitSemaphoreEXT(int semaphore, int numBufferBarriers, long buffers, int numTextureBarriers, long textures, long srcLayouts)
|
| GL_DEVICE_UUID_EXT | back to summary |
|---|---|
| public static final int GL_DEVICE_UUID_EXT Accepted by the | |
| GL_DRIVER_UUID_EXT | back to summary |
|---|---|
| public static final int GL_DRIVER_UUID_EXT Accepted by the | |
| GL_LAYOUT_COLOR_ATTACHMENT_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_COLOR_ATTACHMENT_EXT Accepted by the | |
| GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT Accepted by the | |
| GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT Accepted by the | |
| GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT Accepted by the | |
| GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT Accepted by the | |
| GL_LAYOUT_GENERAL_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_GENERAL_EXT Accepted by the | |
| GL_LAYOUT_SHADER_READ_ONLY_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_SHADER_READ_ONLY_EXT Accepted by the | |
| GL_LAYOUT_TRANSFER_DST_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_TRANSFER_DST_EXT Accepted by the | |
| GL_LAYOUT_TRANSFER_SRC_EXT | back to summary |
|---|---|
| public static final int GL_LAYOUT_TRANSFER_SRC_EXT Accepted by the | |
| GL_NUM_DEVICE_UUIDS_EXT | back to summary |
|---|---|
| public static final int GL_NUM_DEVICE_UUIDS_EXT Accepted by the | |
| GL_UUID_SIZE_EXT | back to summary |
|---|---|
| public static final int GL_UUID_SIZE_EXT Constant values. | |
| EXTSemaphore | back to summary |
|---|---|
| protected EXTSemaphore() | |
| glDeleteSemaphoresEXT | back to summary |
|---|---|
| public static void glDeleteSemaphoresEXT(IntBuffer semaphores) | |
| glDeleteSemaphoresEXT | back to summary |
|---|---|
| public static void glDeleteSemaphoresEXT(int semaphore) | |
| glDeleteSemaphoresEXT | back to summary |
|---|---|
| public static void glDeleteSemaphoresEXT(int[] semaphores) Array version of: | |
| glGenSemaphoresEXT | back to summary |
|---|---|
| public static void glGenSemaphoresEXT(IntBuffer semaphores) | |
| glGenSemaphoresEXT | back to summary |
|---|---|
public static int glGenSemaphoresEXT()
| |
| glGenSemaphoresEXT | back to summary |
|---|---|
| public static void glGenSemaphoresEXT(int[] semaphores) Array version of: | |
| glGetSemaphoreParameterui64EXT | back to summary |
|---|---|
public static long glGetSemaphoreParameterui64EXT(int semaphore, int pname)
| |
| glGetSemaphoreParameterui64vEXT | back to summary |
|---|---|
| public static void glGetSemaphoreParameterui64vEXT(int semaphore, int pname, LongBuffer params) | |
| glGetSemaphoreParameterui64vEXT | back to summary |
|---|---|
| public static void glGetSemaphoreParameterui64vEXT(int semaphore, int pname, long[] params) Array version of: | |
| glGetUnsignedBytei_vEXT | back to summary |
|---|---|
| public static void glGetUnsignedBytei_vEXT(int target, int index, ByteBuffer data) | |
| glGetUnsignedBytevEXT | back to summary |
|---|---|
| public static void glGetUnsignedBytevEXT(int pname, ByteBuffer data) | |
| glIsSemaphoreEXT | back to summary |
|---|---|
public static native boolean glIsSemaphoreEXT(int semaphore)
| |
| glSemaphoreParameterui64EXT | back to summary |
|---|---|
| public static void glSemaphoreParameterui64EXT(int semaphore, int pname, long param) | |
| glSemaphoreParameterui64vEXT | back to summary |
|---|---|
| public static void glSemaphoreParameterui64vEXT(int semaphore, int pname, LongBuffer params) | |
| glSemaphoreParameterui64vEXT | back to summary |
|---|---|
| public static void glSemaphoreParameterui64vEXT(int semaphore, int pname, long[] params) Array version of: | |
| glSignalSemaphoreEXT | back to summary |
|---|---|
| public static void glSignalSemaphoreEXT(int semaphore, IntBuffer buffers, IntBuffer textures, IntBuffer dstLayouts) | |
| glSignalSemaphoreEXT | back to summary |
|---|---|
| public static void glSignalSemaphoreEXT(int semaphore, int[] buffers, int[] textures, int[] dstLayouts) Array version of: | |
| glWaitSemaphoreEXT | back to summary |
|---|---|
| public static void glWaitSemaphoreEXT(int semaphore, IntBuffer buffers, IntBuffer textures, IntBuffer srcLayouts) | |
| glWaitSemaphoreEXT | back to summary |
|---|---|
| public static void glWaitSemaphoreEXT(int semaphore, int[] buffers, int[] textures, int[] srcLayouts) Array version of: | |
| nglDeleteSemaphoresEXT | back to summary |
|---|---|
| public static native void nglDeleteSemaphoresEXT(int n, long semaphores) | |
| nglGenSemaphoresEXT | back to summary |
|---|---|
| public static native void nglGenSemaphoresEXT(int n, long semaphores) | |
| nglGetSemaphoreParameterui64vEXT | back to summary |
|---|---|
| public static native void nglGetSemaphoreParameterui64vEXT(int semaphore, int pname, long params) | |
| nglGetUnsignedBytei_vEXT | back to summary |
|---|---|
| public static void nglGetUnsignedBytei_vEXT(int target, int index, long data) | |
| nglGetUnsignedBytevEXT | back to summary |
|---|---|
| public static void nglGetUnsignedBytevEXT(int pname, long data) | |
| nglSemaphoreParameterui64vEXT | back to summary |
|---|---|
| public static native void nglSemaphoreParameterui64vEXT(int semaphore, int pname, long params) | |
| nglSignalSemaphoreEXT | back to summary |
|---|---|
| public static native void nglSignalSemaphoreEXT(int semaphore, int numBufferBarriers, long buffers, int numTextureBarriers, long textures, long dstLayouts) | |
| nglWaitSemaphoreEXT | back to summary |
|---|---|
| public static native void nglWaitSemaphoreEXT(int semaphore, int numBufferBarriers, long buffers, int numTextureBarriers, long textures, long srcLayouts) | |