radeonsi/tests: add a --slow option
authorPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Wed, 18 May 2022 10:55:58 +0000 (12:55 +0200)
committerPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Fri, 20 May 2022 07:57:05 +0000 (09:57 +0200)
Some glcts tests implement tons of tests because they verify
every possible combination of format/swizzle/target/...

They take a long time to execute and aren't possible to run
using multiple processes.

The proper way to fix it would be to split them in vk-gl-cts,
as is already done for some of them (eg es31fTextureGatherTests.cpp).

In the meantime, not running them makes glcts run almost
10 times faster.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16580>

src/gallium/drivers/radeonsi/ci/radeonsi-run-tests.py

index 086bbd0..6fb56aa 100755 (executable)
@@ -98,6 +98,9 @@ parser.add_argument(
     "--no-deqp", dest="deqp", help="Disable dEQP tests", action="store_false"
 )
 parser.add_argument(
+    "--slow", dest="slow", help="Include slowest glcts tests", action="store_true"
+)
+parser.add_argument(
     "--no-deqp-egl",
     dest="deqp_egl",
     help="Disable dEQP-EGL tests",
@@ -128,6 +131,7 @@ parser.set_defaults(deqp_egl=True)
 parser.set_defaults(deqp_gles2=True)
 parser.set_defaults(deqp_gles3=True)
 parser.set_defaults(deqp_gles31=True)
+parser.set_defaults(slow=False)
 
 parser.add_argument(
     "output_folder",
@@ -250,6 +254,18 @@ logfile = open(os.path.join(output_folder, "{}-run-tests.log".format(gpu_name)),
 
 spin = itertools.cycle("-\\|/")
 
+shutil.copy(skips, output_folder)
+skips = os.path.join(output_folder, "skips.csv")
+if not args.slow:
+    # Exclude these 3 tests slow tests
+    with open(skips, "a") as f:
+        print("KHR-GL46.copy_image.functional", file=f)
+        print("KHR-GL46.texture_swizzle.smoke", file=f)
+        print(
+            "KHR-GL46.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize",
+            file=f,
+        )
+
 
 def gfx_level_to_str(cl):
     supported = ["gfx6", "gfx7", "gfx8", "gfx9", "gfx10", "gfx10_3", "gfx11"]