From: Eric Anholt Date: Thu, 2 Jul 2020 23:39:02 +0000 (-0700) Subject: llvmpipe: Generalize "could llvmpipe fetch this format" check in unit testing. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=abd9aa2c772feebe4756d47162eabb93eae6cc84;p=mesa.git llvmpipe: Generalize "could llvmpipe fetch this format" check in unit testing. This set of checks matched the "access" list in u_format_table.py that controls initializing this this function pointer, so just use the function pointer. Reviewed-by: Marek Olšák Part-of: --- diff --git a/src/gallium/drivers/llvmpipe/lp_test_format.c b/src/gallium/drivers/llvmpipe/lp_test_format.c index f18db724bb9..a5a1528c667 100644 --- a/src/gallium/drivers/llvmpipe/lp_test_format.c +++ b/src/gallium/drivers/llvmpipe/lp_test_format.c @@ -384,18 +384,14 @@ test_all(unsigned verbose, FILE *fp) if (util_format_is_pure_integer(format)) continue; - /* only have util fetch func for etc1 */ - if (format_desc->layout == UTIL_FORMAT_LAYOUT_ETC && - format != PIPE_FORMAT_ETC1_RGB8) { - continue; - } - - /* missing fetch funcs */ - if (format_desc->layout == UTIL_FORMAT_LAYOUT_ASTC || - format_desc->layout == UTIL_FORMAT_LAYOUT_ATC || - format_desc->layout == UTIL_FORMAT_LAYOUT_FXT1) { + /* The codegen sometimes falls back to calling the precompiled fetch + * func, so if we don't have one of those (some compressed formats, + * some ), we can't reliably test it. We'll surely have a + * precompiled fetch func for any format before we write LLVM code to + * fetch from it. + */ + if (!format_desc->fetch_rgba_float) continue; - } /* only test twice with formats which can use cache */ if (format_desc->layout != UTIL_FORMAT_LAYOUT_S3TC && use_cache) {