public class ARBInvalidateSubdata
extends java.lang.Object
This extension adds a mechanism for an application to tell the GL that the previous contents of a subregion of an image or a range of a buffer may be invalidated.
GL implementations often include several memory spaces, each with distinct performance characteristics, and the implementations transparently move allocations between memory spaces. With this extension, an application can tell the GL that the contents of a texture or buffer are no longer needed, and the implementation can avoid transferring the data unnecessarily.
Examples of when this may be useful include:
It is expected that the situations in which the GL will take advantage of this knowledge and achieve increased performance as a result of its use will be implementation-dependent. The first three examples may show benefit on tiled renderers where some data won't need to be copied into or out of on-chip memory. The fourth example may show a benefit in multi-GPU systems where some data won't need to be copied between GPUs.
This extension is a superset of the EXT_discard_framebuffer extension with the following additions:
Requires OpenGL 2.0. Promoted to core in OpenGL 4.3.
| Modifier and Type | Method and Description |
|---|---|
static void |
glInvalidateBufferData(int buffer)
Invalidates the content of a buffer object's data store.
|
static void |
glInvalidateBufferSubData(int buffer,
long offset,
long length)
Invalidates a region of a buffer object's data store.
|
static void |
glInvalidateFramebuffer(int target,
int attachment)
Invalidate the content some or all of a framebuffer object's attachments.
|
static void |
glInvalidateFramebuffer(int target,
int[] attachments)
Array version of:
InvalidateFramebuffer |
static void |
glInvalidateFramebuffer(int target,
java.nio.IntBuffer attachments)
Invalidate the content some or all of a framebuffer object's attachments.
|
static void |
glInvalidateSubFramebuffer(int target,
int[] attachments,
int x,
int y,
int width,
int height)
Array version of:
InvalidateSubFramebuffer |
static void |
glInvalidateSubFramebuffer(int target,
java.nio.IntBuffer attachments,
int x,
int y,
int width,
int height)
Invalidates the content of a region of some or all of a framebuffer object's attachments.
|
static void |
glInvalidateSubFramebuffer(int target,
int attachment,
int x,
int y,
int width,
int height)
Invalidates the content of a region of some or all of a framebuffer object's attachments.
|
static void |
glInvalidateTexImage(int texture,
int level)
Invalidates the entirety of a texture image.
|
static void |
glInvalidateTexSubImage(int texture,
int level,
int xoffset,
int yoffset,
int zoffset,
int width,
int height,
int depth)
Invalidates a region of a texture image.
|
static void |
nglInvalidateFramebuffer(int target,
int numAttachments,
long attachments)
Unsafe version of:
InvalidateFramebuffer |
static void |
nglInvalidateSubFramebuffer(int target,
int numAttachments,
long attachments,
int x,
int y,
int width,
int height)
Unsafe version of:
InvalidateSubFramebuffer |
public static void glInvalidateTexSubImage(int texture,
int level,
int xoffset,
int yoffset,
int zoffset,
int width,
int height,
int depth)
texture - the name of a texture object a subregion of which to invalidatelevel - the level of detail of the texture object within which the region residesxoffset - the X offset of the region to be invalidatedyoffset - the Y offset of the region to be invalidatedzoffset - the Z offset of the region to be invalidatedwidth - the width of the region to be invalidatedheight - the height of the region to be invalidateddepth - the depth of the region to be invalidatedpublic static void glInvalidateTexImage(int texture,
int level)
texture - the name of a texture object to invalidatelevel - the level of detail of the texture object to invalidatepublic static void glInvalidateBufferSubData(int buffer,
long offset,
long length)
buffer - the name of a buffer object, a subrange of whose data store to invalidateoffset - the offset within the buffer's data store of the start of the range to be invalidatedlength - the length of the range within the buffer's data store to be invalidatedpublic static void glInvalidateBufferData(int buffer)
buffer - the name of a buffer object whose data store to invalidatepublic static void nglInvalidateFramebuffer(int target,
int numAttachments,
long attachments)
InvalidateFramebuffernumAttachments - the number of entries in the attachments arraypublic static void glInvalidateFramebuffer(int target,
java.nio.IntBuffer attachments)
target - the target to which the framebuffer is attached. One of:FRAMEBUFFER | DRAW_FRAMEBUFFER | READ_FRAMEBUFFER |
attachments - the address of an array identifying the attachments to be invalidatedpublic static void glInvalidateFramebuffer(int target,
int attachment)
target - the target to which the framebuffer is attached. One of:FRAMEBUFFER | DRAW_FRAMEBUFFER | READ_FRAMEBUFFER |
public static void nglInvalidateSubFramebuffer(int target,
int numAttachments,
long attachments,
int x,
int y,
int width,
int height)
InvalidateSubFramebuffernumAttachments - the number of entries in the attachments arraypublic static void glInvalidateSubFramebuffer(int target,
java.nio.IntBuffer attachments,
int x,
int y,
int width,
int height)
target - the target to which the framebuffer is attached. One of:FRAMEBUFFER | DRAW_FRAMEBUFFER | READ_FRAMEBUFFER |
attachments - an array identifying the attachments to be invalidatedx - the X offset of the region to be invalidatedy - the Y offset of the region to be invalidatedwidth - the width of the region to be invalidatedheight - the height of the region to be invalidatedpublic static void glInvalidateSubFramebuffer(int target,
int attachment,
int x,
int y,
int width,
int height)
target - the target to which the framebuffer is attached. One of:FRAMEBUFFER | DRAW_FRAMEBUFFER | READ_FRAMEBUFFER |
x - the X offset of the region to be invalidatedy - the Y offset of the region to be invalidatedwidth - the width of the region to be invalidatedheight - the height of the region to be invalidatedpublic static void glInvalidateFramebuffer(int target,
int[] attachments)
InvalidateFramebufferpublic static void glInvalidateSubFramebuffer(int target,
int[] attachments,
int x,
int y,
int width,
int height)
InvalidateSubFramebufferCopyright LWJGL. All Rights Reserved. License terms.