The following (1., 2.) sequence (level = 1): 0. ... 1. glTexImage2D(GL_TEXTURE_2D, level, internalFormat_a = GL_RGB, ..., *image) // wipe out the existing texture image 2. glCompressedTexImage2DARB(GL_TEXTURE_2D, level, internalFormat_b = GL_COMPRESSED_RGB_S3TC_DXT1_EXT , ..., *image) causes that the following: 3. glGetTexImage (GL_TEXTURE_2D, level, ..., *image) returns the texture image (sets, e.g. the FetchTexel2Df), assuming texture's internalFormat_a (internally: texformat_argb8888) instead of internalFormat_b (internally: texformat_rgb_dxt1). If level = 0, the example works O.K.
The problem is caused by the fact, that the texImage->FetchTexelf ptr is not re-initialized to a new value (depending on the internalFormat arg of glCompressedTexImage2DARB) in the following calls sequence: _mesa_CompressedTexImage2DARB()-> _mesa_get_tex_image() -> _mesa_init_teximage_fields()
*** This bug has been marked as a duplicate of bug 13830 ***
Mass version move, cvs -> git
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.