From 324a32ac141de7ee3df52d5cc66cc0e7b776e526 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 10 Aug 2021 14:22:02 -0400 Subject: [PATCH] panfrost/ci: Switch to suite support Use the new deqp-runner suite support to combine our dEQP-GLES2, dEQP-GLES3, and dEQP-GLES31 jobs into a single job. This simplifies load balancing, enabling us to expand our test coverage without impacting wall clock time. With the new infrastructure in place, we add KHR-GLES* jobs for Mali G52. This would have caught some recent regressions. Once we hit conformance it's essential we remain conformant. Signed-off-by: Alyssa Rosenzweig Part-of: --- .../panfrost/ci/deqp-panfrost-g52-fails.txt | 6 ++ .../panfrost/ci/deqp-panfrost-g52.toml | 41 ++++++++++ .../panfrost/ci/deqp-panfrost-g72.toml | 41 ++++++++++ .../panfrost/ci/deqp-panfrost-t720.toml | 9 +++ .../panfrost/ci/deqp-panfrost-t760.toml | 9 +++ .../panfrost/ci/deqp-panfrost-t860.toml | 28 +++++++ src/gallium/drivers/panfrost/ci/gitlab-ci.yml | 77 +++---------------- 7 files changed, 146 insertions(+), 65 deletions(-) create mode 100644 src/gallium/drivers/panfrost/ci/deqp-panfrost-g52.toml create mode 100644 src/gallium/drivers/panfrost/ci/deqp-panfrost-g72.toml create mode 100644 src/gallium/drivers/panfrost/ci/deqp-panfrost-t720.toml create mode 100644 src/gallium/drivers/panfrost/ci/deqp-panfrost-t760.toml create mode 100644 src/gallium/drivers/panfrost/ci/deqp-panfrost-t860.toml diff --git a/src/gallium/drivers/panfrost/ci/deqp-panfrost-g52-fails.txt b/src/gallium/drivers/panfrost/ci/deqp-panfrost-g52-fails.txt index e69de29bb2d..9998751ea0b 100644 --- a/src/gallium/drivers/panfrost/ci/deqp-panfrost-g52-fails.txt +++ b/src/gallium/drivers/panfrost/ci/deqp-panfrost-g52-fails.txt @@ -0,0 +1,6 @@ +# The shader assisted indirect draw path is buggy. The shader assisted indirect +# draw path is disabled outside of CI due to these conformance issues. +KHR-GLES31.core.compute_shader.pipeline-gen-draw-commands,Crash +KHR-GLES31.core.draw_indirect.advanced-primitiveRestart-elements,Fail +KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-arrays,Crash +KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-elements,Fail diff --git a/src/gallium/drivers/panfrost/ci/deqp-panfrost-g52.toml b/src/gallium/drivers/panfrost/ci/deqp-panfrost-g52.toml new file mode 100644 index 00000000000..5f60d682fff --- /dev/null +++ b/src/gallium/drivers/panfrost/ci/deqp-panfrost-g52.toml @@ -0,0 +1,41 @@ +# Basic test set +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + diff --git a/src/gallium/drivers/panfrost/ci/deqp-panfrost-g72.toml b/src/gallium/drivers/panfrost/ci/deqp-panfrost-g72.toml new file mode 100644 index 00000000000..5f60d682fff --- /dev/null +++ b/src/gallium/drivers/panfrost/ci/deqp-panfrost-g72.toml @@ -0,0 +1,41 @@ +# Basic test set +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + diff --git a/src/gallium/drivers/panfrost/ci/deqp-panfrost-t720.toml b/src/gallium/drivers/panfrost/ci/deqp-panfrost-t720.toml new file mode 100644 index 00000000000..1bfb2dbdafb --- /dev/null +++ b/src/gallium/drivers/panfrost/ci/deqp-panfrost-t720.toml @@ -0,0 +1,9 @@ +# Basic test set +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] diff --git a/src/gallium/drivers/panfrost/ci/deqp-panfrost-t760.toml b/src/gallium/drivers/panfrost/ci/deqp-panfrost-t760.toml new file mode 100644 index 00000000000..1bfb2dbdafb --- /dev/null +++ b/src/gallium/drivers/panfrost/ci/deqp-panfrost-t760.toml @@ -0,0 +1,9 @@ +# Basic test set +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] diff --git a/src/gallium/drivers/panfrost/ci/deqp-panfrost-t860.toml b/src/gallium/drivers/panfrost/ci/deqp-panfrost-t860.toml new file mode 100644 index 00000000000..549310c50e1 --- /dev/null +++ b/src/gallium/drivers/panfrost/ci/deqp-panfrost-t860.toml @@ -0,0 +1,28 @@ +# Basic test set +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[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-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +fraction = 4 diff --git a/src/gallium/drivers/panfrost/ci/gitlab-ci.yml b/src/gallium/drivers/panfrost/ci/gitlab-ci.yml index 9af4cdd3b0b..f7bd6ffee1b 100644 --- a/src/gallium/drivers/panfrost/ci/gitlab-ci.yml +++ b/src/gallium/drivers/panfrost/ci/gitlab-ci.yml @@ -13,6 +13,7 @@ panfrost-t720-gles2:arm64: DEVICE_TYPE: sun50i-h6-pine-h64 DTB: $DEVICE_TYPE GPU_VERSION: panfrost-t720 + DEQP_SUITE: panfrost-t720 DEQP_PARALLEL: 6 DEQP_EXPECTED_RENDERER: T720 tags: @@ -29,6 +30,7 @@ panfrost-t760-gles2:armhf: GPU_VERSION: panfrost-t760 BOOT_METHOD: depthcharge KERNEL_IMAGE_TYPE: "" + DEQP_SUITE: panfrost-t720 DEQP_PARALLEL: 6 DEQP_EXPECTED_RENDERER: T760 tags: @@ -72,36 +74,15 @@ panfrost-t760-traces:armhf: tags: - mesa-ci-x86-64-lava-rk3399-gru-kevin -.panfrost-t860-gles2:arm64: +panfrost-t860-gl:arm64: + parallel: 3 extends: - .lava-test:arm64 - .lava-rk3399-gru-kevin variables: DEQP_PARALLEL: 6 DEQP_EXPECTED_RENDERER: T860 - -panfrost-t860-gles3:arm64: - parallel: 2 - extends: - - .lava-test:arm64 - - .lava-rk3399-gru-kevin - variables: - DEQP_VER: gles3 - DEQP_PARALLEL: 6 - DEQP_EXPECTED_RENDERER: T860 - -panfrost-t860-gles31:arm64: - extends: - - .lava-test:arm64 - - .lava-rk3399-gru-kevin - variables: - DEQP_VER: gles31 - PAN_MESA_DEBUG: "deqp,sync" - MESA_GLES_VERSION_OVERRIDE: "3.1" - MESA_GLSL_VERSION_OVERRIDE: 310 - DEQP_FRACTION: 4 - DEQP_PARALLEL: 1 - DEQP_EXPECTED_RENDERER: T860 + DEQP_SUITE: panfrost-t860 panfrost-t860-traces:arm64: extends: @@ -129,34 +110,16 @@ panfrost-t860-traces:arm64: tags: - mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3 -.panfrost-g52-gles2:arm64: +panfrost-g52-gl:arm64: + parallel: 3 extends: - .lava-test:arm64 - .lava-meson-g12b-a311d-khadas-vim3 variables: DEQP_PARALLEL: 6 + DEQP_SUITE: panfrost-g52 DEQP_EXPECTED_RENDERER: G52 - -panfrost-g52-gles3:arm64: - parallel: 2 - extends: - - .lava-test:arm64 - - .lava-meson-g12b-a311d-khadas-vim3 - variables: - DEQP_VER: gles3 - PAN_MESA_DEBUG: "deqp,sync" - DEQP_PARALLEL: 6 - DEQP_EXPECTED_RENDERER: G52 - -panfrost-g52-gles31:arm64: - extends: - - .lava-test:arm64 - - .lava-meson-g12b-a311d-khadas-vim3 - variables: - DEQP_VER: gles31 PAN_MESA_DEBUG: "deqp,sync,indirect" - DEQP_PARALLEL: 6 - DEQP_EXPECTED_RENDERER: G52 .lava-acer-mt8183-cp311-3h-jacuzzi: extends: @@ -171,31 +134,14 @@ panfrost-g52-gles31:arm64: tags: - mesa-ci-x86-64-lava-acer-mt8183-cp311-3h-jacuzzi -.panfrost-g72-gles2:arm64: +.panfrost-g72-gl:arm64: + parallel: 3 extends: - .lava-test:arm64 - .lava-acer-mt8183-cp311-3h-jacuzzi variables: DEQP_EXPECTED_RENDERER: G72 - -.panfrost-g72-gles3:arm64: - parallel: 2 - extends: - - .lava-test:arm64 - - .lava-acer-mt8183-cp311-3h-jacuzzi - variables: - DEQP_VER: gles3 - PAN_MESA_DEBUG: "deqp,sync" - DEQP_EXPECTED_RENDERER: G72 - -.panfrost-g72-gles31:arm64: - extends: - - .lava-test:arm64 - - .lava-acer-mt8183-cp311-3h-jacuzzi - variables: - DEQP_VER: gles31 - PAN_MESA_DEBUG: "deqp,sync" - DEQP_EXPECTED_RENDERER: G72 + DEQP_SUITE: panfrost-g72 .panfrost-t820-gles2:arm64: extends: @@ -208,5 +154,6 @@ panfrost-g52-gles31:arm64: GPU_VERSION: panfrost-t820 DEQP_PARALLEL: 6 DEQP_EXPECTED_RENDERER: T820 + DEQP_SUITE: panfrost-t720 tags: - mesa-ci-aarch64-lava-baylibre