diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d800da8eec8..5d46f1ff18a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,6 +22,7 @@ variables: MICROSOFT_FARM: "online" LIMA_FARM: "online" IGALIA_FARM: "online" + ANHOLT_FARM: "online" default: before_script: diff --git a/.gitlab-ci/bare-metal/poe-powered.sh b/.gitlab-ci/bare-metal/poe-powered.sh index aea132e4cba..221fd7ee34e 100755 --- a/.gitlab-ci/bare-metal/poe-powered.sh +++ b/.gitlab-ci/bare-metal/poe-powered.sh @@ -115,6 +115,19 @@ LABEL primary APPEND \${cbootargs} $BM_CMDLINE EOF +# Set up the pxelinux config for Jetson TK1 +cat </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 mkdir -p /nfs/results . $BM/rootfs-setup.sh /nfs diff --git a/.gitlab-ci/bare-metal/poe_run.py b/.gitlab-ci/bare-metal/poe_run.py index ab216ec36a5..59b9d32b405 100755 --- a/.gitlab-ci/bare-metal/poe_run.py +++ b/.gitlab-ci/bare-metal/poe_run.py @@ -74,6 +74,11 @@ class PoERun: self.print_error("nouveau jetson boot bug, retrying.") 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) if result: if result.group(1) == "pass": diff --git a/.gitlab-ci/container/arm.config b/.gitlab-ci/container/arm.config index 21a5c7c23d5..324bd39b217 100644 --- a/.gitlab-ci/container/arm.config +++ b/.gitlab-ci/container/arm.config @@ -55,3 +55,9 @@ CONFIG_USB_NET_DRIVERS=y CONFIG_USB_RTL8152=y CONFIG_USB_NET_AX8817X=y CONFIG_USB_NET_SMSC95XX=y + +# TK1 +CONFIG_ARM_TEGRA_DEVFREQ=y + +# 32-bit build failure +CONFIG_DRM_MSM=n diff --git a/.gitlab-ci/container/baremetal_build.sh b/.gitlab-ci/container/baremetal_build.sh index aae16884853..3a523de9bd0 100644 --- a/.gitlab-ci/container/baremetal_build.sh +++ b/.gitlab-ci/container/baremetal_build.sh @@ -42,7 +42,9 @@ elif [[ $arch == "armhf" ]]; then 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 wget "${ARTIFACTS_URL}/$DTB" diff --git a/.gitlab-ci/container/build-kernel.sh b/.gitlab-ci/container/build-kernel.sh index a2bbb1a5d11..a690fd06bad 100644 --- a/.gitlab-ci/container/build-kernel.sh +++ b/.gitlab-ci/container/build-kernel.sh @@ -32,10 +32,8 @@ if [[ -n ${DEVICE_TREES} ]]; then cp ${DEVICE_TREES} /lava-files/. fi -if [[ ${DEBIAN_ARCH} = "amd64" || ${DEBIAN_ARCH} = "arm64" ]]; then - make modules - INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install -fi +make modules +INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install if [[ ${DEBIAN_ARCH} = "arm64" ]]; then make Image.lzma diff --git a/.gitlab-ci/container/create-rootfs.sh b/.gitlab-ci/container/create-rootfs.sh index 9715e6f857e..484d373e345 100644 --- a/.gitlab-ci/container/create-rootfs.sh +++ b/.gitlab-ci/container/create-rootfs.sh @@ -37,6 +37,9 @@ elif [ $DEBIAN_ARCH = amd64 ]; then spirv-tools sysvinit-core " +elif [ $DEBIAN_ARCH = armhf ]; then + ARCH_PACKAGES="firmware-misc-nonfree + " fi INSTALL_CI_FAIRY_PACKAGES="git diff --git a/.gitlab-ci/container/debian/arm_test.sh b/.gitlab-ci/container/debian/arm_test.sh index c0968280c17..96107e15074 100644 --- a/.gitlab-ci/container/debian/arm_test.sh +++ b/.gitlab-ci/container/debian/arm_test.sh @@ -38,3 +38,9 @@ ln -s \ /baremetal-files/Image \ /baremetal-files/tegra210-p3450-0000.dtb \ /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/ diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh index fdb6ccaf2ed..8e340ea16e8 100755 --- a/.gitlab-ci/container/lava_build.sh +++ b/.gitlab-ci/container/lava_build.sh @@ -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/sun8i-h3-libretech-all-h3-cc.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" . .gitlab-ci/container/create-cross-file.sh armhf else diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 2ab949272d6..8526d23cc0b 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -15,7 +15,7 @@ variables: DEBIAN_X86_TEST_VK_TAG: "2022-09-07-ci-templates" 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_TAG: "2022-08-17-bump" diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml index 7b94481ae58..dfb629b1d1a 100644 --- a/.gitlab-ci/test-source-dep.yml +++ b/.gitlab-ci/test-source-dep.yml @@ -144,6 +144,11 @@ - if: '$IGALIA_FARM == "offline"' when: never +.anholt-farm-rules: + rules: + - if: '$ANHOLT_FARM == "offline"' + when: never + # Skips freedreno jobs if either of the farms we use are offline. .freedreno-farm-rules: rules: @@ -234,6 +239,7 @@ .nouveau-rules: stage: nouveau rules: + - !reference [.anholt-farm-rules, rules] - !reference [.gl-rules, rules] - changes: - src/nouveau/**/* diff --git a/src/gallium/drivers/nouveau/ci/deqp-nouveau-gk20a.toml b/src/gallium/drivers/nouveau/ci/deqp-nouveau-gk20a.toml new file mode 100644 index 00000000000..cd9e70f0299 --- /dev/null +++ b/src/gallium/drivers/nouveau/ci/deqp-nouveau-gk20a.toml @@ -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" +] diff --git a/src/gallium/drivers/nouveau/ci/gitlab-ci.yml b/src/gallium/drivers/nouveau/ci/gitlab-ci.yml index 50494c50557..bf0f089a14c 100644 --- a/src/gallium/drivers/nouveau/ci/gitlab-ci.yml +++ b/src/gallium/drivers/nouveau/ci/gitlab-ci.yml @@ -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: extends: - .baremetal-test-arm64 @@ -16,6 +39,18 @@ tags: - 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. gm20b-gles-full: extends: diff --git a/src/gallium/drivers/nouveau/ci/nouveau-gk20a-fails.txt b/src/gallium/drivers/nouveau/ci/nouveau-gk20a-fails.txt new file mode 100644 index 00000000000..06ca4e97edb --- /dev/null +++ b/src/gallium/drivers/nouveau/ci/nouveau-gk20a-fails.txt @@ -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 diff --git a/src/gallium/drivers/nouveau/ci/nouveau-gk20a-flakes.txt b/src/gallium/drivers/nouveau/ci/nouveau-gk20a-flakes.txt new file mode 100644 index 00000000000..43aa9c22ca7 --- /dev/null +++ b/src/gallium/drivers/nouveau/ci/nouveau-gk20a-flakes.txt @@ -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.* diff --git a/src/gallium/drivers/nouveau/ci/nouveau-gk20a-skips.txt b/src/gallium/drivers/nouveau/ci/nouveau-gk20a-skips.txt new file mode 100644 index 00000000000..0be28c6739d --- /dev/null +++ b/src/gallium/drivers/nouveau/ci/nouveau-gk20a-skips.txt @@ -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