Light | Dark



glInvalidateSubFramebuffer — Invalidate portions of the contents of attachments within a framebuffer

C Specification

void glInvalidateSubFramebuffer( GLenum target,
  GLsizei numAttachments,
  const GLenum *attachments,
  GLsizei width,
  GLsizei height);



Specifies the target of the invalidate operation. Must be GL_FRAMEBUFFER.


Specifies how many attachments are supplied in the attachments list.


A list of numAttachments attachments to invalidate.


Specifies the left origin of the pixel rectangle to invalidate, with lower left hand corner at (0,0).


Specifies the bottom origin of the pixel rectangle to invalidate, with lower left hand corner at (0,0).


Specifies the width of the pixel rectangle to invalidate.


Specifies the height of the pixel rectangle to invalidate.


glInvalidateSubFramebuffer signals to the GL that it need not preserve all pixels of a specified region of a bound framebuffer object. attachments contains a list of numAttachments to be invalidated. If an attachment is specified that does not exist in the bound framebuffer, it is ignored. x, y, width and height specify the bounds of the pixel rectangle to invalidate. Any of these pixels lying outside of the window allocated to the current GL context, or outside of the image attached to the currently bound framebuffer object, are ignored.

If a framebuffer object is bound, then attachments may contain GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT, and/or GL_DEPTH_STENCIL_ATTACHMENT. If the framebuffer object is not complete, glInvalidateSubFramebuffer may be ignored.

If the default framebuffer is bound, then attachments may contain GL_COLOR, identifying the color buffer; GL_DEPTH, identifying the depth buffer; and/or GL_STENCIL, identifying the stencil buffer.


The intention of this function is to provide a hint to the GL implementation that there is no longer a need to preserve the contents of particular attachments of a framebuffer object, or the default framebuffer. It is possible, for example, to signal the intention that depth and or stencil data is no longer needed at the end of a scene, or that multisample color buffer data is no longer needed after a resolve through glBlitFramebuffer.


GL_INVALID_ENUM is generated if target is not GL_FRAMEBUFFER.

GL_INVALID_OPERATION is generated if attachments contains GL_COLOR_ATTACHMENTm and m is greater than or equal to the value of GL_MAX_COLOR_ATTACHMENTS.

API Version Support

OpenGL ES API Version
Function Name 2.0 3.0 3.1
glInvalidateSubFramebuffer -
Think you can improve this page? Edit this page on GitHub.