ci: Add support for Jetson TK1.

This is a farm of 5 (6, but one fails) TK1 boards for nouveau testing,
hosted and maintained by me.  Currently it runs GLES dEQP.

I've been using ./.gitlab-ci/bin/ci_run_n_monitor.py --stress --target
gk20a to test it and am pretty confident of the skips/flakes list.  Last
night it ran 318 jobs without fail, and prior to that there were two sets
of runs in the 100-200 range where only the one failing runner failed any
jobs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18497>
This commit is contained in:
Emma Anholt 2022-05-17 07:05:36 -07:00 committed by Marge Bot
parent dcc5261895
commit c93b72d045
16 changed files with 436 additions and 6 deletions

View file

@ -22,6 +22,7 @@ variables:
MICROSOFT_FARM: "online" MICROSOFT_FARM: "online"
LIMA_FARM: "online" LIMA_FARM: "online"
IGALIA_FARM: "online" IGALIA_FARM: "online"
ANHOLT_FARM: "online"
default: default:
before_script: before_script:

View file

@ -115,6 +115,19 @@ LABEL primary
APPEND \${cbootargs} $BM_CMDLINE APPEND \${cbootargs} $BM_CMDLINE
EOF EOF
# Set up the pxelinux config for Jetson TK1
cat <<EOF >/tftp/pxelinux.cfg/default-arm-tegra124-jetson-tk1
PROMPT 0
TIMEOUT 30
DEFAULT primary
MENU TITLE jetson TK1 boot options
LABEL primary
MENU LABEL CI kernel on TFTP
LINUX zImage
FDT tegra124-jetson-tk1.dtb
APPEND \${cbootargs} $BM_CMDLINE
EOF
# Create the rootfs in the NFS directory # Create the rootfs in the NFS directory
mkdir -p /nfs/results mkdir -p /nfs/results
. $BM/rootfs-setup.sh /nfs . $BM/rootfs-setup.sh /nfs

View file

@ -74,6 +74,11 @@ class PoERun:
self.print_error("nouveau jetson boot bug, retrying.") self.print_error("nouveau jetson boot bug, retrying.")
return 2 return 2
# network fail on tk1
if re.search("NETDEV WATCHDOG:.* transmit queue 0 timed out", line):
self.print_error("nouveau jetson tk1 network fail, retrying.")
return 2
result = re.search("hwci: mesa: (\S*)", line) result = re.search("hwci: mesa: (\S*)", line)
if result: if result:
if result.group(1) == "pass": if result.group(1) == "pass":

View file

@ -55,3 +55,9 @@ CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_RTL8152=y CONFIG_USB_RTL8152=y
CONFIG_USB_NET_AX8817X=y CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_SMSC95XX=y CONFIG_USB_NET_SMSC95XX=y
# TK1
CONFIG_ARM_TEGRA_DEVFREQ=y
# 32-bit build failure
CONFIG_DRM_MSM=n

View file

@ -42,7 +42,9 @@ elif [[ $arch == "armhf" ]]; then
wget "${ARTIFACTS_URL}"/zImage wget "${ARTIFACTS_URL}"/zImage
DEVICE_TREES="imx6q-cubox-i.dtb" DEVICE_TREES=""
DEVICE_TREES="$DEVICE_TREES imx6q-cubox-i.dtb"
DEVICE_TREES="$DEVICE_TREES tegra124-jetson-tk1.dtb"
for DTB in $DEVICE_TREES; do for DTB in $DEVICE_TREES; do
wget "${ARTIFACTS_URL}/$DTB" wget "${ARTIFACTS_URL}/$DTB"

View file

@ -32,10 +32,8 @@ if [[ -n ${DEVICE_TREES} ]]; then
cp ${DEVICE_TREES} /lava-files/. cp ${DEVICE_TREES} /lava-files/.
fi fi
if [[ ${DEBIAN_ARCH} = "amd64" || ${DEBIAN_ARCH} = "arm64" ]]; then make modules
make modules INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install
INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install
fi
if [[ ${DEBIAN_ARCH} = "arm64" ]]; then if [[ ${DEBIAN_ARCH} = "arm64" ]]; then
make Image.lzma make Image.lzma

View file

@ -37,6 +37,9 @@ elif [ $DEBIAN_ARCH = amd64 ]; then
spirv-tools spirv-tools
sysvinit-core sysvinit-core
" "
elif [ $DEBIAN_ARCH = armhf ]; then
ARCH_PACKAGES="firmware-misc-nonfree
"
fi fi
INSTALL_CI_FAIRY_PACKAGES="git INSTALL_CI_FAIRY_PACKAGES="git

View file

@ -38,3 +38,9 @@ ln -s \
/baremetal-files/Image \ /baremetal-files/Image \
/baremetal-files/tegra210-p3450-0000.dtb \ /baremetal-files/tegra210-p3450-0000.dtb \
/baremetal-files/jetson-nano/boot/ /baremetal-files/jetson-nano/boot/
mkdir -p /baremetal-files/jetson-tk1/boot/
ln -s \
/baremetal-files/zImage \
/baremetal-files/tegra124-jetson-tk1.dtb \
/baremetal-files/jetson-tk1/boot/

View file

@ -50,6 +50,7 @@ elif [[ "$DEBIAN_ARCH" = "armhf" ]]; then
DEVICE_TREES="arch/arm/boot/dts/rk3288-veyron-jaq.dtb" DEVICE_TREES="arch/arm/boot/dts/rk3288-veyron-jaq.dtb"
DEVICE_TREES+=" arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb" DEVICE_TREES+=" arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb"
DEVICE_TREES+=" arch/arm/boot/dts/imx6q-cubox-i.dtb" DEVICE_TREES+=" arch/arm/boot/dts/imx6q-cubox-i.dtb"
DEVICE_TREES+=" arch/arm/boot/dts/tegra124-jetson-tk1.dtb"
KERNEL_IMAGE_NAME="zImage" KERNEL_IMAGE_NAME="zImage"
. .gitlab-ci/container/create-cross-file.sh armhf . .gitlab-ci/container/create-cross-file.sh armhf
else else

View file

@ -15,7 +15,7 @@ variables:
DEBIAN_X86_TEST_VK_TAG: "2022-09-07-ci-templates" DEBIAN_X86_TEST_VK_TAG: "2022-09-07-ci-templates"
FEDORA_X86_BUILD_TAG: "2022-08-25-shellcheck" FEDORA_X86_BUILD_TAG: "2022-08-25-shellcheck"
KERNEL_ROOTFS_TAG: "2022-09-07-ci-templates" KERNEL_ROOTFS_TAG: "2022-09-08-nouveau"
WINDOWS_X64_VS_PATH: "windows/x64_vs" WINDOWS_X64_VS_PATH: "windows/x64_vs"
WINDOWS_X64_VS_TAG: "2022-08-17-bump" WINDOWS_X64_VS_TAG: "2022-08-17-bump"

View file

@ -144,6 +144,11 @@
- if: '$IGALIA_FARM == "offline"' - if: '$IGALIA_FARM == "offline"'
when: never when: never
.anholt-farm-rules:
rules:
- if: '$ANHOLT_FARM == "offline"'
when: never
# Skips freedreno jobs if either of the farms we use are offline. # Skips freedreno jobs if either of the farms we use are offline.
.freedreno-farm-rules: .freedreno-farm-rules:
rules: rules:
@ -234,6 +239,7 @@
.nouveau-rules: .nouveau-rules:
stage: nouveau stage: nouveau
rules: rules:
- !reference [.anholt-farm-rules, rules]
- !reference [.gl-rules, rules] - !reference [.gl-rules, rules]
- changes: - changes:
- src/nouveau/**/* - src/nouveau/**/*

View file

@ -0,0 +1,49 @@
[[deqp]]
deqp = "/deqp/modules/gles2/deqp-gles2"
caselists = ["/deqp/mustpass/gles2-master.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 = "NVEA"
version_check = "GL ES 3.2"
[[deqp]]
deqp = "/deqp/modules/gles3/deqp-gles3"
caselists = ["/deqp/mustpass/gles3-master.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"]
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"
]
deqp_args = [
"--deqp-surface-width=256",
"--deqp-surface-height=256",
"--deqp-surface-type=pbuffer",
"--deqp-gl-config-name=rgba8888d24s8ms0",
"--deqp-visibility=hidden"
]

View file

@ -1,3 +1,26 @@
.gk20a-test:
extends:
- .baremetal-test-armhf
- .use-debian/arm_test
- .nouveau-rules
variables:
BM_BOOTFS: /baremetal-files/jetson-tk1/
BM_POE_TIMEOUT: 300
BM_CMDLINE: "console=ttyS0,115200n8 rw nfsrootdebug init=/init ip=dhcp root=/dev/nfs nfsroot=,tcp,nfsvers=4.2"
FLAKES_CHANNEL: "#nouveau-ci"
GPU_VERSION: nouveau-gk20a
# We package nouveau as a module so that we can load it after the firmware is
# available on NFS.
HWCI_KERNEL_MODULES: nouveau
script:
- ./install/bare-metal/poe-powered.sh
needs:
- debian/arm_test
- job: debian-armhf
artifacts: false
tags:
- anholt-nouveau-jetson-tk1
.gm20b-test: .gm20b-test:
extends: extends:
- .baremetal-test-arm64 - .baremetal-test-arm64
@ -16,6 +39,18 @@
tags: tags:
- google-nouveau-jetson-nano - google-nouveau-jetson-nano
# 6 Jetson TK1 boards at anholt's house.
gk20a-gles:
extends:
- .gk20a-test
parallel: 4
variables:
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
DEQP_SUITE: nouveau-gk20a
# 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
# Single Jetson Nano board at anholt's house. # Single Jetson Nano board at anholt's house.
gm20b-gles-full: gm20b-gles-full:
extends: extends:

View file

@ -0,0 +1,162 @@
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negx_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negx_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negx_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negx_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negx_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negx_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negx_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negy_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negy_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negy_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negy_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negy_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negy_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negy_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negz_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negz_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negz_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negz_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negz_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negz_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_negz_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posx_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posx_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posx_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posx_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posx_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posx_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posx_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posy_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posy_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posy_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posy_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posy_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posy_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posy_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posz_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posz_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posz_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posz_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posz_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posz_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.cubemap_posz_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture2d_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture2d_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture2d_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture2d_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture2d_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture2d_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture2d_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture3d_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture3d_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture3d_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture3d_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture3d_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture3d_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture3d_texture2d,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture_array_cubemap_negx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture_array_cubemap_negy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture_array_cubemap_negz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture_array_cubemap_posx,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture_array_cubemap_posy,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture_array_cubemap_posz,Fail
KHR-GLES3.copy_tex_image_conversions.forbidden.texture_array_texture2d,Fail
KHR-GLES3.packed_pixels.pbo_rectangle.rgba,Fail
KHR-GLES3.packed_pixels.pbo_rectangle.rgba4,Fail
KHR-GLES3.packed_pixels.pbo_rectangle.rgba8,Fail
KHR-GLES3.packed_pixels.rectangle.rgba,Fail
KHR-GLES3.packed_pixels.rectangle.rgba4,Fail
KHR-GLES3.packed_pixels.rectangle.rgba8,Fail
KHR-GLES3.packed_pixels.varied_rectangle.rgba,Fail
KHR-GLES3.packed_pixels.varied_rectangle.rgba4,Fail
KHR-GLES3.packed_pixels.varied_rectangle.rgba8,Fail
KHR-GLES31.core.draw_indirect.basic-buffer-copySubData,Fail
KHR-GLES31.core.texture_buffer.texture_buffer_texture_buffer_range,Fail
KHR-GLES31.core.vertex_attrib_binding.basic-input-case12,Fail
dEQP-GLES2.functional.rasterization.limits.points,Fail
dEQP-GLES3.functional.occlusion_query.all_occluders,Fail
dEQP-GLES3.functional.occlusion_query.conservative_all_occluders,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_write_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_write_depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_write_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_write_depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_write_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_depth_write_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_write_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_write_depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_write_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_write_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_depth_write_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_scissor_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.conservative_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.conservative_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.depth_write_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_depth_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_depth_clear_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_depth_clear_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.scissor_depth_write_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.scissor_stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.scissor_stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.stencil_clear,Fail
dEQP-GLES3.functional.occlusion_query.stencil_write,Fail
dEQP-GLES3.functional.occlusion_query.stencil_write_stencil_clear,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.isampler3d_fragment,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.isampler3d_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.isamplercube_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.isampler3d_fragment,Fail
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.isampler3d_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.isampler3d_fragment,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.isampler3d_vertex,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.isampler3d_fragment,Fail
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.isampler3d_vertex,Fail
KHR-GLES31.core.texture_buffer.texture_buffer_operations_cpu_writes,Fail

View file

@ -0,0 +1,69 @@
# "dEQP error: NIR validation failed after deserialize
# decl_var INTERP_MODE_NONE highp vec4 a_position
# error: var->data.mode & valid_modes (../src/compiler/nir/nir_validate.c:1526)
# decl_var shader_out INTERP_MODE_NONE highp vec4 gl_Position (VARYING_SLOT_POS.xyzw, 0, 0)
dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.multiple_nested_structs_arrays.both
# Something unstable with >4bpp integer textures? The colors are always very close, not
# an obvious layout or cache flushing bug.
dEQP-GLES3.functional.fbo.blit.conversion.rgba16i_to_rgba16i
dEQP-GLES3.functional.fbo.blit.conversion.rgba16i_to_rgba32i
dEQP-GLES3.functional.fbo.blit.conversion.rgba16ui_to_rgba16ui
dEQP-GLES3.functional.fbo.blit.conversion.rgba16ui_to_rgba32ui
dEQP-GLES3.functional.fbo.blit.conversion.rgba32i_to_rgba16i
dEQP-GLES3.functional.fbo.blit.conversion.rgba32ui_to_rgba16ui
dEQP-GLES3.functional.texture.format.*rgba16i
dEQP-GLES3.functional.texture.format.*rgba16ui
dEQP-GLES3.functional.texture.format.*rg.*32i
dEQP-GLES3.functional.texture.format.*rg.*32ui
dEQP-GLES3.functional.texture.specification.*rg.*32i
dEQP-GLES3.functional.texture.specification.*rg.*32ui
dEQP-GLES31.functional.texture.specification.*rg.*32i
dEQP-GLES31.functional.texture.specification.*rg.*32ui
dEQP-GLES31.functional.texture.format.buffer.rg32.*i
dEQP-GLES31.functional.texture.format.buffer.rg32.*ui
# Something unstable with vertex texturing
dEQP-GLES2.functional.shaders.struct.uniform.sampler_vertex
dEQP-GLES3.functional.shaders.struct.uniform.sampler_vertex
dEQP-GLES3.functional.texture.vertex.*
KHR-GLES31.core.texture_storage_multisample.FunctionalTests.texture_size_in_vertex_shaders
# non-gpu-hang crash, no stderr.
dEQP-GLES3.functional.texture.units.all_units.only_cube.0
dEQP-GLES3.functional.texture.units.all_units.only_cube.9
# segfault, no stderr.
dEQP-GLES3.functional.ubo.random.all_per_block_buffers.11
dEQP-GLES3.functional.dither.disabled.unicolored_quad_blue
dEQP-GLES3.functional.fbo.invalidate.default.sub_bind_stencil
dEQP-GLES3.functional.fbo.msaa.renderbuffer_resize.nonms_to_ms
dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_mediump
dEQP-GLES3.functional.texture.compressed.astc.*
dEQP-GLES3.functional.ubo.multi_nested_struct.per_block_buffer.shared_instance_array_fragment
dEQP-GLES3.functional.ubo.random.all_shared_buffer.35
dEQP-GLES3.functional.ubo.random.basic_types.21
dEQP-GLES3.functional.ubo.single_struct.single_buffer.shared_instance_array_both
dEQP-GLES3.functional.ubo.single_struct_array.single_buffer.shared_instance_array_both
dEQP-GLES31.functional.shaders.helper_invocation.derivate.*
dEQP-GLES31.functional.shaders.helper_invocation.derivate.*_4_samples_fwidth
dEQP-GLES31.functional.shaders.helper_invocation.value.*_4_samples
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number.multisample_texture_8
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples.multisample_texture_8
dEQP-GLES31.functional.texture.multisample.samples_1.sample_position
KHR-GLES3.copy_tex_image_conversions.*
KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_texture2d
KHR-GLES3.copy_tex_image_conversions.required.cubemap_posz_cubemap_posx
KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_posx
KHR-GLES31.core.draw_indirect.basic-buffer-copySubData
KHR-GLES31.core.texture_gather.offset-gather-depth-2darray
KHR-GLES31.core.texture_gather.offset-gather-float-2d
KHR-GLES31.core.texture_gather.offset-gather-float-2darray
KHR-GLES31.core.texture_gather.offset-gather-uint-2d
KHR-GLES31.core.texture_gather.plain-gather-float-2d
KHR-GLES31.core.texture_gather.plain-gather-float-2darray
KHR-GLES31.core.texture_gather.plain-gather-float-cube-rgba
KHR-GLES31.core.texture_gather.swizzle
KHR-GLES31.core.texture_storage_multisample.FunctionalTests.verify_sample_masking_for_non_integer_color_renderable_internalformats
KHR-GLES31.core.vertex_attrib_binding.*

View file

@ -0,0 +1,74 @@
# Too slow.
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_500x500_drawcount_2500
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_separate_grid_500x500_drawcount_2500
# Flakes with:
# [ 131.187741] nouveau 57000000.gpu: fifo: fault 01 [WRITE] at 00000000015a4000 engine 1b [CE2] client 18 [HUB/GR_CE] reason 02 [PTE] on channel 4 [04001eb000 deqp-gles3[250]]
# and then nouveau crashes with "deqp-gles3: ../nouveau/pushbuf.c:730: nouveau_pushbuf_data: Assertion `kref' failed."
dEQP-GLES3.functional.multisample.fbo_8_samples.common_edge_big_quad
# Flakes with:
# [ 201.528453] nouveau 57000000.gpu: fifo: fault 01 [WRITE] at 0000000000dd8000 engine 1b [CE2] client 18 [HUB/GR_CE] reason 02 [PTE] on channel 2 [0400155000 glcts[373]]
KHR-GLES31.core.texture_cube_map_array.sampling
# Flakes with:
# [ 85.681990] nouveau 57000000.gpu: fifo: fault 01 [WRITE] at 0000000001716000 engine 1b [CE2] client 18 [HUB/GR_CE] reason 02 [PTE] on channel 5 [04001f5000 deqp-gles3[225]]
dEQP-GLES3.functional.read_pixels.rowlength.rgba_int_19
dEQP-GLES3.functional.read_pixels.skip.rgba_int_3_3
# SSBOs are unstable, and these tests all use them.
# It's so flaky on both gk20a and gm20b tegra that the noise drowns everything else out.
dEQP-GLES31.functional.*atomic_counter.*
dEQP-GLES31.functional.*compute.*
dEQP-GLES31.functional.shaders.builtin_constants.*
dEQP-GLES31.functional.ssbo.*
KHR-GLES31.core.compute_shader.*
KHR-GLES31.core.constant_expressions.*compute
KHR-GLES31.core.layout_binding.image2D_layout_binding_imageLoad_ComputeShader
KHR-GLES31.core.shader_atomic_counters.*
KHR-GLES31.core.shader_bitfield_operation.*
KHR-GLES31.core.shader_image_load_store.*
KHR-GLES31.core.shader_image_size.*
KHR-GLES31.core.shader_storage_buffer_object.*
KHR-GLES31.core.texture_buffer.texture_buffer_atomic_functions
KHR-GLES31.core.texture_buffer.texture_buffer_operations_buffer_load
KHR-GLES31.core.texture_buffer.texture_buffer_operations_cpu_writes
KHR-GLES31.core.texture_buffer.texture_buffer_operations_framebuffer_readback
KHR-GLES31.core.texture_buffer.texture_buffer_operations_image_store
KHR-GLES31.core.texture_buffer.texture_buffer_operations_ssbo_writes
KHR-GLES31.core.texture_buffer.texture_buffer_operations_transform_feedback
# More very flaky stuff. Probably a bunch of these are also SSBOs but I haven't categorized them.
dEQP-GLES3.functional.multisample.fbo_8_samples.proportionality_sample_coverage_inverted
dEQP-GLES3.functional.multisample.fbo_max_samples.common_edge_big_quad
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage
dEQP-GLES3.functional.occlusion_query.*
dEQP-GLES3.functional.transform_feedback.*
dEQP-GLES31.functional.*tess.*
dEQP-GLES31.functional.copy_image.*
dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback.capture_vertex_draw_arrays_overflow_single_buffer
dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback.capture_vertex_draw_elements_overflow_single_buffer
dEQP-GLES31.functional.image_load_store.*
dEQP-GLES31.functional.shaders.sample_variables.sample_id.multisample_texture_8
dEQP-GLES31.functional.synchronization.*
KHR-GLES31.*tess.*
KHR-GLES31.core.draw_indirect.basic-buffer-copySubData
KHR-GLES31.core.geometry_shader.*
KHR-GLES31.core.gpu_shader5.*
KHR-GLES31.core.texture_cube_map_array.sampling
KHR-GLES31.core.texture_cube_map_array.texture_size_geometry_sh
KHR-GLES31.core.texture_cube_map_array.texture_size_vertex_sh
KHR-GLES31.core.texture_storage_multisample.FunctionalTests.texture_size_in_vertex_shaders
KHR-GLES31.core.texture_storage_multisample.FunctionalTests.verify_sample_masking_for_non_integer_color_renderable_internalformats
KHR-GLES31.core.vertex_attrib_binding.advanced-iterations
KHR-GLES31.core.vertex_attrib_binding.advanced-largeStrideAndOffsetsNewAndLegacyAPI
KHR-GLES31.core.vertex_attrib_binding.basic-input-case1
KHR-GLES31.core.vertex_attrib_binding.basic-input-case11
KHR-GLES31.core.vertex_attrib_binding.basic-input-case2
KHR-GLES31.core.vertex_attrib_binding.basic-input-case3
KHR-GLES31.core.vertex_attrib_binding.basic-input-case4
KHR-GLES31.core.vertex_attrib_binding.basic-input-case6
KHR-GLES31.core.vertex_attrib_binding.basic-input-case8
KHR-GLES31.core.vertex_attrib_binding.basic-inputI-case1
KHR-GLES31.core.vertex_attrib_binding.basic-inputI-case2
KHR-GLES31.core.vertex_attrib_binding.basic-inputI-case3