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