## Name

glInvalidateTexSubImage — invalidate a region of a texture image

## C Specification

`void glInvalidateTexSubImage(` | GLuint texture,
| GLint level,
| GLint xoffset,
| GLint yoffset,
| GLint zoffset,
| GLsizei width,
| GLsizei height,
| GLsizei depth`)`;

## Parameters

`texture`

  The name of a texture object a subregion of which to invalidate.

`level`

  The level of detail of the texture object within which the region resides.

`xoffset`

  The X offset of the region to be invalidated.

`yoffset`

  The Y offset of the region to be invalidated.

`zoffset`

  The Z offset of the region to be invalidated.

`width`

  The width of the region to be invalidated.

`height`

  The height of the region to be invalidated.

`depth`

  The depth of the region to be invalidated.

## Description

`glInvalidateTexSubImage` invalidates all or part of a texture image. `texture` and `level` indicated which texture image is being invalidated. After this command, data in that subregion have undefined values. `xoffset`, `yoffset`, `zoffset`, `width`, `height`, and `depth` are interpreted as they are in glTexSubImage3D. For texture targets that don't have certain dimensions, this command treats those dimensions as having a size of 1. For example, to invalidate a portion of a two- dimensional texture, the application would use `zoffset` equal to zero and `depth` equal to one. Cube map textures are treated as an array of six slices in the z-dimension, where a value of `zoffset` is interpreted as specifying face `GL_TEXTURE_CUBE_MAP_POSITIVE_X` + `zoffset`.

`level` must be greater than or equal to zero and be less than the base 2 logarithm of the maximum texture width, height, or depth. `xoffset`, `yoffset` and `zoffset` must be greater than or equal to zero and be less than the width, height or depth of the image, respectively. Furthermore, `xoffset` + `width`, `yoffset` + `height`, and `zoffset` + `depth` must be less than or equal to the width, height or depth of the image, respectively.

For textures of targets `GL_TEXTURE_RECTANGLE`, `GL_TEXTURE_BUFFER`, `GL_TEXTURE_2D_MULTISAMPLE`, or `GL_TEXTURE_2D_MULTISAMPLE_ARRAY`, level must be zero.

## Errors

`GL_INVALID_VALUE` is generated if `xoffset`, `yoffset` or `zoffset` is less than zero, or if any of them is greater than the size of the image in the corresponding dimension.

`GL_INVALID_VALUE` is generated if `level` is less than zero or if it is greater or equal to the base 2 logarithm of the maximum texture width, height, or depth.

`GL_INVALID_VALUE` is generated if the target of `texture` is any of `GL_TEXTURE_RECTANGLE`, `GL_TEXTURE_BUFFER`, `GL_TEXTURE_2D_MULTISAMPLE`, or `GL_TEXTURE_2D_MULTISAMPLE_ARRAY` and `level` is not zero.

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

## Associated Gets

glGet with argument `GL_MAX_TEXTURE_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
`glInvalidateTexSubImage` | - | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔

## See Also

glInvalidateTexImage,, glInvalidateBufferSubData, 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/.