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.
Requires OpenGL 4. or ARB_texture_storage.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | GL_DEDICATED_MEMORY_OBJECT_EXT
Accepted by the |
| 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_LINEAR_TILING_EXT
Returned in the |
| public static final int | GL_NUM_DEVICE_UUIDS_EXT
Accepted by the |
| public static final int | GL_NUM_TILING_TYPES_EXT
Accepted by the |
| public static final int | GL_OPTIMAL_TILING_EXT
Returned in the |
| public static final int | GL_TEXTURE_TILING_EXT
Accepted by the |
| public static final int | GL_TILING_TYPES_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 native void | |
| public static void | |
| public static int | |
| public static void | |
| public static void | |
| public static void | |
| public static void | |
| public static int | |
| public static void | |
| public static void | glGetMemoryObjectParameterivEXT(int memoryObject, int pname, int[] params)
Array version of: |
| public static void | |
| public static void | |
| public static native boolean | |
| public static void | |
| public static void | |
| public static void | glMemoryObjectParameterivEXT(int memoryObject, int pname, int[] params)
Array version of: |
| public static native void | |
| public static native void | glTexStorageMem1DEXT(int target, int levels, int internalFormat, int width, int memory, long offset)
|
| public static native void | glTexStorageMem2DEXT(int target, int levels, int internalFormat, int width, int height, int memory, long offset)
|
| public static native void | glTexStorageMem2DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset)
|
| public static native void | glTexStorageMem3DEXT(int target, int levels, int internalFormat, int width, int height, int depth, int memory, long offset)
|
| public static native void | glTexStorageMem3DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset)
|
| public static native void | glTextureStorageMem1DEXT(int texture, int levels, int internalFormat, int width, int memory, long offset)
|
| public static native void | glTextureStorageMem2DEXT(int texture, int levels, int internalFormat, int width, int height, int memory, long offset)
|
| public static native void | glTextureStorageMem2DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset)
|
| public static native void | glTextureStorageMem3DEXT(int texture, int levels, int internalFormat, int width, int height, int depth, int memory, long offset)
|
| public static native void | glTextureStorageMem3DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset)
|
| public static native void | |
| public static native void | |
| public static native void | |
| public static native void | |
| public static native void | |
| public static native void |
| GL_DEDICATED_MEMORY_OBJECT_EXT | back to summary |
|---|---|
| public static final int GL_DEDICATED_MEMORY_OBJECT_EXT Accepted by the | |
| 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_LINEAR_TILING_EXT | back to summary |
|---|---|
| public static final int GL_LINEAR_TILING_EXT Returned in the | |
| GL_NUM_DEVICE_UUIDS_EXT | back to summary |
|---|---|
| public static final int GL_NUM_DEVICE_UUIDS_EXT Accepted by the | |
| GL_NUM_TILING_TYPES_EXT | back to summary |
|---|---|
| public static final int GL_NUM_TILING_TYPES_EXT Accepted by the | |
| GL_OPTIMAL_TILING_EXT | back to summary |
|---|---|
| public static final int GL_OPTIMAL_TILING_EXT Returned in the | |
| GL_TEXTURE_TILING_EXT | back to summary |
|---|---|
| public static final int GL_TEXTURE_TILING_EXT Accepted by the | |
| GL_TILING_TYPES_EXT | back to summary |
|---|---|
| public static final int GL_TILING_TYPES_EXT Accepted by the | |
| GL_UUID_SIZE_EXT | back to summary |
|---|---|
| public static final int GL_UUID_SIZE_EXT Constant values. | |
| EXTMemoryObject | back to summary |
|---|---|
| protected EXTMemoryObject() | |
| glBufferStorageMemEXT | back to summary |
|---|---|
| public static native void glBufferStorageMemEXT(int target, long size, int memory, long offset) | |
| glCreateMemoryObjectsEXT | back to summary |
|---|---|
| public static void glCreateMemoryObjectsEXT(IntBuffer memoryObjects) | |
| glCreateMemoryObjectsEXT | back to summary |
|---|---|
public static int glCreateMemoryObjectsEXT()
| |
| glCreateMemoryObjectsEXT | back to summary |
|---|---|
| public static void glCreateMemoryObjectsEXT(int[] memoryObjects) Array version of: | |
| glDeleteMemoryObjectsEXT | back to summary |
|---|---|
| public static void glDeleteMemoryObjectsEXT(IntBuffer memoryObjects) | |
| glDeleteMemoryObjectsEXT | back to summary |
|---|---|
| public static void glDeleteMemoryObjectsEXT(int memoryObject) | |
| glDeleteMemoryObjectsEXT | back to summary |
|---|---|
| public static void glDeleteMemoryObjectsEXT(int[] memoryObjects) Array version of: | |
| glGetMemoryObjectParameteriEXT | back to summary |
|---|---|
public static int glGetMemoryObjectParameteriEXT(int memoryObject, int pname)
| |
| glGetMemoryObjectParameterivEXT | back to summary |
|---|---|
| public static void glGetMemoryObjectParameterivEXT(int memoryObject, int pname, IntBuffer params) | |
| glGetMemoryObjectParameterivEXT | back to summary |
|---|---|
| public static void glGetMemoryObjectParameterivEXT(int memoryObject, int pname, int[] 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) | |
| glIsMemoryObjectEXT | back to summary |
|---|---|
public static native boolean glIsMemoryObjectEXT(int memoryObject)
| |
| glMemoryObjectParameteriEXT | back to summary |
|---|---|
| public static void glMemoryObjectParameteriEXT(int memoryObject, int pname, int param) | |
| glMemoryObjectParameterivEXT | back to summary |
|---|---|
| public static void glMemoryObjectParameterivEXT(int memoryObject, int pname, IntBuffer params) | |
| glMemoryObjectParameterivEXT | back to summary |
|---|---|
| public static void glMemoryObjectParameterivEXT(int memoryObject, int pname, int[] params) Array version of: | |
| glNamedBufferStorageMemEXT | back to summary |
|---|---|
| public static native void glNamedBufferStorageMemEXT(int buffer, long size, int memory, long offset) | |
| glTexStorageMem1DEXT | back to summary |
|---|---|
| public static native void glTexStorageMem1DEXT(int target, int levels, int internalFormat, int width, int memory, long offset) | |
| glTexStorageMem2DEXT | back to summary |
|---|---|
| public static native void glTexStorageMem2DEXT(int target, int levels, int internalFormat, int width, int height, int memory, long offset) | |
| glTexStorageMem2DMultisampleEXT | back to summary |
|---|---|
| public static native void glTexStorageMem2DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset) | |
| glTexStorageMem3DEXT | back to summary |
|---|---|
| public static native void glTexStorageMem3DEXT(int target, int levels, int internalFormat, int width, int height, int depth, int memory, long offset) | |
| glTexStorageMem3DMultisampleEXT | back to summary |
|---|---|
| public static native void glTexStorageMem3DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset) | |
| glTextureStorageMem1DEXT | back to summary |
|---|---|
| public static native void glTextureStorageMem1DEXT(int texture, int levels, int internalFormat, int width, int memory, long offset) | |
| glTextureStorageMem2DEXT | back to summary |
|---|---|
| public static native void glTextureStorageMem2DEXT(int texture, int levels, int internalFormat, int width, int height, int memory, long offset) | |
| glTextureStorageMem2DMultisampleEXT | back to summary |
|---|---|
| public static native void glTextureStorageMem2DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset) | |
| glTextureStorageMem3DEXT | back to summary |
|---|---|
| public static native void glTextureStorageMem3DEXT(int texture, int levels, int internalFormat, int width, int height, int depth, int memory, long offset) | |
| glTextureStorageMem3DMultisampleEXT | back to summary |
|---|---|
| public static native void glTextureStorageMem3DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset) | |
| nglCreateMemoryObjectsEXT | back to summary |
|---|---|
| public static native void nglCreateMemoryObjectsEXT(int n, long memoryObjects) | |
| nglDeleteMemoryObjectsEXT | back to summary |
|---|---|
| public static native void nglDeleteMemoryObjectsEXT(int n, long memoryObjects) | |
| nglGetMemoryObjectParameterivEXT | back to summary |
|---|---|
| public static native void nglGetMemoryObjectParameterivEXT(int memoryObject, int pname, long params) | |
| nglGetUnsignedBytei_vEXT | back to summary |
|---|---|
| public static native void nglGetUnsignedBytei_vEXT(int target, int index, long data) | |
| nglGetUnsignedBytevEXT | back to summary |
|---|---|
| public static native void nglGetUnsignedBytevEXT(int pname, long data) | |
| nglMemoryObjectParameterivEXT | back to summary |
|---|---|
| public static native void nglMemoryObjectParameterivEXT(int memoryObject, int pname, long params) | |