public class EXTSemaphore
extends java.lang.Object
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 |
|---|---|
static int |
GL_DEVICE_UUID_EXT
Accepted by the
pname parameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v, GetUnsignedBytevEXT, and the
target parameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, and GetUnsignedBytei_vEXT. |
static int |
GL_DRIVER_UUID_EXT
Accepted by the
pname parameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v, GetUnsignedBytevEXT, and the
target parameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, and GetUnsignedBytei_vEXT. |
static int |
GL_LAYOUT_COLOR_ATTACHMENT_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_LAYOUT_GENERAL_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_LAYOUT_SHADER_READ_ONLY_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_LAYOUT_TRANSFER_DST_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_LAYOUT_TRANSFER_SRC_EXT
Accepted by the
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT. |
static int |
GL_NUM_DEVICE_UUIDS_EXT
Accepted by the
pname parameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v, GetUnsignedBytevEXT, and the
target parameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, and GetUnsignedBytei_vEXT. |
static int |
GL_UUID_SIZE_EXT
Constant values.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
glDeleteSemaphoresEXT(int semaphore) |
static void |
glDeleteSemaphoresEXT(int[] semaphores)
Array version of:
DeleteSemaphoresEXT |
static void |
glDeleteSemaphoresEXT(java.nio.IntBuffer semaphores) |
static int |
glGenSemaphoresEXT() |
static void |
glGenSemaphoresEXT(int[] semaphores)
Array version of:
GenSemaphoresEXT |
static void |
glGenSemaphoresEXT(java.nio.IntBuffer semaphores) |
static long |
glGetSemaphoreParameterui64EXT(int semaphore,
int pname) |
static void |
glGetSemaphoreParameterui64vEXT(int semaphore,
int pname,
long[] params)
Array version of:
GetSemaphoreParameterui64vEXT |
static void |
glGetSemaphoreParameterui64vEXT(int semaphore,
int pname,
java.nio.LongBuffer params) |
static void |
glGetUnsignedBytei_vEXT(int target,
int index,
java.nio.ByteBuffer data) |
static void |
glGetUnsignedBytevEXT(int pname,
java.nio.ByteBuffer data) |
static boolean |
glIsSemaphoreEXT(int semaphore) |
static void |
glSemaphoreParameterui64EXT(int semaphore,
int pname,
long param) |
static void |
glSemaphoreParameterui64vEXT(int semaphore,
int pname,
long[] params)
Array version of:
SemaphoreParameterui64vEXT |
static void |
glSemaphoreParameterui64vEXT(int semaphore,
int pname,
java.nio.LongBuffer params) |
static void |
glSignalSemaphoreEXT(int semaphore,
int[] buffers,
int[] textures,
int[] dstLayouts)
Array version of:
SignalSemaphoreEXT |
static void |
glSignalSemaphoreEXT(int semaphore,
java.nio.IntBuffer buffers,
java.nio.IntBuffer textures,
java.nio.IntBuffer dstLayouts) |
static void |
glWaitSemaphoreEXT(int semaphore,
int[] buffers,
int[] textures,
int[] srcLayouts)
Array version of:
WaitSemaphoreEXT |
static void |
glWaitSemaphoreEXT(int semaphore,
java.nio.IntBuffer buffers,
java.nio.IntBuffer textures,
java.nio.IntBuffer srcLayouts) |
static void |
nglDeleteSemaphoresEXT(int n,
long semaphores) |
static void |
nglGenSemaphoresEXT(int n,
long semaphores) |
static void |
nglGetSemaphoreParameterui64vEXT(int semaphore,
int pname,
long params) |
static void |
nglGetUnsignedBytei_vEXT(int target,
int index,
long data) |
static void |
nglGetUnsignedBytevEXT(int pname,
long data) |
static void |
nglSemaphoreParameterui64vEXT(int semaphore,
int pname,
long params) |
static void |
nglSignalSemaphoreEXT(int semaphore,
int numBufferBarriers,
long buffers,
int numTextureBarriers,
long textures,
long dstLayouts) |
static void |
nglWaitSemaphoreEXT(int semaphore,
int numBufferBarriers,
long buffers,
int numTextureBarriers,
long textures,
long srcLayouts) |
public static final int GL_NUM_DEVICE_UUIDS_EXT
pname parameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v, GetUnsignedBytevEXT, and the
target parameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, and GetUnsignedBytei_vEXT.public static final int GL_DEVICE_UUID_EXT
pname parameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v, GetUnsignedBytevEXT, and the
target parameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, and GetUnsignedBytei_vEXT.public static final int GL_DRIVER_UUID_EXT
pname parameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v, GetUnsignedBytevEXT, and the
target parameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, and GetUnsignedBytei_vEXT.public static final int GL_UUID_SIZE_EXT
public static final int GL_LAYOUT_GENERAL_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static final int GL_LAYOUT_COLOR_ATTACHMENT_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static final int GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static final int GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static final int GL_LAYOUT_SHADER_READ_ONLY_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static final int GL_LAYOUT_TRANSFER_SRC_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static final int GL_LAYOUT_TRANSFER_DST_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static final int GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static final int GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT
dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.public static void nglGetUnsignedBytevEXT(int pname,
long data)
public static void glGetUnsignedBytevEXT(int pname,
java.nio.ByteBuffer data)
public static void nglGetUnsignedBytei_vEXT(int target,
int index,
long data)
public static void glGetUnsignedBytei_vEXT(int target,
int index,
java.nio.ByteBuffer data)
public static void nglGenSemaphoresEXT(int n,
long semaphores)
public static void glGenSemaphoresEXT(java.nio.IntBuffer semaphores)
public static int glGenSemaphoresEXT()
public static void nglDeleteSemaphoresEXT(int n,
long semaphores)
public static void glDeleteSemaphoresEXT(java.nio.IntBuffer semaphores)
public static void glDeleteSemaphoresEXT(int semaphore)
public static boolean glIsSemaphoreEXT(int semaphore)
public static void nglSemaphoreParameterui64vEXT(int semaphore,
int pname,
long params)
public static void glSemaphoreParameterui64vEXT(int semaphore,
int pname,
java.nio.LongBuffer params)
public static void glSemaphoreParameterui64EXT(int semaphore,
int pname,
long param)
public static void nglGetSemaphoreParameterui64vEXT(int semaphore,
int pname,
long params)
public static void glGetSemaphoreParameterui64vEXT(int semaphore,
int pname,
java.nio.LongBuffer params)
public static long glGetSemaphoreParameterui64EXT(int semaphore,
int pname)
public static void nglWaitSemaphoreEXT(int semaphore,
int numBufferBarriers,
long buffers,
int numTextureBarriers,
long textures,
long srcLayouts)
public static void glWaitSemaphoreEXT(int semaphore,
java.nio.IntBuffer buffers,
java.nio.IntBuffer textures,
java.nio.IntBuffer srcLayouts)
public static void nglSignalSemaphoreEXT(int semaphore,
int numBufferBarriers,
long buffers,
int numTextureBarriers,
long textures,
long dstLayouts)
public static void glSignalSemaphoreEXT(int semaphore,
java.nio.IntBuffer buffers,
java.nio.IntBuffer textures,
java.nio.IntBuffer dstLayouts)
public static void glGenSemaphoresEXT(int[] semaphores)
GenSemaphoresEXTpublic static void glDeleteSemaphoresEXT(int[] semaphores)
DeleteSemaphoresEXTpublic static void glSemaphoreParameterui64vEXT(int semaphore,
int pname,
long[] params)
SemaphoreParameterui64vEXTpublic static void glGetSemaphoreParameterui64vEXT(int semaphore,
int pname,
long[] params)
GetSemaphoreParameterui64vEXTpublic static void glWaitSemaphoreEXT(int semaphore,
int[] buffers,
int[] textures,
int[] srcLayouts)
WaitSemaphoreEXTpublic static void glSignalSemaphoreEXT(int semaphore,
int[] buffers,
int[] textures,
int[] dstLayouts)
SignalSemaphoreEXTCopyright LWJGL. All Rights Reserved. License terms.