Mesa (master): ci: Add a freedreno a630 tracie run.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 25 18:12:38 UTC 2020


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

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Jun  8 14:51:59 2020 -0700

ci: Add a freedreno a630 tracie run.

This job runs in about one minute on the current set of traces, and has
successfully revealed some bugs in our current rendering.  Takes about 7
minutes currently.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433>

---

 .gitlab-ci.yml                        |  14 ++
 .gitlab-ci/bare-metal/rootfs-setup.sh |   5 +
 .gitlab-ci/prepare-artifacts.sh       |   6 +-
 .gitlab-ci/traces-baremetal.yml       | 264 ++++++++++++++++++++++++++++++++++
 .gitlab-ci/tracie-runner-gl.sh        |   4 +-
 5 files changed, 291 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a59cfcd4458..4a75381fbd2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -976,6 +976,20 @@ arm64_a630_bypass:
     FD_MESA_DEBUG: nogmem
     DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt
 
+arm64_a630_traces:
+  extends:
+    - arm64_a630_gles2
+  variables:
+    BARE_METAL_TEST_SCRIPT: "/install/tracie-runner-gl.sh"
+    DEVICE_NAME: "freedreno-a630"
+    TRACIE_NO_UNIT_TESTS: 1
+    # This lets us run several more traces which don't use any features we're
+    # missing.
+    MESA_GLSL_VERSION_OVERRIDE: "460"
+    MESA_GL_VERSION_OVERRIDE: "4.6"
+  rules:
+    - when: always
+
 # Along with checking gmem path, check that we don't get obvious nir
 # validation failures (though it's too expensive to have it on for the
 # full CTS)
diff --git a/.gitlab-ci/bare-metal/rootfs-setup.sh b/.gitlab-ci/bare-metal/rootfs-setup.sh
index ff86054c4e6..27735e2d32c 100644
--- a/.gitlab-ci/bare-metal/rootfs-setup.sh
+++ b/.gitlab-ci/bare-metal/rootfs-setup.sh
@@ -31,10 +31,15 @@ for var in \
     DEQP_RUN_SUFFIX \
     DEQP_SKIPS \
     DEQP_VER \
+    DEVICE_NAME \
     FD_MESA_DEBUG \
     FLAKES_CHANNEL \
     IR3_SHADER_DEBUG \
+    MESA_GL_VERSION_OVERRIDE \
+    MESA_GLSL_VERSION_OVERRIDE \
+    MESA_GLES_VERSION_OVERRIDE \
     NIR_VALIDATE \
+    TRACIE_NO_UNIT_TESTS \
     TU_DEBUG \
     VK_DRIVER \
     ; do
diff --git a/.gitlab-ci/prepare-artifacts.sh b/.gitlab-ci/prepare-artifacts.sh
index caeb8727160..4c230921715 100755
--- a/.gitlab-ci/prepare-artifacts.sh
+++ b/.gitlab-ci/prepare-artifacts.sh
@@ -26,7 +26,11 @@ cp VERSION install/
 cp -Rp .gitlab-ci/bare-metal install/
 cp -Rp .gitlab-ci/deqp* install/
 cp -Rp .gitlab-ci/piglit install/
-cp -Rp .gitlab-ci/traces.yml install/
+if [ -d /lava-files ]; then
+    cp -Rp .gitlab-ci/traces-baremetal.yml install/traces.yml
+else
+    cp -Rp .gitlab-ci/traces.yml install/
+fi
 cp -Rp .gitlab-ci/tracie install/
 cp -Rp .gitlab-ci/tracie-runner-gl.sh install/
 cp -Rp .gitlab-ci/tracie-runner-vk.sh install/
diff --git a/.gitlab-ci/traces-baremetal.yml b/.gitlab-ci/traces-baremetal.yml
new file mode 100644
index 00000000000..ebc4a078b5d
--- /dev/null
+++ b/.gitlab-ci/traces-baremetal.yml
@@ -0,0 +1,264 @@
+# bare-metal has traces-db baked into the container until we can sort
+# out LFS caching, so we use a separate yml without the git repo
+# declaration at the top.
+
+traces:
+# This trace takes an egregious amount of time in replay (5 minutes)
+#  on freedreno for some reason.
+#  - path: glxgears/glxgears.trace
+#    expectations:
+#      - device: freedreno-a630
+#        checksum: 5599d6e8e43384c59196b9c9b0161268
+  - path: gputest/furmark.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: de674022e53fc9e0a9eb217f8bf0fe03
+# Note: Requires GL3.3
+  - path: gputest/gimark.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 2cae8e2104356e2b3017cbd953cf7b4a
+  - path: gputest/pixmark-julia-fp32.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 4a02628395948c34d95d035a9c9735cb
+# Note: Requires GL4 (fp64).
+#  - path: gputest/pixmark-julia-fp64.trace
+#    expectations:
+#      - device: freedreno-a630
+#        checksum: 0
+  - path: gputest/pixmark-piano.trace
+    expectations:
+      # One of the material textures appears brighter on freedreno than
+      # i965 in a way that is probably wrong.
+      - device: freedreno-a630
+        checksum: 1aad6e1ffe23cae71acdb70695a6184b
+  - path: gputest/pixmark-volplosion.trace
+    expectations:
+      # Looks fine, but totally different shape from the rendering on i965.
+      - device: freedreno-a630
+        checksum: 86d678c70b8adf27095ace1a6bbfe2d2
+  - path: gputest/plot3d.trace
+    expectations:
+      # Actually incorrect rendering, it's supposed to be a mesh but
+      # we're not doing polygon modes apparently.
+      - device: freedreno-a630
+        checksum: 8ec42780bfd9df16c49d876aa2f4cb8a
+# Note: Requires GL4 for tess.
+  - path: gputest/tessmark.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 985e231b58b7dc4b6da34ff32f8ebb82
+  - path: gputest/triangle.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 1dc6abfb1cfbc5b16adc6f4abf76eec8
+  - path: humus/AmbientAperture.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 531c54b2d1af670f698fb47d3fe321d4
+  - path: humus/CelShading.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: b0ac8fb4b2b2268cfb87944730125886
+  - path: humus/DynamicBranching3.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 1f168d54278d95100ad0f9e94c2eb111
+  - path: humus/HDR.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 40387a4e89ef71c472a94413b175ff59
+  - path: humus/Portals.trace
+    expectations:
+      # Bad rendering -- some sort of gap in the upper right of the image.
+      - device: freedreno-a630
+        checksum: 1c7411cebed6ba0015aaef102539fc5a
+  - path: humus/RaytracedShadows.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 992ffe18dfac0030368494b4367150f1
+  - path: humus/VolumetricFogging2.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 00670c5b830a7b8098fdcd347f7e0d6c
+  - path: pathfinder/canvas_moire.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 0e32ca8fc815a7250f38a07faeafb21b
+  - path: pathfinder/canvas_text.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: 74129b650bd3ca806ff2dd46813ba6e6
+  - path: pathfinder/demo.trace
+    expectations:
+      - device: freedreno-a630
+        checksum: f6661ed4de9e0a444c6338ebd0cd3768
+  - path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 1d04a606014f00663e0d078903d190c8
+  - path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 6c00e3f05fab4b0df449451803b2749a
+  - path: glmark2/buffer-columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 5706da41ae1877086e7ac2dc9af66e81
+  - path: glmark2/bump-bump-render=height.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: ed8ef7fcd88f20c5814bbdd95f62824a
+  - path: glmark2/bump-bump-render=high-poly.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 39e9e510819758910efc7b58bd08b981
+  - path: glmark2/bump-bump-render=normals.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 3b270da5fcb3c1ee49c889644a5cc439
+  - path: glmark2/conditionals-fragment-steps=0:vertex-steps=0.rdc
+    expectations:
+      # Incorrect rendering, a bunch of the area is uniform gray when it should
+      # continue the pattern
+      - device: freedreno-a630
+        checksum: 4d654718f516adb891e6adef04924896
+  - path: glmark2/conditionals-fragment-steps=5:vertex-steps=0.rdc
+    expectations:
+      # Incorrect rendering, a bunch of the area is uniform gray when it should
+      # continue the pattern
+      - device: freedreno-a630
+        checksum: 7937cc1cb07b980da11a7c892a97bcdc
+  - path: glmark2/conditionals-fragment-steps=0:vertex-steps=5.rdc
+    expectations:
+      # Incorrect rendering, a bunch of the area is uniform gray when it should
+      # continue the pattern
+      - device: freedreno-a630
+        checksum: 2977a3bb963096a4ed421dff7001d498
+  - path: glmark2/desktop-blur-radius=5:effect=blur:passes=1:separable=true:windows=4.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: d750bb0972cf14a4c0bc35896d87da16
+  - path: glmark2/desktop-effect=shadow:windows=4.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 5ff3fe9ab8ad3a53ce4b8bfe7a61900a
+  - path: glmark2/effect2d-kernel=0,1,0;1,-4,1;0,1,0.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: b38d1d3ebe30ea3df97713515dab3df0
+  - path: glmark2/effect2d-kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 2346a6597f4d1f20b493e8d6a8f7e592
+  - path: glmark2/function-fragment-complexity=low:fragment-steps=5.rdc
+    expectations:
+      # Incorrect rendering, a bunch of the area is uniform gray when it should
+      # continue the pattern
+      - device: freedreno-a630
+        checksum: d479556facd21af43d526b3cc95bed8b
+  - path: glmark2/function-fragment-complexity=medium:fragment-steps=5.rdc
+    expectations:
+      # Incorrect rendering, a bunch of the area is uniform gray when it should
+      # continue the pattern
+      - device: freedreno-a630
+        checksum: 17895715bdb496faa73bba89b06347f6
+  - path: glmark2/glmark2-build-use-vbo-false.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: ecb647d14dae3876eb2a4282633d84f5
+  - path: glmark2/glmark2-build-use-vbo-true.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: b2608bba0f80ef93809e42399fb77124
+  - path: glmark2/ideas-speed=duration.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 4f51ce282835db86fd8dc42b81755ef8
+  - path: glmark2/jellyfish.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: b50568db464034da63a536a9fe89499b
+  - path: glmark2/loop-fragment-loop=false:fragment-steps=5:vertex-steps=5.rdc
+    expectations:
+      # Incorrect rendering, a bunch of the area is uniform gray when it should
+      # continue the pattern
+      - device: freedreno-a630
+        checksum: 52397a2278680b28ccfac4d8ba7340dd
+  - path: glmark2/loop-fragment-steps=5:fragment-uniform=false:vertex-steps=5.rdc
+    expectations:
+      # Incorrect rendering, a bunch of the area is uniform gray when it should
+      # continue the pattern
+      - device: freedreno-a630
+        checksum: 45ce9b6056ec0e0e4276e7738eaa7fa1
+  - path: glmark2/loop-fragment-steps=5:fragment-uniform=true:vertex-steps=5.rdc
+    expectations:
+      # Incorrect rendering, a bunch of the area is uniform gray when it should
+      # continue the pattern
+      - device: freedreno-a630
+        checksum: ec5ea3eab5b54524748a0c883cc929d6
+  - path: glmark2/pulsar-light=false:quads=5:texture=false.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: e482fd686d39decbec52ada682d93890
+  - path: glmark2/refract.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: a7b60492d31ca93f1506dfa59b462570
+  - path: glmark2/shading-shading=blinn-phong-inf.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 5a4aa8bebb324d0319ae1ebd95c7ce57
+  - path: glmark2/shading-shading=cel.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 444fc5f23e3ce564d9945c20ed5d5e67
+  - path: glmark2/shading-shading=gouraud.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: fcc26fca31375b216382e69bc5f113fb
+  - path: glmark2/shading-shading=phong.rdc
+    # Some speckling on the main specular highlight that may just be
+    # mediump artifacts
+    expectations:
+      - device: freedreno-a630
+        checksum: ba29b12892f5cb9f9c506db9cc76f987
+  - path: glmark2/shadow.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: d8b5931669733240797f1acf5d98db25
+    # Very yellow terrain compared to i965, may just be mediump artifacts.
+  - path: glmark2/terrain.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 2368b3132a8768bc3a98b3fda0a4830e
+  - path: glmark2/texture-texture-filter=linear.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: b4beeda82884d2e6de549b16cd9b90e8
+  - path: glmark2/texture-texture-filter=mipmap.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 27e1cdb7e8f3f5bb6a61ebf02927d201
+  - path: glmark2/texture-texture-filter=nearest.rdc
+    expectations:
+      - device: freedreno-a630
+        checksum: 0b0114e48cf37efc43d8b27b926eaadf
+# Throws errors on freedreno
+#  - path: supertuxkart/supertuxkart-antediluvian-abyss.rdc
+#    expectations:
+#      - device: freedreno-a630
+#        checksum: 0
+#  - path: supertuxkart/supertuxkart-menu.rdc
+#    expectations:
+#      - device: freedreno-a630
+#        checksum: 0
+#  - path: supertuxkart/supertuxkart-ravenbridge-mansion.rdc
+#    expectations:
+#      - device: freedreno-a630
+#        checksum: 0
+#  - path: godot/Material Testers.x86_64_2020.04.08_13.38_frame799.rdc
+#    expectations:
+#      - device: freedreno-a630
+#        checksum: 0
diff --git a/.gitlab-ci/tracie-runner-gl.sh b/.gitlab-ci/tracie-runner-gl.sh
index bd58390b7c2..6eb5baadb26 100755
--- a/.gitlab-ci/tracie-runner-gl.sh
+++ b/.gitlab-ci/tracie-runner-gl.sh
@@ -32,7 +32,9 @@ RESULTS=`pwd`/results
 mkdir -p $RESULTS
 
 # Perform a self-test to ensure tracie is working properly.
-python3 -m pytest -v --pyargs $INSTALL/tracie/tests/test.py
+if [ -z "$TRACIE_NO_UNIT_TESTS" ]; then
+    python3 -m pytest -v --pyargs $INSTALL/tracie/tests/test.py
+fi
 
 if [ "$GALLIUM_DRIVER" = "virpipe" ]; then
     # tracie is to use virpipe, and virgl_test_server llvmpipe



More information about the mesa-commit mailing list