Class EXTSemaphore


  • public class EXTSemaphore
    extends java.lang.Object
    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:

    • Memory objects
    • Semaphores

    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.

    • Method Detail

      • nglGetUnsignedBytevEXT

        public static void nglGetUnsignedBytevEXT​(int pname,
                                                  long data)
      • glGetUnsignedBytevEXT

        public static void glGetUnsignedBytevEXT​(int pname,
                                                 java.nio.ByteBuffer data)
      • nglGetUnsignedBytei_vEXT

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

        public static void glGetUnsignedBytei_vEXT​(int target,
                                                   int index,
                                                   java.nio.ByteBuffer data)
      • nglGenSemaphoresEXT

        public static void nglGenSemaphoresEXT​(int n,
                                               long semaphores)
      • glGenSemaphoresEXT

        public static void glGenSemaphoresEXT​(java.nio.IntBuffer semaphores)
      • glGenSemaphoresEXT

        public static int glGenSemaphoresEXT()
      • nglDeleteSemaphoresEXT

        public static void nglDeleteSemaphoresEXT​(int n,
                                                  long semaphores)
      • glDeleteSemaphoresEXT

        public static void glDeleteSemaphoresEXT​(java.nio.IntBuffer semaphores)
      • glDeleteSemaphoresEXT

        public static void glDeleteSemaphoresEXT​(int semaphore)
      • glIsSemaphoreEXT

        public static boolean glIsSemaphoreEXT​(int semaphore)
      • nglSemaphoreParameterui64vEXT

        public static void nglSemaphoreParameterui64vEXT​(int semaphore,
                                                         int pname,
                                                         long params)
      • glSemaphoreParameterui64vEXT

        public static void glSemaphoreParameterui64vEXT​(int semaphore,
                                                        int pname,
                                                        java.nio.LongBuffer params)
      • glSemaphoreParameterui64EXT

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

        public static void nglGetSemaphoreParameterui64vEXT​(int semaphore,
                                                            int pname,
                                                            long params)
      • glGetSemaphoreParameterui64vEXT

        public static void glGetSemaphoreParameterui64vEXT​(int semaphore,
                                                           int pname,
                                                           java.nio.LongBuffer params)
      • glGetSemaphoreParameterui64EXT

        public static long glGetSemaphoreParameterui64EXT​(int semaphore,
                                                          int pname)
      • nglWaitSemaphoreEXT

        public static void nglWaitSemaphoreEXT​(int semaphore,
                                               int numBufferBarriers,
                                               long buffers,
                                               int numTextureBarriers,
                                               long textures,
                                               long srcLayouts)
      • glWaitSemaphoreEXT

        public static void glWaitSemaphoreEXT​(int semaphore,
                                              java.nio.IntBuffer buffers,
                                              java.nio.IntBuffer textures,
                                              java.nio.IntBuffer srcLayouts)
      • nglSignalSemaphoreEXT

        public static void nglSignalSemaphoreEXT​(int semaphore,
                                                 int numBufferBarriers,
                                                 long buffers,
                                                 int numTextureBarriers,
                                                 long textures,
                                                 long dstLayouts)
      • glSignalSemaphoreEXT

        public static void glSignalSemaphoreEXT​(int semaphore,
                                                java.nio.IntBuffer buffers,
                                                java.nio.IntBuffer textures,
                                                java.nio.IntBuffer dstLayouts)
      • glGenSemaphoresEXT

        public static void glGenSemaphoresEXT​(int[] semaphores)
        Array version of: GenSemaphoresEXT
      • glDeleteSemaphoresEXT

        public static void glDeleteSemaphoresEXT​(int[] semaphores)
        Array version of: DeleteSemaphoresEXT
      • glSemaphoreParameterui64vEXT

        public static void glSemaphoreParameterui64vEXT​(int semaphore,
                                                        int pname,
                                                        long[] params)
        Array version of: SemaphoreParameterui64vEXT
      • glGetSemaphoreParameterui64vEXT

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

        public static void glWaitSemaphoreEXT​(int semaphore,
                                              int[] buffers,
                                              int[] textures,
                                              int[] srcLayouts)
        Array version of: WaitSemaphoreEXT
      • glSignalSemaphoreEXT

        public static void glSignalSemaphoreEXT​(int semaphore,
                                                int[] buffers,
                                                int[] textures,
                                                int[] dstLayouts)
        Array version of: SignalSemaphoreEXT