2012 Khronos Group
glInvalidateTexSubImage 3G
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 `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`

## See Also

glInvalidateTexImage,, glInvalidateBufferSubData, glInvalidateBufferData, glInvalidateFramebuffer, glInvalidateSubFramebuffer.

## Copyright

Copyright 2012 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/.