ci: Switch cheza (freedreno a630) testing to baremetal.

Now that we have scripts in place to do baremetal testing of cheza, switch
it over.  As of this writing, we have 5 chezas for baremetal and 4 for the
old docker CI setup (just 2 fewer than we originally had before this work,
since some had had filesystem failures and I switched those first), and
once we are sure of this we can backport to stable branch CI and move the
rest of them to baremetal.

I've run a lot of jobs through the baremetal scripts as I worked on
sorting out vulkan CTS stability, so I feel good about the stability of
the GLES CTS here.

The options job is now split out to separate jobs, as we don't currently
have a way to stack multiple sets deqp runs with different env vars in a
single baremetal run, and just chaining cros_servo.sh invocations runs
into a lack of cleanup of the serial-watching scripts which we rely on
container exit sorting out for us.  This means a little less than 2x the
artifacts downloads we had before for a630 and a few more container
instantiations.

Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247>
This commit is contained in:
Eric Anholt 2020-05-15 11:22:37 -07:00 committed by Marge Bot
parent c89a749f66
commit 6f4fc4ff71
1 changed files with 40 additions and 22 deletions

View File

@ -812,21 +812,19 @@ virgl-gles31:
arm64_a630_gles2:
extends:
- .deqp-test-gl
- .use-arm_test
- .freedreno-rules
- arm64_a306_gles2
variables:
DEQP_VER: gles2
BM_KERNEL: /lava-files/cheza-kernel
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init"
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
DEQP_SKIPS: deqp-freedreno-a630-skips.txt
NIR_VALIDATE: 0
DEQP_PARALLEL: 4
FLAKES_CHANNEL: "#freedreno-ci"
DEQP_EXPECTED_RENDERER: FD630
DEQP_NO_SAVE_RESULTS: ""
tags:
- mesa-cheza
dependencies:
- meson-arm64
- google-freedreno-cheza
script:
- .gitlab-ci/bare-metal/cros-servo.sh
arm64_a630_gles31:
extends: arm64_a630_gles2
@ -838,28 +836,48 @@ arm64_a630_gles3:
variables:
DEQP_VER: gles3
arm64_a630_gles31_options:
extends: arm64_a630_gles2
# We almost always manage to lower UBOs back to constant uploads in
# the test suite, so get a little testing for it here.
arm64_a630_noubo:
extends: arm64_a630_gles31
variables:
DEQP_VER: gles31
IR3_SHADER_DEBUG: nouboopt
DEQP_CASELIST_FILTER: "functional.*ubo"
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-noubo-fails.txt
# The driver does some guessing as to whether to render using gmem
# or bypass, and some GLES3.1 features interact with either one.
# Do a little testing with gmem and bypass forced.
arm64_a630_bypass:
extends: arm64_a630_gles31
variables:
CI_NODE_INDEX: 1
CI_NODE_TOTAL: 5
script:
# We almost always manage to lower UBOs back to constant uploads in
# the test suite, so get a little testing for it here.
- DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_CASELIST_FILTER="functional.*ubo" DEQP_EXPECTED_FAILS=deqp-freedreno-a630-noubo-fails.txt CI_NODE_INDEX= ./install/deqp-runner.sh
# The driver does some guessing as to whether to render using gmem
# or bypass, and some GLES3.1 features interact with either one.
# Do a little testing with gmem and bypass forced.
- DEQP_RUN_SUFFIX=-bypass FD_MESA_DEBUG=nogmem DEQP_EXPECTED_FAILS=deqp-freedreno-a630-bypass-fails.txt ./install/deqp-runner.sh
- DEQP_RUN_SUFFIX=-gmem FD_MESA_DEBUG=nobypass ./install/deqp-runner.sh
# Check that we don't get obvious nir validation failures (though it's too expensive to run for the full CTS)
- DEQP_RUN_SUFFIX=-validate NIR_VALIDATE=1 ./install/deqp-runner.sh
FD_MESA_DEBUG: nogmem
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt
# 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)
arm64_a630_gmem:
extends: arm64_a630_gles31
variables:
CI_NODE_INDEX: 1
CI_NODE_TOTAL: 5
FD_MESA_DEBUG: nobypass
NIR_VALIDATE: 1
.baremetal-test:
extends:
- .ci-run-policy
stage: test
artifacts:
when: always
name: "mesa_${CI_JOB_NAME}"
paths:
- results/
- serial*.txt
arm64_a306_gles2:
extends: