Class EXTMemoryObject


  • public class EXTMemoryObject
    extends java.lang.Object
    Native bindings to the EXT_memory_object 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.

    Requires OpenGL 4.2 or ARB_texture_storage.

    • 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)
      • nglDeleteMemoryObjectsEXT

        public static void nglDeleteMemoryObjectsEXT​(int n,
                                                     long memoryObjects)
      • glDeleteMemoryObjectsEXT

        public static void glDeleteMemoryObjectsEXT​(java.nio.IntBuffer memoryObjects)
      • glDeleteMemoryObjectsEXT

        public static void glDeleteMemoryObjectsEXT​(int memoryObject)
      • glIsMemoryObjectEXT

        public static boolean glIsMemoryObjectEXT​(int memoryObject)
      • nglCreateMemoryObjectsEXT

        public static void nglCreateMemoryObjectsEXT​(int n,
                                                     long memoryObjects)
      • glCreateMemoryObjectsEXT

        public static void glCreateMemoryObjectsEXT​(java.nio.IntBuffer memoryObjects)
      • glCreateMemoryObjectsEXT

        public static int glCreateMemoryObjectsEXT()
      • nglMemoryObjectParameterivEXT

        public static void nglMemoryObjectParameterivEXT​(int memoryObject,
                                                         int pname,
                                                         long params)
      • glMemoryObjectParameterivEXT

        public static void glMemoryObjectParameterivEXT​(int memoryObject,
                                                        int pname,
                                                        java.nio.IntBuffer params)
      • glMemoryObjectParameteriEXT

        public static void glMemoryObjectParameteriEXT​(int memoryObject,
                                                       int pname,
                                                       int param)
      • nglGetMemoryObjectParameterivEXT

        public static void nglGetMemoryObjectParameterivEXT​(int memoryObject,
                                                            int pname,
                                                            long params)
      • glGetMemoryObjectParameterivEXT

        public static void glGetMemoryObjectParameterivEXT​(int memoryObject,
                                                           int pname,
                                                           java.nio.IntBuffer params)
      • glGetMemoryObjectParameteriEXT

        public static int glGetMemoryObjectParameteriEXT​(int memoryObject,
                                                         int pname)
      • glTexStorageMem2DEXT

        public static void glTexStorageMem2DEXT​(int target,
                                                int levels,
                                                int internalFormat,
                                                int width,
                                                int height,
                                                int memory,
                                                long offset)
      • glTexStorageMem2DMultisampleEXT

        public static void glTexStorageMem2DMultisampleEXT​(int target,
                                                           int samples,
                                                           int internalFormat,
                                                           int width,
                                                           int height,
                                                           boolean fixedSampleLocations,
                                                           int memory,
                                                           long offset)
      • glTexStorageMem3DEXT

        public static void glTexStorageMem3DEXT​(int target,
                                                int levels,
                                                int internalFormat,
                                                int width,
                                                int height,
                                                int depth,
                                                int memory,
                                                long offset)
      • glTexStorageMem3DMultisampleEXT

        public static void glTexStorageMem3DMultisampleEXT​(int target,
                                                           int samples,
                                                           int internalFormat,
                                                           int width,
                                                           int height,
                                                           int depth,
                                                           boolean fixedSampleLocations,
                                                           int memory,
                                                           long offset)
      • glBufferStorageMemEXT

        public static void glBufferStorageMemEXT​(int target,
                                                 long size,
                                                 int memory,
                                                 long offset)
      • glTextureStorageMem2DEXT

        public static void glTextureStorageMem2DEXT​(int texture,
                                                    int levels,
                                                    int internalFormat,
                                                    int width,
                                                    int height,
                                                    int memory,
                                                    long offset)
      • glTextureStorageMem2DMultisampleEXT

        public static void glTextureStorageMem2DMultisampleEXT​(int texture,
                                                               int samples,
                                                               int internalFormat,
                                                               int width,
                                                               int height,
                                                               boolean fixedSampleLocations,
                                                               int memory,
                                                               long offset)
      • glTextureStorageMem3DEXT

        public static void glTextureStorageMem3DEXT​(int texture,
                                                    int levels,
                                                    int internalFormat,
                                                    int width,
                                                    int height,
                                                    int depth,
                                                    int memory,
                                                    long offset)
      • glTextureStorageMem3DMultisampleEXT

        public static void glTextureStorageMem3DMultisampleEXT​(int texture,
                                                               int samples,
                                                               int internalFormat,
                                                               int width,
                                                               int height,
                                                               int depth,
                                                               boolean fixedSampleLocations,
                                                               int memory,
                                                               long offset)
      • glNamedBufferStorageMemEXT

        public static void glNamedBufferStorageMemEXT​(int buffer,
                                                      long size,
                                                      int memory,
                                                      long offset)
      • glTexStorageMem1DEXT

        public static void glTexStorageMem1DEXT​(int target,
                                                int levels,
                                                int internalFormat,
                                                int width,
                                                int memory,
                                                long offset)
      • glTextureStorageMem1DEXT

        public static void glTextureStorageMem1DEXT​(int texture,
                                                    int levels,
                                                    int internalFormat,
                                                    int width,
                                                    int memory,
                                                    long offset)
      • glDeleteMemoryObjectsEXT

        public static void glDeleteMemoryObjectsEXT​(int[] memoryObjects)
        Array version of: DeleteMemoryObjectsEXT
      • glCreateMemoryObjectsEXT

        public static void glCreateMemoryObjectsEXT​(int[] memoryObjects)
        Array version of: CreateMemoryObjectsEXT
      • glMemoryObjectParameterivEXT

        public static void glMemoryObjectParameterivEXT​(int memoryObject,
                                                        int pname,
                                                        int[] params)
        Array version of: MemoryObjectParameterivEXT
      • glGetMemoryObjectParameterivEXT

        public static void glGetMemoryObjectParameterivEXT​(int memoryObject,
                                                           int pname,
                                                           int[] params)