ci: Split traces.yml file per driver

As drivers have been tested with more and more traces, the yml file is
becoming a bit unwieldy. As more drivers are going to be tested with
traces, and more traces will be used, split them in per-driver files so
the size stays manageable.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Reviewed-By: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6185>
This commit is contained in:
Tomeu Vizoso 2020-08-05 10:17:26 +02:00
parent eb787773b2
commit 7d5f4d3f70
14 changed files with 181 additions and 102 deletions

View File

@ -1103,6 +1103,7 @@ arm64_a630_traces:
variables:
BARE_METAL_TEST_SCRIPT: "/install/tracie-runner-gl.sh"
DEVICE_NAME: "freedreno-a630"
DRIVER_NAME: "freedreno"
TRACIE_NO_UNIT_TESTS: 1
TRACIE_UPLOAD_TO_MINIO: 1
# This lets us run several more traces which don't use any features we're
@ -1318,6 +1319,7 @@ llvmpipe-traces:
LIBGL_ALWAYS_SOFTWARE: "true"
GALLIUM_DRIVER: "llvmpipe"
DEVICE_NAME: "gl-vmware-llvmpipe"
DRIVER_NAME: "llvmpipe"
radv-polaris10-traces:
extends:
@ -1326,6 +1328,7 @@ radv-polaris10-traces:
- .test-manual
variables:
DEVICE_NAME: "vk-amd-polaris10"
DRIVER_NAME: "radv"
tags:
- polaris10
@ -1336,6 +1339,7 @@ radv-raven-traces:
- .test-manual
variables:
DEVICE_NAME: "vk-amd-raven"
DRIVER_NAME: "radv"
tags:
- raven
@ -1347,5 +1351,6 @@ virgl-traces:
LIBGL_ALWAYS_SOFTWARE: "true"
GALLIUM_DRIVER: "virpipe"
DEVICE_NAME: "gl-virgl"
DRIVER_NAME: "virgl"
MESA_GLES_VERSION_OVERRIDE: "3.1"
MESA_GLSL_VERSION_OVERRIDE: "310"

View File

@ -19,9 +19,6 @@ echo "nameserver 8.8.8.8" > /etc/resolv.conf
# Not all DUTs have network
sntp -sS pool.ntp.org || true
# Overwrite traces.yml file with the baremetal version
cp /install/traces-baremetal.yml /install/traces.yml
# Start a little daemon to capture the first devcoredump we encounter. (They
# expire after 5 minutes, so we poll for them).
./capture-devcoredump.sh &

View File

@ -36,6 +36,7 @@ for var in \
DEQP_SKIPS \
DEQP_VER \
DEVICE_NAME \
DRIVER_NAME \
FD_MESA_DEBUG \
FLAKES_CHANNEL \
IR3_SHADER_DEBUG \

View File

@ -43,7 +43,7 @@ kernel+rootfs_armhf:
variables:
GIT_STRATEGY: none # testing doesn't build anything from source
ENV_VARS: "DEQP_PARALLEL=6"
FIXED_ENV_VARS: "CI_PIPELINE_ID=${CI_PIPELINE_ID} CI_JOB_ID=${CI_JOB_ID} CI_PROJECT_PATH=${CI_PROJECT_PATH} CI_JOB_JWT=${CI_JOB_JWT} TRACIE_NO_UNIT_TESTS=1 TRACIE_UPLOAD_TO_MINIO=1"
FIXED_ENV_VARS: "CI_PIPELINE_ID=${CI_PIPELINE_ID} CI_JOB_ID=${CI_JOB_ID} CI_PROJECT_PATH=${CI_PROJECT_PATH} CI_JOB_JWT=${CI_JOB_JWT} TRACIE_NO_UNIT_TESTS=1 TRACIE_UPLOAD_TO_MINIO=1 DRIVER_NAME=${DRIVER_NAME}"
DEQP_VERSION: gles2
ARTIFACTS_PREFIX: "https://minio-packet.freedesktop.org/mesa-lava/"
MESA_URL: "https://minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/mesa-${ARCH}.tar.gz"
@ -183,6 +183,7 @@ panfrost-t760-gles2:armhf:
DEVICE_TYPE: rk3288-veyron-jaq
DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t760
DRIVER_NAME: panfrost
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
ENV_VARS: "PAN_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330"
@ -196,6 +197,7 @@ panfrost-t760-gles2:armhf:
DEVICE_TYPE: rk3399-gru-kevin
DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t860
DRIVER_NAME: panfrost
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
tags:
@ -294,6 +296,7 @@ radeonsi-stoney-traces:amd64:
DEVICE_TYPE: hp-11A-G6-EE-grunt
DTB: ""
GPU_VERSION: radeonsi-stoney
DRIVER_NAME: radeonsi
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
tags:

View File

@ -26,8 +26,7 @@ echo "$(cat VERSION) (git-$(git rev-parse HEAD | cut -b -10))" >> install/VERSIO
cp -Rp .gitlab-ci/bare-metal install/
cp -Rp .gitlab-ci/deqp* install/
cp -Rp .gitlab-ci/piglit install/
cp -Rp .gitlab-ci/traces-baremetal.yml install/
cp -Rp .gitlab-ci/traces.yml install/
cp -Rp .gitlab-ci/traces*.yml install/
cp -Rp .gitlab-ci/tracie install/
cp -Rp .gitlab-ci/tracie-runner-gl.sh install/
cp -Rp .gitlab-ci/tracie-runner-vk.sh install/

View File

@ -0,0 +1,48 @@
traces-db:
download-url: "https://minio-packet.freedesktop.org/mesa-tracie-public/"
traces:
- path: glmark2/desktop-blur-radius=5:effect=blur:passes=1:separable=true:windows=4.rdc
expectations:
- device: gl-vmware-llvmpipe
checksum: 8867f3a41f180626d0d4b7661ff5c0f4
- path: glmark2/jellyfish.rdc
expectations:
- device: gl-vmware-llvmpipe
checksum: e0fe979fee129c0ed42a3059d1a4e1c9
- path: glxgears/glxgears-2.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: f8eba0fec6e3e0af9cb09844bc73bdc8
- path: 0ad/0ad.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: d76d0f5b5b064bba3e6a2a122c0799cf
- path: pathfinder/demo.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: e624d76c70cc3c532f4f54439e13659a
- path: pathfinder/canvas_moire.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: c4ee0eef519f1a32ba24b7b392b31b28
- path: pathfinder/canvas_text.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: f8c6d9a5c9248821ed9aaa376bef05c3
- path: gputest/furmark.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 248ee9534a1f333b479e599646f56f63
- path: gputest/pixmark-piano.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 022b43b7fff9e8623dcfcd91e6bbe7aa
- path: gputest/triangle.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: c8848dec77ee0c55292417f54c0a1a49
- path: humus/Portals.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: d6eb6aee7a8a1c85d504a498cbf94659

View File

@ -0,0 +1,56 @@
traces-db:
download-url: "https://minio-packet.freedesktop.org/mesa-tracie-public/"
traces:
- path: glmark2/desktop-blur-radius=5:effect=blur:passes=1:separable=true:windows=4.rdc
expectations:
- device: gl-panfrost-t860
checksum: 95df5e619a36e88fe408e45567a2d149
- device: gl-panfrost-t760
checksum: 30663eac9a4767d26fbf9b6db9712d9f
- path: glmark2/jellyfish.rdc
expectations:
- device: gl-panfrost-t860
checksum: 1d609b089732be5b6e3e78370abcb149
- device: gl-panfrost-t760
checksum: f98ef9118eeaba660c15065dac46e580
- path: glxgears/glxgears-2.trace
expectations:
- device: gl-panfrost-t860
checksum: bcc73608b6e2b5d92bf926d1c21889c7
- device: gl-panfrost-t760
checksum: bcc73608b6e2b5d92bf926d1c21889c7
- path: pathfinder/demo.trace
expectations:
- device: gl-panfrost-t860
checksum: c4f5e6bfe0cba230b1aef631c2fa4584
- device: gl-panfrost-t760
checksum: c4f5e6bfe0cba230b1aef631c2fa4584
- path: pathfinder/canvas_moire.trace
expectations:
- device: gl-panfrost-t860
checksum: 2fb2c8e83719526cb6c02b6c2e069d61
- device: gl-panfrost-t760
checksum: 2fb2c8e83719526cb6c02b6c2e069d61
- path: pathfinder/canvas_text.trace
expectations:
- device: gl-panfrost-t860
checksum: 939038749a5204ec2b1448d3b9208fb3
- device: gl-panfrost-t760
checksum: 939038749a5204ec2b1448d3b9208fb3
- path: gputest/furmark.trace
expectations:
- device: gl-panfrost-t860
checksum: dc4ece101ed145228840d1f0654118c6
- path: gputest/triangle.trace
expectations:
- device: gl-panfrost-t860
checksum: 6def0c34ade7d4ec930b45d0eef6e46a
- device: gl-panfrost-t760
checksum: 6def0c34ade7d4ec930b45d0eef6e46a
- path: humus/Portals.trace
expectations:
- device: gl-panfrost-t860
checksum: 5415bbf2a69b605bb1052a0e0b0f7040
- device: gl-panfrost-t760
checksum: a41f53e9318cbd32c27b48d304df1ea6

View File

@ -4,134 +4,46 @@ traces-db:
traces:
- path: glmark2/desktop-blur-radius=5:effect=blur:passes=1:separable=true:windows=4.rdc
expectations:
- device: gl-vmware-llvmpipe
checksum: 8867f3a41f180626d0d4b7661ff5c0f4
- device: gl-virgl
checksum: 8867f3a41f180626d0d4b7661ff5c0f4
- device: gl-panfrost-t860
checksum: 95df5e619a36e88fe408e45567a2d149
- device: gl-panfrost-t760
checksum: 30663eac9a4767d26fbf9b6db9712d9f
- device: gl-radeonsi-stoney
checksum: 316650141be869c8afe76b42d3573b49
- path: glmark2/jellyfish.rdc
expectations:
- device: gl-vmware-llvmpipe
checksum: e0fe979fee129c0ed42a3059d1a4e1c9
- device: gl-virgl
checksum: e0fe979fee129c0ed42a3059d1a4e1c9
- device: gl-panfrost-t860
checksum: 1d609b089732be5b6e3e78370abcb149
- device: gl-panfrost-t760
checksum: f98ef9118eeaba660c15065dac46e580
- device: gl-radeonsi-stoney
checksum: 2c57f9d33489dd43c8807bd0f06c3ed8
- path: glxgears/glxgears-2.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: f8eba0fec6e3e0af9cb09844bc73bdc8
- device: gl-virgl
checksum: f8eba0fec6e3e0af9cb09844bc73bdc8
- device: gl-panfrost-t860
checksum: bcc73608b6e2b5d92bf926d1c21889c7
- device: gl-panfrost-t760
checksum: bcc73608b6e2b5d92bf926d1c21889c7
- device: gl-radeonsi-stoney
checksum: eb9b3d497be567f02a6e039fa32f2b13
- path: KhronosGroup-Vulkan-Tools/amd/polaris10/vkcube.gfxr
expectations:
- device: vk-amd-polaris10
checksum: 917cbbf4f09dd62ea26d247a1c70c16e
- device: vk-amd-raven
checksum: 45f9a89c7eabdaee5bc52ad4f45e598f
- path: LunarG-VulkanSamples/amd/polaris10/Hologram:-w:640:-h:480.gfxr
expectations:
- device: vk-amd-polaris10
checksum: cfde36cd7377068a739c30e3fd171d08
- device: vk-amd-raven
checksum: cfde36cd7377068a739c30e3fd171d08
- path: Wicked-Engine/Tests:Cloth_Physics_Test.trace-dxgi
expectations:
- device: vk-amd-polaris10
checksum: 6b6d27df609b8d086cc3335e6d103581
- device: vk-amd-raven
checksum: f013465b97fd8ba0217bcde74c262384
- path: 0ad/0ad.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: d76d0f5b5b064bba3e6a2a122c0799cf
- device: gl-radeonsi-stoney
checksum: bfd97a7190f2b9de24ddfd446fcc4850
- path: pathfinder/demo.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: e624d76c70cc3c532f4f54439e13659a
- device: gl-panfrost-t860
checksum: c4f5e6bfe0cba230b1aef631c2fa4584
- device: gl-panfrost-t760
checksum: c4f5e6bfe0cba230b1aef631c2fa4584
- device: gl-radeonsi-stoney
checksum: c81c85f9b247dd1b06c3dd5b669cc283
- path: pathfinder/canvas_moire.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: c4ee0eef519f1a32ba24b7b392b31b28
- device: gl-panfrost-t860
checksum: 2fb2c8e83719526cb6c02b6c2e069d61
- device: gl-panfrost-t760
checksum: 2fb2c8e83719526cb6c02b6c2e069d61
- device: gl-radeonsi-stoney
checksum: 78dd2357ad6e5ffc049a75bfb11c5497
- path: pathfinder/canvas_text.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: f8c6d9a5c9248821ed9aaa376bef05c3
- device: gl-panfrost-t860
checksum: 939038749a5204ec2b1448d3b9208fb3
- device: gl-panfrost-t760
checksum: 939038749a5204ec2b1448d3b9208fb3
- device: gl-radeonsi-stoney
checksum: 56d1398206ceea45562f80f8ea9d3814
- path: gputest/furmark.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 248ee9534a1f333b479e599646f56f63
- device: gl-virgl
checksum: 87ffd45be95f2d55f82325c86ce32f20
- device: gl-panfrost-t860
checksum: dc4ece101ed145228840d1f0654118c6
- device: gl-radeonsi-stoney
checksum: 1c569668d608c644f353caa177d577c6
- path: gputest/pixmark-piano.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 022b43b7fff9e8623dcfcd91e6bbe7aa
- device: gl-virgl
checksum: 24eb95484e5b8288b3d5d65117c98641
- device: gl-radeonsi-stoney
checksum: 061226c3fd179c611b8d60acaa44474f
- path: gputest/triangle.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: c8848dec77ee0c55292417f54c0a1a49
- device: gl-virgl
checksum: 848436d1a2448bdc76fd6220382d8606
- device: gl-panfrost-t860
checksum: 6def0c34ade7d4ec930b45d0eef6e46a
- device: gl-panfrost-t760
checksum: 6def0c34ade7d4ec930b45d0eef6e46a
- device: gl-radeonsi-stoney
checksum: 2d0527e7288a0fc31099404546dadbfb
- path: humus/Portals.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: d6eb6aee7a8a1c85d504a498cbf94659
- device: gl-virgl
checksum: 7caf9a1b50b7fc312a623be7c45553cb
- device: gl-panfrost-t860
checksum: 5415bbf2a69b605bb1052a0e0b0f7040
- device: gl-panfrost-t760
checksum: a41f53e9318cbd32c27b48d304df1ea6
- device: gl-radeonsi-stoney
checksum: b6f00f39566152c3c8462903b7a1f258
- path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc

View File

@ -0,0 +1,23 @@
traces-db:
download-url: "https://minio-packet.freedesktop.org/mesa-tracie-public/"
traces:
- path: KhronosGroup-Vulkan-Tools/amd/polaris10/vkcube.gfxr
expectations:
- device: vk-amd-polaris10
checksum: 917cbbf4f09dd62ea26d247a1c70c16e
- device: vk-amd-raven
checksum: 45f9a89c7eabdaee5bc52ad4f45e598f
- path: LunarG-VulkanSamples/amd/polaris10/Hologram:-w:640:-h:480.gfxr
expectations:
- device: vk-amd-polaris10
checksum: cfde36cd7377068a739c30e3fd171d08
- device: vk-amd-raven
checksum: cfde36cd7377068a739c30e3fd171d08
- path: Wicked-Engine/Tests:Cloth_Physics_Test.trace-dxgi
expectations:
- device: vk-amd-polaris10
checksum: 6b6d27df609b8d086cc3335e6d103581
- device: vk-amd-raven
checksum: f013465b97fd8ba0217bcde74c262384

View File

@ -0,0 +1,32 @@
traces-db:
download-url: "https://minio-packet.freedesktop.org/mesa-tracie-public/"
traces:
- path: glmark2/desktop-blur-radius=5:effect=blur:passes=1:separable=true:windows=4.rdc
expectations:
- device: gl-virgl
checksum: 8867f3a41f180626d0d4b7661ff5c0f4
- path: glmark2/jellyfish.rdc
expectations:
- device: gl-virgl
checksum: e0fe979fee129c0ed42a3059d1a4e1c9
- path: glxgears/glxgears-2.trace
expectations:
- device: gl-virgl
checksum: f8eba0fec6e3e0af9cb09844bc73bdc8
- path: gputest/furmark.trace
expectations:
- device: gl-virgl
checksum: 87ffd45be95f2d55f82325c86ce32f20
- path: gputest/pixmark-piano.trace
expectations:
- device: gl-virgl
checksum: 24eb95484e5b8288b3d5d65117c98641
- path: gputest/triangle.trace
expectations:
- device: gl-virgl
checksum: 848436d1a2448bdc76fd6220382d8606
- path: humus/Portals.trace
expectations:
- device: gl-virgl
checksum: 7caf9a1b50b7fc312a623be7c45553cb

View File

@ -54,4 +54,4 @@ fi
MESA_VERSION=$(cat "$INSTALL/VERSION" | sed 's/\./\\./g')
wflinfo --platform surfaceless_egl --api gles2 | grep "Mesa $MESA_VERSION\(\s\|$\)"
python3 "$INSTALL/tracie/tracie.py" --file "$INSTALL/traces.yml" --device-name "$DEVICE_NAME"
python3 "$INSTALL/tracie/tracie.py" --file "$INSTALL/traces-$DRIVER_NAME.yml" --device-name "$DEVICE_NAME"

View File

@ -34,4 +34,4 @@ vulkaninfo | grep "Mesa $MESA_VERSION\(\s\|$\)"
# file:
# https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runners-section
PATH="/gfxreconstruct/build/bin:$PATH" \
python3 "$INSTALL/tracie/tracie.py" --file "$INSTALL/traces.yml" --device-name "$DEVICE_NAME"
python3 "$INSTALL/tracie/tracie.py" --file "$INSTALL/traces-$DRIVER_NAME.yml" --device-name "$DEVICE_NAME"

View File

@ -52,13 +52,14 @@ To enable trace testing on a new device:
1. If you mean to test GL traces, use the `.traces-test-gl`
template jobs as a base, and make sure you set a unique value for the
`DEVICE_NAME` variable:
`DEVICE_NAME` variable and the name of the Mesa driver as `DRIVER_NAME`:
```yaml
my-hardware-gl-traces:
extends: .traces-test-gl
variables:
DEVICE_NAME: "gl-myhardware"
DRIVER_NAME: "mydriver"
```
2. If you mean to test Vulkan traces, use the `.traces-test-vk`
@ -71,12 +72,14 @@ To enable trace testing on a new device:
variables:
VK_DRIVER: "radeon"
DEVICE_NAME: "vk-myhardware"
DRIVER_NAME: "radv"
```
2. Update the .gitlab-ci/traces.yml file with expectations for the new device.
Ensure that the device name used in the expectations matches the one
set in the job. For more information, and tips about how to calculate
the checksums, see the section describing the trace definition files.
2. Update the .gitlab-ci/traces-$DRIVER_NAME.yml file with expectations for
the new device. Ensure that the device name used in the expectations
matches the one set in the job. For more information, and tips about how to
calculate the checksums, see the section describing the trace definition
files.
### Trace files
@ -102,7 +105,7 @@ against reference checksums.
The high level script [tracie.py](.gitlab-ci/tracie/tracie.py) accepts
a traces definition file and the name of the device to be tested:
tracie.py --file .gitlab-ci/traces.yml --device-name gl-vmware-llvmpipe
tracie.py --file .gitlab-ci/traces-llvmpipe.yml --device-name gl-vmware-llvmpipe
tracie.py copies the produced artifacts to the `$CI_PROJECT_DIR/result`
directory. By default, created images from traces are only stored in case of a