## Name

glInvalidateBufferSubData — invalidate a region of a buffer object's data store

## C Specification

`void glInvalidateBufferSubData(` | GLuint buffer,
| GLintptr offset,
| GLsizeiptr length`)`;

## Parameters

`buffer`

  The name of a buffer object, a subrange of whose data store to invalidate.

`offset`

  The offset within the buffer's data store of the start of the range to be invalidated.

`length`

  The length of the range within the buffer's data store to be invalidated.

## Description

`glInvalidateBufferSubData` invalidates all or part of the content of the data store of a buffer object. After invalidation, the content of the specified range of the buffer's data store becomes undefined. The start of the range is given by `offset` and its size is given by `length`, both measured in basic machine units.

## Errors

`GL_INVALID_VALUE` is generated if `offset` or `length` is negative, or if `offset` + `length` is greater than the value of `GL_BUFFER_SIZE` for `buffer`.

`GL_INVALID_VALUE` is generated if `buffer` is not the name of an existing buffer object.

`GL_INVALID_OPERATION` is generated if any part of `buffer` is currently mapped.

## Associated Gets

glGetBufferParameter with argument `GL_BUFFER_SIZE`

## 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
`glInvalidateBufferSubData` | - | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔

## See Also

glInvalidateTexSubImage,, glInvalidateTexImage, glInvalidateBufferData, glInvalidateFramebuffer, glInvalidateSubFramebuffer.

## Copyright

Copyright © 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.