# glInvalidateFramebuffer

## Name

glInvalidateFramebuffer, glInvalidateNamedFramebufferData — invalidate the content of some or all of a framebuffer's attachments

## C Specification

 void glInvalidateFramebuffer( GLenum target, GLsizei numAttachments, const GLenum * attachments);

 void glInvalidateNamedFramebufferData( GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments);

## Parameters

target

Specifies the target to which the framebuffer object is attached for glInvalidateFramebuffer.

framebuffer

Specifies the name of the framebuffer object for glInvalidateNamedFramebufferData.

numAttachments

Specifies the number of entries in the attachments array.

attachments

Specifies a pointer to an array identifying the attachments to be invalidated.

## Description

glInvalidateFramebuffer and glInvalidateNamedFramebufferData invalidate the entire contents of a specified set of attachments of a framebuffer.

For glInvalidateFramebuffer, the framebuffer object is that bound to target. target must be GL_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_DRAW_FRAMEBUFFER. GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER. Default framebuffers may also be invalidated if bound to target.

For glInvalidateNamedFramebufferData, framebuffer is the name of the framebuffer object. If framebuffer is zero, the default draw framebuffer is affected.

The set of attachments whose contents are to be invalidated are specified in the attachments array, which contains numAttachments elements.

If the specified framebuffer is a framebuffer object, each element of attachments must be one of GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT GL_DEPTH_STENCIL_ATTACHMENT, or GL_COLOR_ATTACHMENTi, where i is between zero and the value of GL_MAX_FRAMEBUFFER_ATTACHMENTS minus one.

If the specified framebuffer is a default framebuffer, each element of attachments must be one of GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_AUXi, GL_ACCUM, GL_COLOR, GL_DEPTH, or GL_STENCIL. GL_COLOR, is treated as GL_BACK_LEFT for a double-buffered context and GL_FRONT_LEFT for a single-buffered context. The other attachments identify the corresponding specific buffer.

The entire contents of each specified attachment become undefined after execution of glInvalidateFramebuffer or glInvalidateNamedFramebufferData.

If the framebuffer object is not complete, glInvalidateFramebuffer and glInvalidateNamedFramebufferData may be ignored. This is not an error.

## Errors

GL_INVALID_ENUM is generated by glInvalidateFramebuffer if target is not one of the accepted framebuffer targets.

GL_INVALID_OPERATION is generated by glInvalidateNamedFramebufferData if framebuffer is not zero or the name of an existing framebuffer object.

GL_INVALID_VALUE is generated if numAttachments is negative.

GL_INVALID_ENUM is generated if any element of attachments is not one of the accepted framebuffer attachment points, as described above.

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

## Associated Gets

glGet with argument GL_MAX_COLOR_ATTACHMENTS

## Version Support

OpenGL Version
Function / Feature Name 2.0 2.1 3.0 3.1 3.2 3.3 4.0 4.1 4.2 4.3 4.4 4.5
glInvalidateFramebuffer - - - - - - - - -
glInvalidateNamedFramebufferData - - - - - - - - - - -