[Mesa-dev] [PATCH 6/6] mesa: fix NUM_COMPRESSED_TEXTURE_FORMATS query
Brian Paul
brian.e.paul at gmail.com
Thu Oct 31 18:04:20 CET 2013
On Thu, Oct 31, 2013 at 9:42 AM, Marek Olšák <maraeo at gmail.com> wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> Cc: mesa-stable at lists.freedesktop.org
> ---
> src/mesa/main/texcompress.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/texcompress.c b/src/mesa/main/texcompress.c
> index e71d0c4..7393d3f 100644
> --- a/src/mesa/main/texcompress.c
> +++ b/src/mesa/main/texcompress.c
> @@ -257,11 +257,12 @@ _mesa_get_compressed_formats(struct gl_context *ctx, GLint *formats)
> if (ctx->Extensions.EXT_texture_compression_s3tc) {
> if (formats) {
> formats[n++] = GL_COMPRESSED_RGB_S3TC_DXT1_EXT;
> + formats[n++] = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
> formats[n++] = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
> formats[n++] = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
> }
> else {
> - n += 3;
> + n += 4;
> }
> }
>
Actually, I believe the code is correct as-is. There's a comment
above the function that says:
* Some formats are \b not returned by this function. The
* \c GL_COMPRESSED_TEXTURE_FORMATS query only returns formats that are
* "suitable for general-purpose usage." All texture compression extensions
* have taken this to mean either linear RGB or linear RGBA.
*
I'd have to dig up the spec language, but NVIDIA also omits
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT when you do that query.
-Brian
More information about the mesa-dev
mailing list