diff options
author | José Fonseca <jfonseca@vmware.com> | 2010-04-09 14:14:54 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-04-09 16:32:47 +0100 |
commit | b1cfc195bb802d6ee2b7e230e7d7bce9ffe7eefd (patch) | |
tree | a3d948d64383cb075da4607d6fc4de1a3aa0cb48 | |
parent | d3808b1b1f34dbb826b99102786d94e1baf9d667 (diff) |
util: Reorder format tests -- group by format.
-rw-r--r-- | progs/gallium/unit/u_format_test.c | 60 | ||||
-rwxr-xr-x | src/gallium/auxiliary/util/u_format_table.py | 1 |
2 files changed, 32 insertions, 29 deletions
diff --git a/progs/gallium/unit/u_format_test.c b/progs/gallium/unit/u_format_test.c index d404fb598b..442023b512 100644 --- a/progs/gallium/unit/u_format_test.c +++ b/progs/gallium/unit/u_format_test.c @@ -349,31 +349,20 @@ typedef boolean static boolean -test_one(test_func_t func, const char *suffix) +test_one_func(const struct util_format_description *format_desc, + test_func_t func, + const char *suffix) { - enum pipe_format last_format = PIPE_FORMAT_NONE; unsigned i; bool success = TRUE; + printf("Testing util_format_%s_%s ...\n", + format_desc->short_name, suffix); + for (i = 0; i < util_format_nr_test_cases; ++i) { const struct util_format_test_case *test = &util_format_test_cases[i]; - const struct util_format_description *format_desc; - bool skip = FALSE; - - format_desc = util_format_description(test->format); - - if (format_desc->layout == UTIL_FORMAT_LAYOUT_S3TC && - !util_format_s3tc_enabled) { - skip = TRUE; - } - - if (test->format != last_format) { - printf("%s util_format_%s_%s ...\n", - skip ? "Skipping" : "Testing", format_desc->short_name, suffix); - last_format = test->format; - } - if (!skip) { + if (test->format == format_desc->format) { if (!func(format_desc, &util_format_test_cases[i])) { success = FALSE; } @@ -387,22 +376,37 @@ test_one(test_func_t func, const char *suffix) static boolean test_all(void) { + enum pipe_format format; bool success = TRUE; - if (!test_one(&test_format_fetch_rgba_float, "fetch_rgba_float")) - success = FALSE; + for (format = 1; format < PIPE_FORMAT_COUNT; ++format) { + const struct util_format_description *format_desc; + + format_desc = util_format_description(format); + if (!format_desc) { + continue; + } - if (!test_one(&test_format_pack_rgba_float, "pack_rgba_float")) - success = FALSE; + if (format_desc->layout == UTIL_FORMAT_LAYOUT_S3TC && + !util_format_s3tc_enabled) { + continue; + } - if (!test_one(&test_format_unpack_rgba_float, "unpack_rgba_float")) - success = FALSE; +# define TEST_ONE_FUNC(name) \ + if (format_desc->name) { \ + if (!test_one_func(format_desc, &test_format_##name, #name)) { \ + success = FALSE; \ + } \ + } - if (!test_one(&test_format_pack_rgba_8unorm, "pack_rgba_8unorm")) - success = FALSE; + TEST_ONE_FUNC(fetch_rgba_float); + TEST_ONE_FUNC(pack_rgba_float); + TEST_ONE_FUNC(unpack_rgba_float); + TEST_ONE_FUNC(pack_rgba_8unorm); + TEST_ONE_FUNC(unpack_rgba_8unorm); - if (!test_one(&test_format_unpack_rgba_8unorm, "unpack_rgba_8unorm")) - success = FALSE; +# undef TEST_ONE_FUNC + } return success; } diff --git a/src/gallium/auxiliary/util/u_format_table.py b/src/gallium/auxiliary/util/u_format_table.py index 5440a8b7b8..ae9a598197 100755 --- a/src/gallium/auxiliary/util/u_format_table.py +++ b/src/gallium/auxiliary/util/u_format_table.py @@ -172,7 +172,6 @@ def write_format_table(formats): print " case %s:" % format.name print " return &util_format_%s_description;" % (format.short_name(),) print " default:" - print " assert(0);" print " return NULL;" print " }" print "}" |