Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class EXTSemaphore

extends Object
Class Inheritance
Imports
java.nio.*, org.lwjgl.system.*

Native bindings to the EXT_semaphore extension.

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.

Field Summary

Modifier and TypeField and Description
public static final 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.

public static final 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.

public static final int
GL_LAYOUT_COLOR_ATTACHMENT_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final int
GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final int
GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final int
GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final int
GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final int
GL_LAYOUT_GENERAL_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final int
GL_LAYOUT_SHADER_READ_ONLY_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final int
GL_LAYOUT_TRANSFER_DST_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final int
GL_LAYOUT_TRANSFER_SRC_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

public static final 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.

public static final int
GL_UUID_SIZE_EXT

Constant values.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
public static void
glDeleteSemaphoresEXT(int semaphore)

public static void
glDeleteSemaphoresEXT(int[] semaphores)

Array version of: DeleteSemaphoresEXT

public static void
public static int
public static void
glGenSemaphoresEXT(int[] semaphores)

Array version of: GenSemaphoresEXT

public static long
glGetSemaphoreParameterui64EXT(int semaphore, int pname)

public static void
glGetSemaphoreParameterui64vEXT(int semaphore, int pname, LongBuffer params)

public static void
glGetSemaphoreParameterui64vEXT(int semaphore, int pname, long[] params)

Array version of: GetSemaphoreParameterui64vEXT

public static void
glGetUnsignedBytei_vEXT(int target, int index, ByteBuffer data)

public static void
public static native boolean
glIsSemaphoreEXT(int semaphore)

public static void
glSemaphoreParameterui64EXT(int semaphore, int pname, long param)

public static void
glSemaphoreParameterui64vEXT(int semaphore, int pname, LongBuffer params)

public static void
glSemaphoreParameterui64vEXT(int semaphore, int pname, long[] params)

Array version of: SemaphoreParameterui64vEXT

public static void
glSignalSemaphoreEXT(int semaphore, IntBuffer buffers, IntBuffer textures, IntBuffer dstLayouts)

public static void
glSignalSemaphoreEXT(int semaphore, int[] buffers, int[] textures, int[] dstLayouts)

Array version of: SignalSemaphoreEXT

public static void
glWaitSemaphoreEXT(int semaphore, IntBuffer buffers, IntBuffer textures, IntBuffer srcLayouts)

public static void
glWaitSemaphoreEXT(int semaphore, int[] buffers, int[] textures, int[] srcLayouts)

Array version of: WaitSemaphoreEXT

public static native void
nglDeleteSemaphoresEXT(int n, long semaphores)

public static native void
nglGenSemaphoresEXT(int n, long semaphores)

public static native void
nglGetSemaphoreParameterui64vEXT(int semaphore, int pname, long params)

public static void
nglGetUnsignedBytei_vEXT(int target, int index, long data)

public static void
nglGetUnsignedBytevEXT(int pname, long data)

public static native void
nglSemaphoreParameterui64vEXT(int semaphore, int pname, long params)

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)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_DEVICE_UUID_EXTback to summary
public static final 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.

GL_DRIVER_UUID_EXTback to summary
public static final 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.

GL_LAYOUT_COLOR_ATTACHMENT_EXTback to summary
public static final int GL_LAYOUT_COLOR_ATTACHMENT_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXTback to summary
public static final int GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXTback to summary
public static final int GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXTback to summary
public static final int GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXTback to summary
public static final int GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_LAYOUT_GENERAL_EXTback to summary
public static final int GL_LAYOUT_GENERAL_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_LAYOUT_SHADER_READ_ONLY_EXTback to summary
public static final int GL_LAYOUT_SHADER_READ_ONLY_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_LAYOUT_TRANSFER_DST_EXTback to summary
public static final int GL_LAYOUT_TRANSFER_DST_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_LAYOUT_TRANSFER_SRC_EXTback to summary
public static final int GL_LAYOUT_TRANSFER_SRC_EXT

Accepted by the dstLayouts parameter of SignalSemaphoreEXT and the srcLayouts parameter of WaitSemaphoreEXT.

GL_NUM_DEVICE_UUIDS_EXTback to summary
public static final 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.

GL_UUID_SIZE_EXTback to summary
public static final int GL_UUID_SIZE_EXT

Constant values.

Constructor Detail

EXTSemaphoreback to summary
protected EXTSemaphore()

Method Detail

glDeleteSemaphoresEXTback to summary
public static void glDeleteSemaphoresEXT(IntBuffer semaphores)
glDeleteSemaphoresEXTback to summary
public static void glDeleteSemaphoresEXT(int semaphore)
glDeleteSemaphoresEXTback to summary
public static void glDeleteSemaphoresEXT(int[] semaphores)

Array version of: DeleteSemaphoresEXT

glGenSemaphoresEXTback to summary
public static void glGenSemaphoresEXT(IntBuffer semaphores)
glGenSemaphoresEXTback to summary
public static int glGenSemaphoresEXT()
Annotations
@NativeType:void
glGenSemaphoresEXTback to summary
public static void glGenSemaphoresEXT(int[] semaphores)

Array version of: GenSemaphoresEXT

glGetSemaphoreParameterui64EXTback to summary
public static long glGetSemaphoreParameterui64EXT(int semaphore, int pname)
Annotations
@NativeType:void
glGetSemaphoreParameterui64vEXTback to summary
public static void glGetSemaphoreParameterui64vEXT(int semaphore, int pname, LongBuffer params)
glGetSemaphoreParameterui64vEXTback to summary
public static void glGetSemaphoreParameterui64vEXT(int semaphore, int pname, long[] params)

Array version of: GetSemaphoreParameterui64vEXT

glGetUnsignedBytei_vEXTback to summary
public static void glGetUnsignedBytei_vEXT(int target, int index, ByteBuffer data)
glGetUnsignedBytevEXTback to summary
public static void glGetUnsignedBytevEXT(int pname, ByteBuffer data)
glIsSemaphoreEXTback to summary
public static native boolean glIsSemaphoreEXT(int semaphore)
Annotations
@NativeType:GLboolean
glSemaphoreParameterui64EXTback to summary
public static void glSemaphoreParameterui64EXT(int semaphore, int pname, long param)
glSemaphoreParameterui64vEXTback to summary
public static void glSemaphoreParameterui64vEXT(int semaphore, int pname, LongBuffer params)
glSemaphoreParameterui64vEXTback to summary
public static void glSemaphoreParameterui64vEXT(int semaphore, int pname, long[] params)

Array version of: SemaphoreParameterui64vEXT

glSignalSemaphoreEXTback to summary
public static void glSignalSemaphoreEXT(int semaphore, IntBuffer buffers, IntBuffer textures, IntBuffer dstLayouts)
glSignalSemaphoreEXTback to summary
public static void glSignalSemaphoreEXT(int semaphore, int[] buffers, int[] textures, int[] dstLayouts)

Array version of: SignalSemaphoreEXT

glWaitSemaphoreEXTback to summary
public static void glWaitSemaphoreEXT(int semaphore, IntBuffer buffers, IntBuffer textures, IntBuffer srcLayouts)
glWaitSemaphoreEXTback to summary
public static void glWaitSemaphoreEXT(int semaphore, int[] buffers, int[] textures, int[] srcLayouts)

Array version of: WaitSemaphoreEXT

nglDeleteSemaphoresEXTback to summary
public static native void nglDeleteSemaphoresEXT(int n, long semaphores)
nglGenSemaphoresEXTback to summary
public static native void nglGenSemaphoresEXT(int n, long semaphores)
nglGetSemaphoreParameterui64vEXTback to summary
public static native void nglGetSemaphoreParameterui64vEXT(int semaphore, int pname, long params)
nglGetUnsignedBytei_vEXTback to summary
public static void nglGetUnsignedBytei_vEXT(int target, int index, long data)
nglGetUnsignedBytevEXTback to summary
public static void nglGetUnsignedBytevEXT(int pname, long data)
nglSemaphoreParameterui64vEXTback to summary
public static native void nglSemaphoreParameterui64vEXT(int semaphore, int pname, long params)
nglSignalSemaphoreEXTback to summary
public static native void nglSignalSemaphoreEXT(int semaphore, int numBufferBarriers, long buffers, int numTextureBarriers, long textures, long dstLayouts)
nglWaitSemaphoreEXTback to summary
public static native void nglWaitSemaphoreEXT(int semaphore, int numBufferBarriers, long buffers, int numTextureBarriers, long textures, long srcLayouts)