ci: add testing for VC4 drivers (Raspberry Pi 3)
This tests OpenGL ES 2.0 CTS suite with VC4 drivers, through baremetal
Raspberry Pi 3 devices.
The devices are connected to a switch that supports Power over Ethernet
(PoE), so the devices can be started/stopped through the switch, and
also to a host that runs the GitLab runner through serial-to-USB cables,
to monitor the devices to know when the testing finishes.
The Raspberries uses a network boot, using NFS and TFTP. For the root
filesystem, they use the one created in the armhf container. For the
kernel/modules case, this is handled externally. Currently it is using
the same kernel/modules that come with the Raspberry Pi OS. In future we
could build them in the same armhf container.
At this moment we only test armhf architecture, as this is the default
one suggested by the Raspberry Pi Foundation. In future we could also
add testing for arm64 architecture.
Finally, for the very rare ocassions where the Raspberry Pi 3 device is
booted but no data is received, it retries the testing for a second
time, powering off and on the device in the process.
v2:
- Remove commit that exists capture devcoredump (Eric)
- Squash remaining commits in one (Andres)
v3:
- Add missing boot timeout check (Juan)
v4:
- Use locks when running the PoE on/off script (Eric)
- Use a timeout for serial read (Eric)
v5:
- Rename stage to "raspberrypi" (Eric)
- Bump up arm64_test tag (Eric)
v6:
- Make serial buffer timeout optional (Juan)
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7628>
2020-11-15 19:57:55 +00:00
|
|
|
# Note: skips lists for CI are just a list of lines that, when
|
|
|
|
# non-zero-length and not starting with '#', will regex match to
|
|
|
|
# delete lines from the test list. Be careful.
|
|
|
|
|
|
|
|
# Skip the perf/stress tests to keep runtime manageable
|
|
|
|
dEQP-GLES[0-9]*.performance.*
|
|
|
|
dEQP-GLES[0-9]*.stress.*
|
|
|
|
|
|
|
|
# These are really slow on tiling architectures (including llvmpipe).
|
|
|
|
dEQP-GLES[0-9]*.functional.flush_finish.*
|
|
|
|
|
|
|
|
# This is causing a binning memory overflow problem
|
|
|
|
dEQP-GLES2.functional.fragment_ops.scissor.outside_render_line
|
|
|
|
|
|
|
|
# These are very slow
|
|
|
|
dEQP-GLES2.functional.uniform_api.random.3
|
|
|
|
dEQP-GLES2.functional.uniform_api.random.79
|
2020-12-08 23:18:34 +00:00
|
|
|
|
|
|
|
# Conformance issue: VC4 needs dynamic loops in the VS to cause a
|
|
|
|
# shader link failure.
|
|
|
|
#
|
|
|
|
# The issue is that the HW doesn't have an exec mask at dispatch
|
|
|
|
# for the VS, so the shouldn't-be-exec channels have undefined
|
|
|
|
# contents and may cause infinite loops, leading to GPU hangs. The
|
|
|
|
# process of GPU hang reset causes flakes in whatever other jobs are
|
|
|
|
# running simultaneously, so we can't even leave these in the flakes
|
|
|
|
# list for tracking.
|
|
|
|
dEQP-GLES2.functional.shaders.loops.*dynamic.*vertex
|