mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-23 10:14:13 +08:00
ci/nouveau: Add a manual run for the Jetson Nano (GM20B).
The test suite is full of flakes around transform feedback, atomics, and tess. But, I hope it can be useful for regression testing core Mesa reworks. This required updating the kernel to 5.16.12 to get a more stable boot process. That kernel rebuild caused an update of the container with piglit which that was missed in a previous MR, so we got new xfails in x86 swrast. Acked-by: Ilia Mirkin <imirkin@alum.mit.edu> (nouveau) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15201>
This commit is contained in:
parent
1b374f8c91
commit
5497d60639
@ -58,6 +58,7 @@ include:
|
||||
- local: 'src/gallium/drivers/iris/ci/gitlab-ci.yml'
|
||||
- local: 'src/gallium/drivers/lima/ci/gitlab-ci.yml'
|
||||
- local: 'src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml'
|
||||
- local: 'src/gallium/drivers/nouveau/ci/gitlab-ci.yml'
|
||||
- local: 'src/gallium/drivers/radeonsi/ci/gitlab-ci.yml'
|
||||
- local: 'src/gallium/drivers/softpipe/ci/gitlab-ci.yml'
|
||||
- local: 'src/gallium/drivers/virgl/ci/gitlab-ci.yml'
|
||||
@ -75,6 +76,7 @@ stages:
|
||||
- build-misc
|
||||
- amd
|
||||
- intel
|
||||
- nouveau
|
||||
- arm
|
||||
- broadcom
|
||||
- freedreno
|
||||
|
21
.gitlab-ci/bare-metal/cisco-2960-poe-on.sh
Executable file
21
.gitlab-ci/bare-metal/cisco-2960-poe-on.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$BM_POE_INTERFACE" ]; then
|
||||
echo "Must supply the PoE Interface to power up"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$BM_POE_ADDRESS" ]; then
|
||||
echo "Must supply the PoE Switch host"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -ex
|
||||
|
||||
SNMP_KEY="1.3.6.1.4.1.9.9.402.1.2.1.1.1.$BM_POE_INTERFACE"
|
||||
SNMP_ON="i 1"
|
||||
SNMP_OFF="i 4"
|
||||
|
||||
snmpset -v2c -r 3 -t 10 -cmesaci $BM_POE_ADDRESS $SNMP_KEY $SNMP_OFF
|
||||
sleep 3s
|
||||
snmpset -v2c -r 3 -t 10 -cmesaci $BM_POE_ADDRESS $SNMP_KEY $SNMP_ON
|
@ -66,6 +66,10 @@ class PoERun:
|
||||
self.print_error("Memory overflow in the binner; GPU hang")
|
||||
return 1
|
||||
|
||||
if re.search("nouveau 57000000.gpu: bus: MMIO read of 00000000 FAULT at 137000", line):
|
||||
self.print_error("nouveau jetson boot bug, retrying.")
|
||||
return 2
|
||||
|
||||
result = re.search("hwci: mesa: (\S*)", line)
|
||||
if result:
|
||||
if result.group(1) == "pass":
|
||||
|
@ -179,7 +179,7 @@ else
|
||||
--flakes $INSTALL/$GPU_VERSION-flakes.txt \
|
||||
--testlog-to-xml /deqp/executor/testlog-to-xml \
|
||||
--fraction-start $CI_NODE_INDEX \
|
||||
--fraction $CI_NODE_TOTAL \
|
||||
--fraction `expr $CI_NODE_TOTAL \* ${DEQP_FRACTION:-1}` \
|
||||
--jobs ${FDO_CI_CONCURRENT:-4} \
|
||||
$DEQP_RUNNER_OPTIONS
|
||||
fi
|
||||
|
@ -227,6 +227,24 @@
|
||||
when: manual
|
||||
- when: never
|
||||
|
||||
.nouveau-rules:
|
||||
stage: nouveau
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
- changes:
|
||||
*gallium_core_file_list
|
||||
when: on_success
|
||||
- changes:
|
||||
- src/nouveau/**/*
|
||||
- src/gallium/drivers/nouveau/**/*
|
||||
- src/gallium/winsys/kmsro/**/*
|
||||
- src/gallium/winsys/nouveau/**/*
|
||||
when: on_success
|
||||
- when: never
|
||||
|
||||
.panfrost-midgard-rules:
|
||||
stage: arm
|
||||
rules:
|
||||
|
53
src/gallium/drivers/nouveau/ci/deqp-nouveau-gm20b.toml
Normal file
53
src/gallium/drivers/nouveau/ci/deqp-nouveau-gm20b.toml
Normal file
@ -0,0 +1,53 @@
|
||||
[[deqp]]
|
||||
deqp = "/deqp/modules/gles2/deqp-gles2"
|
||||
caselists = ["/deqp/mustpass/gles2-master.txt"]
|
||||
skips = ["install/all-skips.txt", "install/nouveau-gm20b-skips.txt"]
|
||||
deqp_args = [
|
||||
"--deqp-surface-width=256",
|
||||
"--deqp-surface-height=256",
|
||||
"--deqp-surface-type=pbuffer",
|
||||
"--deqp-gl-config-name=rgba8888d24s8ms0",
|
||||
"--deqp-visibility=hidden"
|
||||
]
|
||||
renderer_check = "NV12B"
|
||||
version_check = "GL ES 3.2"
|
||||
|
||||
[[deqp]]
|
||||
deqp = "/deqp/modules/gles3/deqp-gles3"
|
||||
caselists = ["/deqp/mustpass/gles3-master.txt"]
|
||||
skips = ["install/all-skips.txt", "install/nouveau-gm20b-skips.txt"]
|
||||
deqp_args = [
|
||||
"--deqp-surface-width=256",
|
||||
"--deqp-surface-height=256",
|
||||
"--deqp-surface-type=pbuffer",
|
||||
"--deqp-gl-config-name=rgba8888d24s8ms0",
|
||||
"--deqp-visibility=hidden"
|
||||
]
|
||||
|
||||
[[deqp]]
|
||||
deqp = "/deqp/modules/gles31/deqp-gles31"
|
||||
caselists = ["/deqp/mustpass/gles31-master.txt"]
|
||||
skips = ["install/all-skips.txt", "install/nouveau-gm20b-skips.txt"]
|
||||
deqp_args = [
|
||||
"--deqp-surface-width=256",
|
||||
"--deqp-surface-height=256",
|
||||
"--deqp-surface-type=pbuffer",
|
||||
"--deqp-gl-config-name=rgba8888d24s8ms0",
|
||||
"--deqp-visibility=hidden"
|
||||
]
|
||||
|
||||
[[deqp]]
|
||||
deqp = "/deqp/external/openglcts/modules/glcts"
|
||||
caselists = [
|
||||
"/deqp/mustpass/gles2-khr-master.txt",
|
||||
"/deqp/mustpass/gles3-khr-master.txt",
|
||||
"/deqp/mustpass/gles31-khr-master.txt"
|
||||
]
|
||||
skips = ["install/all-skips.txt", "install/nouveau-gm20b-skips.txt"]
|
||||
deqp_args = [
|
||||
"--deqp-surface-width=256",
|
||||
"--deqp-surface-height=256",
|
||||
"--deqp-surface-type=pbuffer",
|
||||
"--deqp-gl-config-name=rgba8888d24s8ms0",
|
||||
"--deqp-visibility=hidden"
|
||||
]
|
42
src/gallium/drivers/nouveau/ci/gitlab-ci.yml
Normal file
42
src/gallium/drivers/nouveau/ci/gitlab-ci.yml
Normal file
@ -0,0 +1,42 @@
|
||||
.gm20b-test:
|
||||
extends:
|
||||
- .baremetal-test-arm64
|
||||
- .use-debian/arm_test
|
||||
- .nouveau-rules
|
||||
variables:
|
||||
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
|
||||
BM_BOOTFS: /baremetal-files/jetson-nano/
|
||||
BM_POE_TIMEOUT: 300
|
||||
BM_CMDLINE: "console=ttyS0,115200n8 rw nfsrootdebug init=/init"
|
||||
FLAKES_CHANNEL: "#nouveau-ci"
|
||||
GPU_VERSION: nouveau-gm20b
|
||||
# We package these as modules so that we can load them after the firmware is
|
||||
# available on NFS.
|
||||
HWCI_KERNEL_MODULES: tegra-drm,nouveau
|
||||
script:
|
||||
- ./install/bare-metal/poe-powered.sh
|
||||
needs:
|
||||
- debian/arm_test
|
||||
- job: debian-arm64
|
||||
artifacts: false
|
||||
tags:
|
||||
- google-nouveau-jetson-nano
|
||||
|
||||
# Single Jetson Nano board at anholt's house.
|
||||
gm20b-gles-full:
|
||||
extends:
|
||||
- .gm20b-test
|
||||
- .test-manual-mr
|
||||
timeout: 2h
|
||||
variables:
|
||||
DEQP_SUITE: nouveau-gm20b
|
||||
# 4 CPUs, but spawn a couple extra threads to make sure they stay busy while
|
||||
# some are waiting for the GPU.
|
||||
FDO_CI_CONCURRENT: 6
|
||||
|
||||
gm20b-gles:
|
||||
extends:
|
||||
- gm20b-gles-full
|
||||
timeout: 60m
|
||||
variables:
|
||||
DEQP_FRACTION: 10
|
3226
src/gallium/drivers/nouveau/ci/nouveau-gm20b-fails.txt
Normal file
3226
src/gallium/drivers/nouveau/ci/nouveau-gm20b-fails.txt
Normal file
File diff suppressed because it is too large
Load Diff
26
src/gallium/drivers/nouveau/ci/nouveau-gm20b-flakes.txt
Normal file
26
src/gallium/drivers/nouveau/ci/nouveau-gm20b-flakes.txt
Normal file
@ -0,0 +1,26 @@
|
||||
dEQP-GLES3.functional.occlusion_query.*conservative.*
|
||||
dEQP-GLES3.functional.transform_feedback.*
|
||||
dEQP-GLES31.functional.atomic_counter.*
|
||||
dEQP-GLES31.functional.compute.shared_var.*
|
||||
dEQP-GLES31.functional.image_load_store.buffer.*
|
||||
|
||||
# I expect that these are due to instability in SSBO stores.
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.*compute
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.*tess_control
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.*tess_eval
|
||||
dEQP-GLES31.functional.shaders.opaque_type_indexing.*.compute.*
|
||||
dEQP-GLES31.functional.shaders.opaque_type_indexing.*.tessellation_control.*
|
||||
dEQP-GLES31.functional.shaders.opaque_type_indexing.*.tessellation_evaluation.*
|
||||
|
||||
dEQP-GLES31.functional.tessellation.invariance.*
|
||||
dEQP-GLES31.functional.tessellation.tesscoord.*
|
||||
dEQP-GLES31.functional.tessellation_geometry_interaction.feedback.*
|
||||
dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_shader_builtin.triangles_explicit_tcs_out_size
|
||||
dEQP-GLES31.functional.ssbo.*
|
||||
dEQP-GLES31.functional.synchronization.*
|
||||
KHR-GLES31.core.compute_shader.*
|
||||
KHR-GLES31.core.shader_atomic_counters.*
|
||||
KHR-GLES31.core.shader_bitfield_operation.*
|
||||
KHR-GLES31.core.shader_image.*
|
||||
KHR-GLES31.core.shader_storage_buffer_object.*
|
||||
KHR-GLES31.core.tessellation_shader.*
|
2
src/gallium/drivers/nouveau/ci/nouveau-gm20b-skips.txt
Normal file
2
src/gallium/drivers/nouveau/ci/nouveau-gm20b-skips.txt
Normal file
@ -0,0 +1,2 @@
|
||||
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements.*1000x1000_drawcount_5000
|
||||
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays.*_500x500_drawcount_2500
|
Loading…
Reference in New Issue
Block a user