Module: Mesa Branch: 9.0 Commit: 3dd84a58bb3a066eeaf854dd83a8d33801011367 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3dd84a58bb3a066eeaf854dd83a8d33801011367
Author: Kenneth Graunke <[email protected]> Date: Wed Sep 19 12:01:14 2012 -0700 mesa: Don't override S3TC internalFormat if data is pre-compressed. Commit 42723d88d intended to override an S3TC internalFormat to a generic compressed format when the application requested online compression of uncompressed data. Unfortunately, it also broke pre-compressed textures when libtxc_dxtn isn't installed but the extensions are forced on. Both glCompressedTexImage2D() and glTexImage2D() call teximage(), which calls _mesa_choose_texture_format(), hitting this override code. If we have actual S3TC source data, we can't treat it as any other format, and need to avoid the override. Since glCompressedTexImage2D() passes in a format of GL_NONE (which is illegal for glTexImage), we can use that to detect the pre-compressed case and avoid the overrides. Fixes a regression since 42723d88d370a7599398cc1c2349aeb951ba1c57. NOTE: This is a candidate for the 9.0 branch. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-and-tested-by: Jordan Justen <[email protected]> (cherry picked from commit 328961d95586931a17fe81ba816d362e8389c105) --- src/mesa/main/teximage.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index cbbb8e7..9822685 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2808,7 +2808,7 @@ _mesa_choose_texture_format(struct gl_context *ctx, /* If the application requested compression to an S3TC format but we don't * have the DTXn library, force a generic compressed format instead. */ - if (internalFormat != format) { + if (internalFormat != format && format != GL_NONE) { const GLenum before = internalFormat; switch (internalFormat) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
