Mesa (main): ci/intel: Add test jobs for dEQP.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu May 20 03:44:28 UTC 2021


Module: Mesa
Branch: main
Commit: aa4f132d514babfa72c1a3dade157fc1429707d8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa4f132d514babfa72c1a3dade157fc1429707d8

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar  1 13:03:48 2021 -0800

ci/intel: Add test jobs for dEQP.

This covers dEQP-EGL, GL, and GLES on GLK, APL (BXT), and AML-Y
Chromebooks.  The GLES tests are fractional runs on some boards to keep
the pipeline time down.  Flakes are reported to #intel-ci on freenode.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10438>

---

 .gitlab-ci/lava-gitlab-ci.yml                      |   2 +-
 .gitlab-ci/lava.yml.jinja2                         |   2 +
 .gitlab-ci/test-source-dep.yml                     |  15 ++
 .../drivers/iris/ci/deqp-iris-amly-fails.txt       |  42 ++++++
 .../drivers/iris/ci/deqp-iris-amly-skips.txt       |   6 +
 .../drivers/iris/ci/deqp-iris-apl-fails.txt        |  27 ++++
 .../drivers/iris/ci/deqp-iris-apl-skips.txt        |  13 ++
 .../drivers/iris/ci/deqp-iris-glk-fails.txt        |  15 ++
 .../drivers/iris/ci/deqp-iris-glk-skips.txt        |  13 ++
 src/gallium/drivers/iris/ci/gitlab-ci.yml          | 153 +++++++++++++++++++--
 10 files changed, 276 insertions(+), 12 deletions(-)

diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index 65377224060..6983ce7a2bb 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -6,7 +6,7 @@
   variables:
     GIT_STRATEGY: none # testing doesn't build anything from source
     ENV_VARS: "DEQP_PARALLEL=6"
-    FIXED_ENV_VARS: "CI_PIPELINE_ID=${CI_PIPELINE_ID} CI_JOB_ID=${CI_JOB_ID} CI_PAGES_DOMAIN=${CI_PAGES_DOMAIN} CI_PROJECT_NAME=${CI_PROJECT_NAME} CI_PROJECT_PATH=${CI_PROJECT_PATH} CI_PROJECT_ROOT_NAMESPACE=${CI_PROJECT_ROOT_NAMESPACE} CI_JOB_JWT=${CI_JOB_JWT} CI_SERVER_URL=${CI_SERVER_URL} DRIVER_NAME=${DRIVER_NAME} FDO_UPSTREAM_REPO=${FDO_UPSTREAM_REPO} PIGLIT_NO_WINDOW=1 PIGLIT_REPLAY_UPLOAD_TO_MINIO=1 MINIO_HOST=${MINIO_HOST} LAVA_TEST_SCRIPT=${LAVA_TEST_SCRIPT} TEST_SUITE=${TEST_SUITE}"
+    FIXED_ENV_VARS: "CI_PIPELINE_ID=${CI_PIPELINE_ID} CI_JOB_ID=${CI_JOB_ID} CI_PAGES_DOMAIN=${CI_PAGES_DOMAIN} CI_PROJECT_NAME=${CI_PROJECT_NAME} CI_PROJECT_DIR=${CI_PROJECT_DIR} CI_PROJECT_PATH=${CI_PROJECT_PATH} CI_PROJECT_ROOT_NAMESPACE=${CI_PROJECT_ROOT_NAMESPACE} CI_JOB_JWT=${CI_JOB_JWT} CI_SERVER_URL=${CI_SERVER_URL} DRIVER_NAME=${DRIVER_NAME} FDO_UPSTREAM_REPO=${FDO_UPSTREAM_REPO} PIGLIT_NO_WINDOW=1 PIGLIT_REPLAY_UPLOAD_TO_MINIO=1 MINIO_HOST=${MINIO_HOST} LAVA_TEST_SCRIPT=${LAVA_TEST_SCRIPT} TEST_SUITE=${TEST_SUITE} VK_DRIVER=${VK_DRIVER} FLAKES_CHANNEL=${FLAKES_CHANNEL}"
     DEQP_VERSION: gles2
     ARTIFACTS_PREFIX: "https://${MINIO_HOST}/mesa-lava"
     MESA_URL: "http://caching-proxy/cache/?uri=https://${MINIO_HOST}/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/mesa-${ARCH}.tar.gz"
diff --git a/.gitlab-ci/lava.yml.jinja2 b/.gitlab-ci/lava.yml.jinja2
index b53222ee935..e8c74aac721 100644
--- a/.gitlab-ci/lava.yml.jinja2
+++ b/.gitlab-ci/lava.yml.jinja2
@@ -96,6 +96,8 @@ actions:
           - cd /
 
           - wget -S --progress=dot:giga -O- {{ mesa_url }} | tar -xz
+          - mkdir -p $CI_PROJECT_DIR
+          - ln -sf /install $CI_PROJECT_DIR/install
 
           - export DEQP_NO_SAVE_RESULTS=1
           - export GPU_VERSION={{ gpu_version }}
diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml
index 10b2e6d2bbb..73384372de7 100644
--- a/.gitlab-ci/test-source-dep.yml
+++ b/.gitlab-ci/test-source-dep.yml
@@ -321,6 +321,21 @@
       when: on_success
     - when: never
 
+.anv-rules:
+  stage: intel
+  rules:
+    - *ignore_scheduled_pipelines
+    - changes:
+        *mesa_core_file_list
+      when: on_success
+    - changes:
+        *vulkan_file_list
+      when: on_success
+    - changes:
+      - src/intel/**/*
+      when: on_success
+    - when: never
+
 # Unfortunately YAML doesn't let us concatenate arrays, so we have to do the
 # rules duplication manually
 .windows-build-rules:
diff --git a/src/gallium/drivers/iris/ci/deqp-iris-amly-fails.txt b/src/gallium/drivers/iris/ci/deqp-iris-amly-fails.txt
new file mode 100644
index 00000000000..4acd392174a
--- /dev/null
+++ b/src/gallium/drivers/iris/ci/deqp-iris-amly-fails.txt
@@ -0,0 +1,42 @@
+# These line rasterization failures are waived in the CTS
+dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide,Fail
+
+# https://gitlab.freedesktop.org/mesa/mesa/-/issues/4167
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.10x10,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.10x5,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.10x6,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.10x8,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.12x10,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.12x12,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.4x4,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.5x4,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.6x5,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.6x6,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.8x5,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.8x6,Fail
+dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.8x8,Fail
+
+KHR-GL46.get_texture_sub_image.errors_test,Fail
+KHR-GL46.get_texture_sub_image.functional_test,Fail
+KHR-GL46.gl_spirv.spirv_glsl_to_spirv_builtin_functions_test,Fail
+KHR-GL46.shader_image_load_store.basic-api-bind,Fail
+KHR-GL46.transform_feedback.capture_vertex_interleaved_test,Fail
+KHR-GL46.transform_feedback.capture_vertex_separate_test,Fail
+KHR-GL46.transform_feedback.discard_vertex_test,Fail
+KHR-GL46.transform_feedback.draw_xfb_instanced_test,Crash
+KHR-GL46.transform_feedback.draw_xfb_stream_instanced_test,Crash
+KHR-GL46.transform_feedback.query_vertex_interleaved_test,Fail
+KHR-GL46.transform_feedback.query_vertex_separate_test,Fail
diff --git a/src/gallium/drivers/iris/ci/deqp-iris-amly-skips.txt b/src/gallium/drivers/iris/ci/deqp-iris-amly-skips.txt
new file mode 100644
index 00000000000..b62e3f97f47
--- /dev/null
+++ b/src/gallium/drivers/iris/ci/deqp-iris-amly-skips.txt
@@ -0,0 +1,6 @@
+# Timeouts in CI
+KHR-GL46.copy_image.functional
+KHR-GL46.enhanced_layouts.uniform_block_member_align_non_power_of_2
+KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive
+KHR-GL46.texture_swizzle.smoke
+KHR-GL46.enhanced_layouts.ssb_member_align_non_power_of_2
diff --git a/src/gallium/drivers/iris/ci/deqp-iris-apl-fails.txt b/src/gallium/drivers/iris/ci/deqp-iris-apl-fails.txt
new file mode 100644
index 00000000000..7b4687eb3ef
--- /dev/null
+++ b/src/gallium/drivers/iris/ci/deqp-iris-apl-fails.txt
@@ -0,0 +1,27 @@
+# These line rasterization failures are waived in the CTS
+dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide,Fail
+
+KHR-GL46.get_texture_sub_image.errors_test,Fail
+KHR-GL46.get_texture_sub_image.functional_test,Fail
+KHR-GL46.gl_spirv.spirv_glsl_to_spirv_builtin_functions_test,Fail
+KHR-GL46.shader_image_load_store.basic-api-bind,Fail
+KHR-GL46.transform_feedback.capture_vertex_interleaved_test,Fail
+KHR-GL46.transform_feedback.capture_vertex_separate_test,Fail
+KHR-GL46.transform_feedback.discard_vertex_test,Fail
+KHR-GL46.transform_feedback.draw_xfb_instanced_test,Crash
+KHR-GL46.transform_feedback.draw_xfb_stream_instanced_test,Crash
+KHR-GL46.transform_feedback.query_vertex_interleaved_test,Fail
+KHR-GL46.transform_feedback.query_vertex_separate_test,Fail
diff --git a/src/gallium/drivers/iris/ci/deqp-iris-apl-skips.txt b/src/gallium/drivers/iris/ci/deqp-iris-apl-skips.txt
new file mode 100644
index 00000000000..421d8571acf
--- /dev/null
+++ b/src/gallium/drivers/iris/ci/deqp-iris-apl-skips.txt
@@ -0,0 +1,13 @@
+# 60s timeout in CI
+dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20
+KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
+KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
+KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive
+KHR-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2
+KHR-GL46.copy_image.functional
+KHR-GL46.enhanced_layouts.uniform_block_member_align_non_power_of_2
+KHR-GL46.enhanced_layouts.uniform_block_member_invalid_offset_alignment
+KHR-GL46.enhanced_layouts.ssb_member_align_non_power_of_2
+KHR-GL46.texture_swizzle.functional
+KHR-GL46.texture_swizzle.smoke
+KHR-GL46.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
diff --git a/src/gallium/drivers/iris/ci/deqp-iris-glk-fails.txt b/src/gallium/drivers/iris/ci/deqp-iris-glk-fails.txt
new file mode 100644
index 00000000000..b0cfc82d2e4
--- /dev/null
+++ b/src/gallium/drivers/iris/ci/deqp-iris-glk-fails.txt
@@ -0,0 +1,15 @@
+# These line rasterization failures are waived in the CTS
+dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide,Fail
+dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide,Fail
+dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide,Fail
diff --git a/src/gallium/drivers/iris/ci/deqp-iris-glk-skips.txt b/src/gallium/drivers/iris/ci/deqp-iris-glk-skips.txt
new file mode 100644
index 00000000000..421d8571acf
--- /dev/null
+++ b/src/gallium/drivers/iris/ci/deqp-iris-glk-skips.txt
@@ -0,0 +1,13 @@
+# 60s timeout in CI
+dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20
+KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
+KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
+KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive
+KHR-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2
+KHR-GL46.copy_image.functional
+KHR-GL46.enhanced_layouts.uniform_block_member_align_non_power_of_2
+KHR-GL46.enhanced_layouts.uniform_block_member_invalid_offset_alignment
+KHR-GL46.enhanced_layouts.ssb_member_align_non_power_of_2
+KHR-GL46.texture_swizzle.functional
+KHR-GL46.texture_swizzle.smoke
+KHR-GL46.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
diff --git a/src/gallium/drivers/iris/ci/gitlab-ci.yml b/src/gallium/drivers/iris/ci/gitlab-ci.yml
index 62cd49f7591..3c1c24192f9 100644
--- a/src/gallium/drivers/iris/ci/gitlab-ci.yml
+++ b/src/gallium/drivers/iris/ci/gitlab-ci.yml
@@ -1,33 +1,164 @@
-.iris-traces:amd64:
+.iris-test:
   extends:
-    - .lava-piglit-traces:amd64
+    - .lava-test:amd64
     - .iris-rules
   variables:
-    ENV_VARS: "EGL_PLATFORM=surfaceless PIGLIT_PROFILES=replay PIGLIT_JUNIT_RESULTS=1"
     DTB: ""
     DRIVER_NAME: iris
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
+    FLAKES_CHANNEL: "#intel-ci"
   tags:
     - mesa-ci-aarch64-lava-collabora
 
-iris-apl-traces:amd64:
+.iris-apl-test:
   extends:
-    - .iris-traces:amd64
+    - .iris-test
   variables:
     DEVICE_TYPE: asus-C523NA-A20057-coral
-    GPU_VERSION: intel-apl
+    GPU_VERSION: iris-apl
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=APL"
 
-iris-glk-traces:amd64:
+.iris-glk-test:
   extends:
-    - .iris-traces:amd64
+    - .iris-test
   variables:
     DEVICE_TYPE: hp-x360-12b-n4000-octopus
-    GPU_VERSION: intel-glk
+    GPU_VERSION: iris-glk
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=GLK"
 
-iris-amly-traces:amd64:
+.iris-amly-test:
   extends:
-    - .iris-traces:amd64
+    - .iris-test
   variables:
     DEVICE_TYPE: asus-C433TA-AJ0005-rammus
+    GPU_VERSION: iris-amly
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=AML"
+
+iris-apl-gles2:
+  extends:
+    - .iris-apl-test
+  variables:
+    DEQP_VERSION: gles2
+
+iris-apl-gles3:
+  extends:
+    - .iris-apl-test
+  variables:
+    DEQP_VERSION: gles3
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=APL DEQP_FRACTION=4"
+
+iris-apl-gles31:
+  extends:
+    - .iris-apl-test
+  variables:
+    DEQP_VERSION: gles31
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=APL DEQP_FRACTION=6"
+
+# this appears to silently kill the board sometimes.  Leave it as a manual job for debugging.
+iris-apl-gl:
+  extends:
+    - .iris-apl-test
+    - .test-manual-mr
+  variables:
+    DEQP_VERSION: gl46
+
+iris-apl-egl:
+  extends:
+    - .iris-apl-test
+  variables:
+    DEQP_VERSION: egl
+
+iris-glk-gles2:
+  extends:
+    - .iris-glk-test
+  variables:
+    DEQP_VERSION: gles2
+
+iris-glk-gles3:
+  extends:
+    - .iris-glk-test
+  variables:
+    DEQP_VERSION: gles3
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=GLK DEQP_FRACTION=8"
+
+iris-glk-gles31:
+  extends:
+    - .iris-glk-test
+  variables:
+    DEQP_VERSION: gles31
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=GLK DEQP_FRACTION=8"
+
+# this appears to be just unusably slow, timed out at an hour.  Needs debugging,
+# so leave it as a manual job.
+iris-glk-gl:
+  extends:
+    - .iris-glk-test
+    - .test-manual-mr
+  variables:
+    DEQP_VERSION: gl46
+
+iris-glk-egl:
+  extends:
+    - .iris-glk-test
+  variables:
+    DEQP_VERSION: egl
+
+iris-amly-gles2:
+  extends:
+    - .iris-amly-test
+  variables:
+    DEQP_VERSION: gles2
+
+iris-amly-gles3:
+  extends:
+    - .iris-amly-test
+  variables:
+    DEQP_VERSION: gles3
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=AML DEQP_FRACTION=2"
+
+iris-amly-gles31:
+  extends:
+    - .iris-amly-test
+  variables:
+    DEQP_VERSION: gles31
+    ENV_VARS: "DEQP_EXPECTED_RENDERER=AML DEQP_FRACTION=2"
+
+iris-amly-gl:
+  extends:
+    - .iris-amly-test
+  variables:
+    DEQP_VERSION: gl46
+
+iris-amly-egl:
+  extends:
+    - .iris-amly-test
+  variables:
+    DEQP_VERSION: egl
+
+.iris-traces:
+  extends:
+    - .lava-traces-base
+  variables:
+    ENV_VARS: "EGL_PLATFORM=surfaceless PIGLIT_PROFILES=replay PIGLIT_JUNIT_RESULTS=1"
+
+iris-apl-traces:
+  variables:
+    GPU_VERSION: intel-apl
+  extends:
+    - .iris-apl-test
+    - .iris-traces
+
+iris-glk-traces:
+  variables:
+    GPU_VERSION: intel-glk
+  extends:
+    - .iris-glk-test
+    - .iris-traces
+
+iris-amly-traces:
+  variables:
     GPU_VERSION: intel-amly
+  extends:
+    - .iris-amly-test
+    - .iris-traces



More information about the mesa-commit mailing list