Class EXTMemoryObject
- java.lang.Object
-
- org.lwjgl.opengl.EXTMemoryObject
-
public class EXTMemoryObject extends java.lang.ObjectNative 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.2orARB_texture_storage.
-
-
Field Summary
Fields Modifier and Type Field and Description static intGL_DEDICATED_MEMORY_OBJECT_EXTstatic intGL_DEVICE_UUID_EXT
GL_DRIVER_UUID_EXTAccepted by thepnameparameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v,GetUnsignedBytevEXT, and thetargetparameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, andGetUnsignedBytei_vEXT.static intGL_LINEAR_TILING_EXTReturned in theparamsparameter of GetInternalFormativ or GetInternalFormati64v when thepnameparameter isTILING_TYPES_EXT, returned in theparamsparameter of GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v when thepnameparameter isTEXTURE_TILING_EXT, and accepted by theparamsparameter of TexParameter{ifx}{v}, TexParameterI{i ui}v, TextureParameter{if}{v}, TextureParameterI{i ui}v when thepnameparameter isTEXTURE_TILING_EXT.static intGL_NUM_DEVICE_UUIDS_EXTAccepted by thepnameparameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v,GetUnsignedBytevEXT, and thetargetparameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, andGetUnsignedBytei_vEXT.static intGL_NUM_TILING_TYPES_EXTAccepted by thepnameparameter of GetInternalFormativ or GetInternalFormati64v.static intGL_OPTIMAL_TILING_EXTReturned in theparamsparameter of GetInternalFormativ or GetInternalFormati64v when thepnameparameter isTILING_TYPES_EXT, returned in theparamsparameter of GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v when thepnameparameter isTEXTURE_TILING_EXT, and accepted by theparamsparameter of TexParameter{ifx}{v}, TexParameterI{i ui}v, TextureParameter{if}{v}, TextureParameterI{i ui}v when thepnameparameter isTEXTURE_TILING_EXT.static intGL_TEXTURE_TILING_EXTAccepted by thepnameparameter of TexParameter{ifx}{v}, TexParameterI{i ui}v, TextureParameter{if}{v}, TextureParameterI{i ui}v, GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v.static intGL_TILING_TYPES_EXTAccepted by thepnameparameter of GetInternalFormativ or GetInternalFormati64v.static intGL_UUID_SIZE_EXTConstant values.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static voidglBufferStorageMemEXT(int target, long size, int memory, long offset)static intglCreateMemoryObjectsEXT()static voidglCreateMemoryObjectsEXT(int[] memoryObjects)Array version of:CreateMemoryObjectsEXTstatic voidglCreateMemoryObjectsEXT(java.nio.IntBuffer memoryObjects)static voidglDeleteMemoryObjectsEXT(int memoryObject)static voidglDeleteMemoryObjectsEXT(int[] memoryObjects)Array version of:DeleteMemoryObjectsEXTstatic voidglDeleteMemoryObjectsEXT(java.nio.IntBuffer memoryObjects)static intglGetMemoryObjectParameteriEXT(int memoryObject, int pname)static voidglGetMemoryObjectParameterivEXT(int memoryObject, int pname, int[] params)Array version of:GetMemoryObjectParameterivEXTstatic voidglGetMemoryObjectParameterivEXT(int memoryObject, int pname, java.nio.IntBuffer params)static voidglGetUnsignedBytei_vEXT(int target, int index, java.nio.ByteBuffer data)static voidglGetUnsignedBytevEXT(int pname, java.nio.ByteBuffer data)static booleanglIsMemoryObjectEXT(int memoryObject)static voidglMemoryObjectParameteriEXT(int memoryObject, int pname, int param)static voidglMemoryObjectParameterivEXT(int memoryObject, int pname, int[] params)Array version of:MemoryObjectParameterivEXTstatic voidglMemoryObjectParameterivEXT(int memoryObject, int pname, java.nio.IntBuffer params)static voidglNamedBufferStorageMemEXT(int buffer, long size, int memory, long offset)static voidglTexStorageMem1DEXT(int target, int levels, int internalFormat, int width, int memory, long offset)static voidglTexStorageMem2DEXT(int target, int levels, int internalFormat, int width, int height, int memory, long offset)static voidglTexStorageMem2DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset)static voidglTexStorageMem3DEXT(int target, int levels, int internalFormat, int width, int height, int depth, int memory, long offset)static voidglTexStorageMem3DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset)static voidglTextureStorageMem1DEXT(int texture, int levels, int internalFormat, int width, int memory, long offset)static voidglTextureStorageMem2DEXT(int texture, int levels, int internalFormat, int width, int height, int memory, long offset)static voidglTextureStorageMem2DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset)static voidglTextureStorageMem3DEXT(int texture, int levels, int internalFormat, int width, int height, int depth, int memory, long offset)static voidglTextureStorageMem3DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset)
-
-
-
Field Detail
-
GL_TEXTURE_TILING_EXT
Accepted by thepnameparameter of TexParameter{ifx}{v}, TexParameterI{i ui}v, TextureParameter{if}{v}, TextureParameterI{i ui}v, GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v.
-
GL_NUM_TILING_TYPES_EXT, GL_TILING_TYPES_EXT
Accepted by thepnameparameter of GetInternalFormativ or GetInternalFormati64v.
-
GL_OPTIMAL_TILING_EXT, GL_LINEAR_TILING_EXT
Returned in theparamsparameter of GetInternalFormativ or GetInternalFormati64v when thepnameparameter isTILING_TYPES_EXT, returned in theparamsparameter of GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v when thepnameparameter isTEXTURE_TILING_EXT, and accepted by theparamsparameter of TexParameter{ifx}{v}, TexParameterI{i ui}v, TextureParameter{if}{v}, TextureParameterI{i ui}v when thepnameparameter isTEXTURE_TILING_EXT.
-
GL_NUM_DEVICE_UUIDS_EXT, GL_DEVICE_UUID_EXT, GL_DRIVER_UUID_EXT
Accepted by thepnameparameter of GetBooleanv, GetDoublev, GetFloatv, GetIntegerv, GetInteger64v,GetUnsignedBytevEXT, and thetargetparameter of GetBooleani_v, GetIntegeri_v,GetFloati_v, GetDoublei_v, GetInteger64i_v, andGetUnsignedBytei_vEXT.
-
GL_UUID_SIZE_EXT
Constant values.
-
-
Method Detail
-
glGetUnsignedBytevEXT
public static void glGetUnsignedBytevEXT(int pname, java.nio.ByteBuffer data)
-
glGetUnsignedBytei_vEXT
public static void glGetUnsignedBytei_vEXT(int target, int index, java.nio.ByteBuffer data)
-
glDeleteMemoryObjectsEXT
public static void glDeleteMemoryObjectsEXT(java.nio.IntBuffer memoryObjects)
-
glDeleteMemoryObjectsEXT
public static void glDeleteMemoryObjectsEXT(int memoryObject)
-
glIsMemoryObjectEXT
public static boolean glIsMemoryObjectEXT(int memoryObject)
-
glCreateMemoryObjectsEXT
public static void glCreateMemoryObjectsEXT(java.nio.IntBuffer memoryObjects)
-
glCreateMemoryObjectsEXT
public static int glCreateMemoryObjectsEXT()
-
glMemoryObjectParameterivEXT
public static void glMemoryObjectParameterivEXT(int memoryObject, int pname, java.nio.IntBuffer params)
-
glMemoryObjectParameteriEXT
public static void glMemoryObjectParameteriEXT(int memoryObject, int pname, int param)
-
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)Array version of:GetMemoryObjectParameterivEXT
-
-