summaryrefslogtreecommitdiff
path: root/tests/spec/arb_texture_compression/invalid-formats.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/spec/arb_texture_compression/invalid-formats.c')
-rw-r--r--tests/spec/arb_texture_compression/invalid-formats.c51
1 files changed, 50 insertions, 1 deletions
diff --git a/tests/spec/arb_texture_compression/invalid-formats.c b/tests/spec/arb_texture_compression/invalid-formats.c
index e67f00ee8..7a081bf5e 100644
--- a/tests/spec/arb_texture_compression/invalid-formats.c
+++ b/tests/spec/arb_texture_compression/invalid-formats.c
@@ -76,7 +76,7 @@ struct format_list {
/**
* Formats that are part of the extension but should not be exposed.
*/
- struct format_tuple bad[5];
+ struct format_tuple bad[29];
};
/**
@@ -267,6 +267,46 @@ static const struct format_list etc2_formats = {
};
/**
+ * Formats belonging to GL_KHR_texture_compression_astc_ldr
+ */
+static const struct format_list astc_formats = {
+ {
+ { NULL, 0 },
+ },
+ {
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_4x4_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_5x4_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_5x5_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_6x5_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_6x6_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_8x5_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_8x6_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_8x8_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_10x5_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_10x6_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_10x8_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_10x10_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_12x10_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_RGBA_ASTC_12x12_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR) },
+ { ENUM_AND_STRING(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR) },
+ { NULL, 0 },
+ }
+};
+
+/**
* List of all known compression methods to test
*
* The dummy first element is because this list is used by \c main to replace
@@ -284,6 +324,7 @@ const char *all_formats[] = {
"paletted",
"etc1",
"etc2",
+ "astc",
};
enum piglit_result
@@ -520,6 +561,14 @@ piglit_init(int argc, char **argv)
piglit_is_extension_supported("GL_ARB_ES3_compatibility"),
true)
&& pass;
+ } else if (strcmp(argv[i], "astc") == 0) {
+ pass = try_formats(&astc_formats,
+ compressed_formats,
+ num_compressed_formats,
+ check_errors,
+ piglit_is_extension_supported("GL_KHR_texture_compression_astc_ldr"),
+ false)
+ && pass;
} else {
fprintf(stderr,
"Unrecognized selection `%s'\n", argv[i]);