Class EXTBufferStorage
OpenGL ES has long supported buffer objects as a means of storing data that may be used to source vertex attributes, pixel data for textures, uniforms and other elements. In un-extended ES, buffer data stores are mutable - that is, they may be de-allocated or resized while they are in use. The GL_EXT_texture_storage extension added immutable storage for texture objects (and was subsequently incorporated into OpenGL ES 3.0). This extension further applies the concept of immutable storage to buffer objects. If an implementation is aware of a buffer's immutability, it may be able to make certain assumptions or apply particular optimizations in order to increase performance or reliability.
Furthermore, this extension allows applications to pass additional information about a requested allocation to the implementation which it may use to select memory heaps, caching behavior or allocation strategies.
Finally, this extension introduces the concept of persistent client mappings of buffer objects, which allow clients to retain pointers to a buffer's data store returned as the result of a mapping, and to issue drawing commands while those mappings are in place.
Requires GLES 3.1
.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
MAP_PERSISTENT_BIT_EXT 0x0040 (as above) MAP_COHERENT_BIT_EXT 0x0080 (as above) Accepted by thepname
parameter of GetBufferParameter{i|i64}v.static final int
MAP_PERSISTENT_BIT_EXT 0x0040 (as above) MAP_COHERENT_BIT_EXT 0x0080 (as above) Accepted by thepname
parameter of GetBufferParameter{i|i64}v.static final int
Accepted by thebarriers
parameter of MemoryBarrier.static final int
Accepted in theflags
parameter of BufferStorageEXT and NamedBufferStorageEXT.static final int
Accepted in theflags
parameter of BufferStorageEXT and NamedBufferStorageEXT.static final int
Accepted in theflags
parameter of BufferStorageEXT and NamedBufferStorageEXT.static final int
Accepted in theflags
parameter of BufferStorageEXT and NamedBufferStorageEXT. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glBufferStorageEXT
(int target, float[] data, int flags) Array version of:BufferStorageEXT
static void
glBufferStorageEXT
(int target, int[] data, int flags) Array version of:BufferStorageEXT
static void
glBufferStorageEXT
(int target, long size, int flags) static void
glBufferStorageEXT
(int target, short[] data, int flags) Array version of:BufferStorageEXT
static void
glBufferStorageEXT
(int target, ByteBuffer data, int flags) static void
glBufferStorageEXT
(int target, FloatBuffer data, int flags) static void
glBufferStorageEXT
(int target, IntBuffer data, int flags) static void
glBufferStorageEXT
(int target, ShortBuffer data, int flags) static void
glNamedBufferStorageEXT
(int buffer, float[] data, int flags) Array version of:NamedBufferStorageEXT
static void
glNamedBufferStorageEXT
(int buffer, int[] data, int flags) Array version of:NamedBufferStorageEXT
static void
glNamedBufferStorageEXT
(int buffer, long size, int flags) static void
glNamedBufferStorageEXT
(int buffer, short[] data, int flags) Array version of:NamedBufferStorageEXT
static void
glNamedBufferStorageEXT
(int buffer, ByteBuffer data, int flags) static void
glNamedBufferStorageEXT
(int buffer, FloatBuffer data, int flags) static void
glNamedBufferStorageEXT
(int buffer, IntBuffer data, int flags) static void
glNamedBufferStorageEXT
(int buffer, ShortBuffer data, int flags) static void
nglBufferStorageEXT
(int target, long size, long data, int flags) static void
nglNamedBufferStorageEXT
(int buffer, long size, long data, int flags)
-
Field Details
-
GL_MAP_PERSISTENT_BIT_EXT
public static final int GL_MAP_PERSISTENT_BIT_EXTAccepted in theflags
parameter of BufferStorageEXT and NamedBufferStorageEXT.- See Also:
-
GL_MAP_COHERENT_BIT_EXT
public static final int GL_MAP_COHERENT_BIT_EXTAccepted in theflags
parameter of BufferStorageEXT and NamedBufferStorageEXT.- See Also:
-
GL_DYNAMIC_STORAGE_BIT_EXT
public static final int GL_DYNAMIC_STORAGE_BIT_EXTAccepted in theflags
parameter of BufferStorageEXT and NamedBufferStorageEXT.- See Also:
-
GL_CLIENT_STORAGE_BIT_EXT
public static final int GL_CLIENT_STORAGE_BIT_EXTAccepted in theflags
parameter of BufferStorageEXT and NamedBufferStorageEXT.- See Also:
-
GL_BUFFER_IMMUTABLE_STORAGE_EXT
public static final int GL_BUFFER_IMMUTABLE_STORAGE_EXTMAP_PERSISTENT_BIT_EXT 0x0040 (as above) MAP_COHERENT_BIT_EXT 0x0080 (as above) Accepted by thepname
parameter of GetBufferParameter{i|i64}v.- See Also:
-
GL_BUFFER_STORAGE_FLAGS_EXT
public static final int GL_BUFFER_STORAGE_FLAGS_EXTMAP_PERSISTENT_BIT_EXT 0x0040 (as above) MAP_COHERENT_BIT_EXT 0x0080 (as above) Accepted by thepname
parameter of GetBufferParameter{i|i64}v.- See Also:
-
GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT
public static final int GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXTAccepted by thebarriers
parameter of MemoryBarrier.- See Also:
-
-
Method Details
-
nglBufferStorageEXT
public static void nglBufferStorageEXT(int target, long size, long data, int flags) -
glBufferStorageEXT
public static void glBufferStorageEXT(int target, long size, int flags) -
glBufferStorageEXT
-
glBufferStorageEXT
-
glBufferStorageEXT
-
glBufferStorageEXT
-
nglNamedBufferStorageEXT
public static void nglNamedBufferStorageEXT(int buffer, long size, long data, int flags) -
glNamedBufferStorageEXT
public static void glNamedBufferStorageEXT(int buffer, long size, int flags) -
glNamedBufferStorageEXT
-
glNamedBufferStorageEXT
-
glNamedBufferStorageEXT
-
glNamedBufferStorageEXT
-
glBufferStorageEXT
public static void glBufferStorageEXT(int target, short[] data, int flags) Array version of:BufferStorageEXT
-
glBufferStorageEXT
public static void glBufferStorageEXT(int target, int[] data, int flags) Array version of:BufferStorageEXT
-
glBufferStorageEXT
public static void glBufferStorageEXT(int target, float[] data, int flags) Array version of:BufferStorageEXT
-
glNamedBufferStorageEXT
public static void glNamedBufferStorageEXT(int buffer, short[] data, int flags) Array version of:NamedBufferStorageEXT
-
glNamedBufferStorageEXT
public static void glNamedBufferStorageEXT(int buffer, int[] data, int flags) Array version of:NamedBufferStorageEXT
-
glNamedBufferStorageEXT
public static void glNamedBufferStorageEXT(int buffer, float[] data, int flags) Array version of:NamedBufferStorageEXT
-