st/mesa: do not advertise S3TC if the external lib is not available
authorMarek Olšák <maraeo@gmail.com>
Sat, 27 Feb 2010 02:20:58 +0000 (03:20 +0100)
committerMarek Olšák <maraeo@gmail.com>
Sat, 27 Feb 2010 23:46:36 +0000 (00:46 +0100)
src/mesa/state_tracker/st_extensions.c

index d5f58546613570c0c26d3b06d2410286da8ea1a3..e9ee65576d50f9d793295f1e23d032838ae0659d 100644 (file)
@@ -299,8 +299,12 @@ void st_init_extensions(struct st_context *st)
 
    /* s3tc support */
    if (screen->is_format_supported(screen, PIPE_FORMAT_DXT5_RGBA,
-                                   PIPE_TEXTURE_2D, 
-                                   PIPE_TEXTURE_USAGE_SAMPLER, 0)) {
+                                   PIPE_TEXTURE_2D,
+                                   PIPE_TEXTURE_USAGE_SAMPLER, 0) &&
+       (ctx->Mesa_DXTn ||
+        screen->is_format_supported(screen, PIPE_FORMAT_DXT5_RGBA,
+                                    PIPE_TEXTURE_2D,
+                                    PIPE_TEXTURE_USAGE_RENDER_TARGET, 0))) {
       ctx->Extensions.EXT_texture_compression_s3tc = GL_TRUE;
       ctx->Extensions.S3_s3tc = GL_TRUE;
    }