From: Ian Romanick <ian.d.roman...@intel.com>

There are some compressed formats that the spec doesn't seem to require
implementations to advertise via GL_COMPRESSED_TEXTURE_FORMATS.  No
formats are yet marked as optional.  The next two patches will add that.

Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>
Cc: Anuj Phogat <anuj.pho...@gmail.com>
---
 .../spec/arb_texture_compression/invalid-formats.c | 32 ++++++++++++++--------
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/tests/spec/arb_texture_compression/invalid-formats.c 
b/tests/spec/arb_texture_compression/invalid-formats.c
index 1fbc281..be53247 100644
--- a/tests/spec/arb_texture_compression/invalid-formats.c
+++ b/tests/spec/arb_texture_compression/invalid-formats.c
@@ -294,7 +294,8 @@ reject_bad(const struct format_tuple *bad, GLenum 
*compressed_formats,
 
 static bool
 try_formats(const struct format_list *t, GLenum *compressed_formats,
-           GLint num_compressed_formats, bool check_errors, bool supported)
+           GLint num_compressed_formats, bool check_errors, bool supported,
+           bool optional)
 {
        bool pass = true;
 
@@ -316,7 +317,7 @@ try_formats(const struct format_list *t, GLenum 
*compressed_formats,
                        }
 
                        if (j == num_compressed_formats) {
-                               if (check_errors) {
+                               if (check_errors && !optional) {
                                        fprintf(stderr,
                                                "%s should be available.\n",
                                                t->good[i].name);
@@ -406,35 +407,40 @@ piglit_init(int argc, char **argv)
                                           compressed_formats,
                                           num_compressed_formats,
                                           check_errors,
-                                          
piglit_is_extension_supported("GL_ARB_texture_compression_bptc"))
+                                          
piglit_is_extension_supported("GL_ARB_texture_compression_bptc"),
+                                          false)
                                && pass;
                } else if (strcmp(argv[i], "s3tc") == 0) {
                        pass = try_formats(&s3tc_formats,
                                           compressed_formats,
                                           num_compressed_formats,
                                           check_errors,
-                                          
piglit_is_extension_supported("GL_EXT_texture_compression_s3tc"))
+                                          
piglit_is_extension_supported("GL_EXT_texture_compression_s3tc"),
+                                          false)
                                && pass;
                } else if (strcmp(argv[i], "fxt1") == 0) {
                        pass = try_formats(&fxt1_formats,
                                           compressed_formats,
                                           num_compressed_formats,
                                           check_errors,
-                                          
piglit_is_extension_supported("GL_3DFX_texture_compression_FXT1"))
+                                          
piglit_is_extension_supported("GL_3DFX_texture_compression_FXT1"),
+                                          false)
                                && pass;
                } else if (strcmp(argv[i], "latc") == 0) {
                        pass = try_formats(&latc_formats,
                                           compressed_formats,
                                           num_compressed_formats,
                                           check_errors,
-                                          
piglit_is_extension_supported("GL_EXT_texture_compression_latc"))
+                                          
piglit_is_extension_supported("GL_EXT_texture_compression_latc"),
+                                          false)
                                && pass;
                } else if (strcmp(argv[i], "3dc") == 0) {
                        pass = try_formats(&ati_3dc_formats,
                                           compressed_formats,
                                           num_compressed_formats,
                                           check_errors,
-                                          
piglit_is_extension_supported("GL_ATI_texture_compression_3dc"))
+                                          
piglit_is_extension_supported("GL_ATI_texture_compression_3dc"),
+                                          false)
                                && pass;
                } else if (strcmp(argv[i], "rgtc") == 0) {
                        pass = try_formats(&rgtc_formats,
@@ -442,7 +448,8 @@ piglit_init(int argc, char **argv)
                                           num_compressed_formats,
                                           check_errors,
                                           
(piglit_is_extension_supported("GL_ARB_texture_compression_rgtc")
-                                           || 
piglit_is_extension_supported("GL_EXT_texture_compression_rgtc")))
+                                           || 
piglit_is_extension_supported("GL_EXT_texture_compression_rgtc")),
+                                          false)
                                && pass;
                } else if (strcmp(argv[i], "srgb") == 0) {
                        pass = try_formats(&srgb_formats,
@@ -450,21 +457,24 @@ piglit_init(int argc, char **argv)
                                           num_compressed_formats,
                                           check_errors,
                                           
(piglit_is_extension_supported("GL_EXT_texture_sRGB")
-                                           && 
piglit_is_extension_supported("GL_EXT_texture_compression_s3tc")))
+                                           && 
piglit_is_extension_supported("GL_EXT_texture_compression_s3tc")),
+                                          false)
                                && pass;
                } else if (strcmp(argv[i], "paletted") == 0) {
                        pass = try_formats(&paletted_formats,
                                           compressed_formats,
                                           num_compressed_formats,
                                           check_errors,
-                                          
piglit_is_extension_supported("GL_OES_compressed_paletted_texture"))
+                                          
piglit_is_extension_supported("GL_OES_compressed_paletted_texture"),
+                                          false)
                                && pass;
                } else if (strcmp(argv[i], "etc1") == 0) {
                        pass = try_formats(&etc1_formats,
                                           compressed_formats,
                                           num_compressed_formats,
                                           check_errors,
-                                          
piglit_is_extension_supported("GL_OES_compressed_ETC1_RGB8_texture")
+                                          
piglit_is_extension_supported("GL_OES_compressed_ETC1_RGB8_texture"),
+                                          false)
                                && pass;
                } else {
                        fprintf(stderr,
-- 
1.8.1.4

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to