diff options
author | Eric Anholt <eric@anholt.net> | 2021-03-01 13:03:48 -0800 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-05-20 03:18:27 +0000 |
commit | aa4f132d514babfa72c1a3dade157fc1429707d8 (patch) | |
tree | beb17401c2b807f47ae5a8042458011dbf3497d3 | |
parent | d9e64cb2d72d4c8624b596ea6db4042456890daa (diff) | |
download | mesa-aa4f132d514babfa72c1a3dade157fc1429707d8.tar.gz |
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@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10438>
-rw-r--r-- | .gitlab-ci/lava-gitlab-ci.yml | 2 | ||||
-rw-r--r-- | .gitlab-ci/lava.yml.jinja2 | 2 | ||||
-rw-r--r-- | .gitlab-ci/test-source-dep.yml | 15 | ||||
-rw-r--r-- | src/gallium/drivers/iris/ci/deqp-iris-amly-fails.txt | 42 | ||||
-rw-r--r-- | src/gallium/drivers/iris/ci/deqp-iris-amly-skips.txt | 6 | ||||
-rw-r--r-- | src/gallium/drivers/iris/ci/deqp-iris-apl-fails.txt | 27 | ||||
-rw-r--r-- | src/gallium/drivers/iris/ci/deqp-iris-apl-skips.txt | 13 | ||||
-rw-r--r-- | src/gallium/drivers/iris/ci/deqp-iris-glk-fails.txt | 15 | ||||
-rw-r--r-- | src/gallium/drivers/iris/ci/deqp-iris-glk-skips.txt | 13 | ||||
-rw-r--r-- | 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 |