public class EXTMemoryObject
extends java.lang.Object
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 GLES 3.0.
| Modifier and Type | Field and Description |
|---|---|
static int |
GL_DEDICATED_MEMORY_OBJECT_EXT
|
static 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. |
static 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. |
static int |
GL_LINEAR_TILING_EXT
Returned in the
params parameter of GetInternalFormativ or GetInternalFormati64v when the pname parameter is TILING_TYPES_EXT,
returned in the params parameter of GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v
when the pname parameter is TEXTURE_TILING_EXT, and accepted by the params parameter of TexParameter{ifx}{v}, TexParameterI{i ui}v,
TextureParameter{if}{v}, TextureParameterI{i ui}v when the pname parameter is TEXTURE_TILING_EXT. |
static 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. |
static int |
GL_NUM_TILING_TYPES_EXT
Accepted by the
pname parameter of GetInternalFormativ or GetInternalFormati64v. |
static int |
GL_OPTIMAL_TILING_EXT
Returned in the
params parameter of GetInternalFormativ or GetInternalFormati64v when the pname parameter is TILING_TYPES_EXT,
returned in the params parameter of GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v
when the pname parameter is TEXTURE_TILING_EXT, and accepted by the params parameter of TexParameter{ifx}{v}, TexParameterI{i ui}v,
TextureParameter{if}{v}, TextureParameterI{i ui}v when the pname parameter is TEXTURE_TILING_EXT. |
static int |
GL_PROTECTED_MEMORY_OBJECT_EXT
|
static int |
GL_TEXTURE_TILING_EXT
Accepted by the
pname parameter 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 int |
GL_TILING_TYPES_EXT
Accepted by the
pname parameter of GetInternalFormativ or GetInternalFormati64v. |
static int |
GL_UUID_SIZE_EXT
Constant values.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
glBufferStorageMemEXT(int target,
long size,
int memory,
long offset) |
static int |
glCreateMemoryObjectsEXT() |
static void |
glCreateMemoryObjectsEXT(int[] memoryObjects)
Array version of:
CreateMemoryObjectsEXT |
static void |
glCreateMemoryObjectsEXT(java.nio.IntBuffer memoryObjects) |
static void |
glDeleteMemoryObjectsEXT(int memoryObject) |
static void |
glDeleteMemoryObjectsEXT(int[] memoryObjects)
Array version of:
DeleteMemoryObjectsEXT |
static void |
glDeleteMemoryObjectsEXT(java.nio.IntBuffer memoryObjects) |
static int |
glGetMemoryObjectParameteriEXT(int memoryObject,
int pname) |
static void |
glGetMemoryObjectParameterivEXT(int memoryObject,
int pname,
int[] params)
Array version of:
GetMemoryObjectParameterivEXT |
static void |
glGetMemoryObjectParameterivEXT(int memoryObject,
int pname,
java.nio.IntBuffer params) |
static void |
glGetUnsignedBytei_vEXT(int target,
int index,
java.nio.ByteBuffer data) |
static void |
glGetUnsignedBytevEXT(int pname,
java.nio.ByteBuffer data) |
static boolean |
glIsMemoryObjectEXT(int memoryObject) |
static void |
glMemoryObjectParameteriEXT(int memoryObject,
int pname,
int param) |
static void |
glMemoryObjectParameterivEXT(int memoryObject,
int pname,
int[] params)
Array version of:
MemoryObjectParameterivEXT |
static void |
glMemoryObjectParameterivEXT(int memoryObject,
int pname,
java.nio.IntBuffer params) |
static void |
glNamedBufferStorageMemEXT(int buffer,
long size,
int memory,
long offset) |
static void |
glTexStorageMem2DEXT(int target,
int levels,
int internalFormat,
int width,
int height,
int memory,
long offset) |
static void |
glTexStorageMem2DMultisampleEXT(int target,
int samples,
int internalFormat,
int width,
int height,
boolean fixedSampleLocations,
int memory,
long offset) |
static void |
glTexStorageMem3DEXT(int target,
int levels,
int internalFormat,
int width,
int height,
int depth,
int memory,
long offset) |
static void |
glTexStorageMem3DMultisampleEXT(int target,
int samples,
int internalFormat,
int width,
int height,
int depth,
boolean fixedSampleLocations,
int memory,
long offset) |
static void |
glTextureStorageMem2DEXT(int texture,
int levels,
int internalFormat,
int width,
int height,
int memory,
long offset) |
static void |
glTextureStorageMem2DMultisampleEXT(int texture,
int samples,
int internalFormat,
int width,
int height,
boolean fixedSampleLocations,
int memory,
long offset) |
static void |
glTextureStorageMem3DEXT(int texture,
int levels,
int internalFormat,
int width,
int height,
int depth,
int memory,
long offset) |
static void |
glTextureStorageMem3DMultisampleEXT(int texture,
int samples,
int internalFormat,
int width,
int height,
int depth,
boolean fixedSampleLocations,
int memory,
long offset) |
static void |
nglCreateMemoryObjectsEXT(int n,
long memoryObjects) |
static void |
nglDeleteMemoryObjectsEXT(int n,
long memoryObjects) |
static void |
nglGetMemoryObjectParameterivEXT(int memoryObject,
int pname,
long params) |
static void |
nglGetUnsignedBytei_vEXT(int target,
int index,
long data) |
static void |
nglGetUnsignedBytevEXT(int pname,
long data) |
static void |
nglMemoryObjectParameterivEXT(int memoryObject,
int pname,
long params) |
public static final int GL_TEXTURE_TILING_EXT
pname parameter 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.public static final int GL_DEDICATED_MEMORY_OBJECT_EXT
public static final int GL_PROTECTED_MEMORY_OBJECT_EXT
public static final int GL_NUM_TILING_TYPES_EXT
pname parameter of GetInternalFormativ or GetInternalFormati64v.public static final int GL_TILING_TYPES_EXT
pname parameter of GetInternalFormativ or GetInternalFormati64v.public static final int GL_OPTIMAL_TILING_EXT
params parameter of GetInternalFormativ or GetInternalFormati64v when the pname parameter is TILING_TYPES_EXT,
returned in the params parameter of GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v
when the pname parameter is TEXTURE_TILING_EXT, and accepted by the params parameter of TexParameter{ifx}{v}, TexParameterI{i ui}v,
TextureParameter{if}{v}, TextureParameterI{i ui}v when the pname parameter is TEXTURE_TILING_EXT.public static final int GL_LINEAR_TILING_EXT
params parameter of GetInternalFormativ or GetInternalFormati64v when the pname parameter is TILING_TYPES_EXT,
returned in the params parameter of GetTexParameter{if}v, GetTexParameterI{i ui}v, GetTextureParameter{if}v, and GetTextureParameterI{i ui}v
when the pname parameter is TEXTURE_TILING_EXT, and accepted by the params parameter of TexParameter{ifx}{v}, TexParameterI{i ui}v,
TextureParameter{if}{v}, TextureParameterI{i ui}v when the pname parameter is TEXTURE_TILING_EXT.public static final int GL_NUM_DEVICE_UUIDS_EXT
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_DEVICE_UUID_EXT
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
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
public static void nglGetUnsignedBytevEXT(int pname,
long data)
public static void glGetUnsignedBytevEXT(int pname,
java.nio.ByteBuffer data)
public static void nglGetUnsignedBytei_vEXT(int target,
int index,
long data)
public static void glGetUnsignedBytei_vEXT(int target,
int index,
java.nio.ByteBuffer data)
public static void nglDeleteMemoryObjectsEXT(int n,
long memoryObjects)
public static void glDeleteMemoryObjectsEXT(java.nio.IntBuffer memoryObjects)
public static void glDeleteMemoryObjectsEXT(int memoryObject)
public static boolean glIsMemoryObjectEXT(int memoryObject)
public static void nglCreateMemoryObjectsEXT(int n,
long memoryObjects)
public static void glCreateMemoryObjectsEXT(java.nio.IntBuffer memoryObjects)
public static int glCreateMemoryObjectsEXT()
public static void nglMemoryObjectParameterivEXT(int memoryObject,
int pname,
long params)
public static void glMemoryObjectParameterivEXT(int memoryObject,
int pname,
java.nio.IntBuffer params)
public static void glMemoryObjectParameteriEXT(int memoryObject,
int pname,
int param)
public static void nglGetMemoryObjectParameterivEXT(int memoryObject,
int pname,
long params)
public static void glGetMemoryObjectParameterivEXT(int memoryObject,
int pname,
java.nio.IntBuffer params)
public static int glGetMemoryObjectParameteriEXT(int memoryObject,
int pname)
public static void glTexStorageMem2DEXT(int target,
int levels,
int internalFormat,
int width,
int height,
int memory,
long offset)
public static void glTexStorageMem2DMultisampleEXT(int target,
int samples,
int internalFormat,
int width,
int height,
boolean fixedSampleLocations,
int memory,
long offset)
public static void glTexStorageMem3DEXT(int target,
int levels,
int internalFormat,
int width,
int height,
int depth,
int memory,
long offset)
public static void glTexStorageMem3DMultisampleEXT(int target,
int samples,
int internalFormat,
int width,
int height,
int depth,
boolean fixedSampleLocations,
int memory,
long offset)
public static void glBufferStorageMemEXT(int target,
long size,
int memory,
long offset)
public static void glTextureStorageMem2DEXT(int texture,
int levels,
int internalFormat,
int width,
int height,
int memory,
long offset)
public static void glTextureStorageMem2DMultisampleEXT(int texture,
int samples,
int internalFormat,
int width,
int height,
boolean fixedSampleLocations,
int memory,
long offset)
public static void glTextureStorageMem3DEXT(int texture,
int levels,
int internalFormat,
int width,
int height,
int depth,
int memory,
long offset)
public static void glTextureStorageMem3DMultisampleEXT(int texture,
int samples,
int internalFormat,
int width,
int height,
int depth,
boolean fixedSampleLocations,
int memory,
long offset)
public static void glNamedBufferStorageMemEXT(int buffer,
long size,
int memory,
long offset)
public static void glDeleteMemoryObjectsEXT(int[] memoryObjects)
DeleteMemoryObjectsEXTpublic static void glCreateMemoryObjectsEXT(int[] memoryObjects)
CreateMemoryObjectsEXTpublic static void glMemoryObjectParameterivEXT(int memoryObject,
int pname,
int[] params)
MemoryObjectParameterivEXTpublic static void glGetMemoryObjectParameterivEXT(int memoryObject,
int pname,
int[] params)
GetMemoryObjectParameterivEXTCopyright LWJGL. All Rights Reserved. License terms.