Mesa (master): llvmpipe: Generalize "could llvmpipe fetch this format" check in unit testing.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 7 18:47:18 UTC 2020


Module: Mesa
Branch: master
Commit: abd9aa2c772feebe4756d47162eabb93eae6cc84
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=abd9aa2c772feebe4756d47162eabb93eae6cc84

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jul  2 16:39:02 2020 -0700

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 <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>

---

 src/gallium/drivers/llvmpipe/lp_test_format.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

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) {



More information about the mesa-commit mailing list