From 3f553c6adb8b1cfe5872bf8eb6da28d7d24f2989 Mon Sep 17 00:00:00 2001 From: David Heidelberg Date: Wed, 5 Apr 2023 22:27:09 +0200 Subject: [PATCH] ci: add Adreno 660 on sm8350 chipset (HDK 888) Acked-by: Emma Anholt Reviewed-by: Daniel Stone Signed-off-by: David Heidelberg Part-of: --- src/freedreno/ci/deqp-freedreno-a660.toml | 160 +++++++++++++++++++++++++++++ src/freedreno/ci/freedreno-a660-fails.txt | 17 +++ src/freedreno/ci/freedreno-a660-flakes.txt | 3 + src/freedreno/ci/freedreno-a660-skips.txt | 7 ++ src/freedreno/ci/gitlab-ci.yml | 21 ++++ 5 files changed, 208 insertions(+) create mode 100644 src/freedreno/ci/deqp-freedreno-a660.toml create mode 100644 src/freedreno/ci/freedreno-a660-fails.txt create mode 100644 src/freedreno/ci/freedreno-a660-flakes.txt create mode 100644 src/freedreno/ci/freedreno-a660-skips.txt diff --git a/src/freedreno/ci/deqp-freedreno-a660.toml b/src/freedreno/ci/deqp-freedreno-a660.toml new file mode 100644 index 0000000..a62b973 --- /dev/null +++ b/src/freedreno/ci/deqp-freedreno-a660.toml @@ -0,0 +1,160 @@ +# Basic test set +[[deqp]] +deqp = "/deqp/modules/gles2/deqp-gles2" +caselists = ["/deqp/mustpass/gles2-master.txt"] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +version_check = "GL ES 3.2.*git" +renderer_check = "FD660" + +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-master.txt"] +skips = ["install/freedreno-a660-skips.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"] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +# Note that KHR-GL3* test sets include all tests from the previous +# version, so we only need to run one test list (unlike dEQP-GLES, +# where the test sets are separate). +[[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/mustpass/gl45-master.txt", +] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + + +# force-gmem testing +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-master.txt"] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +fraction = 5 +prefix = "gmem-" +[deqp.env] +FD_MESA_DEBUG = "gmem" + + +# force-bypass testing +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-master.txt"] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +fraction = 5 +prefix = "bypass-" +[deqp.env] +FD_MESA_DEBUG = "sysmem" + + +# noubo testing +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-master.txt"] +skips = ["install/freedreno-a660-skips.txt"] +include = ["functional.*ubo"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +prefix = "noubo-" +[deqp.env] +IR3_SHADER_DEBUG = "nouboopt" + + +# 565-nozs +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-565-no-depth-no-stencil.txt"] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgb565d0s0ms0", +] +prefix = "565-nozs-" + +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-565-no-depth-no-stencil.txt"] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgb565d0s0ms0", +] +prefix = "565-nozs-" + +# multisample +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-multisample.txt"] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms4", +] +prefix = "multisample-" + +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-multisample.txt"] +skips = ["install/freedreno-a660-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms4", +] +prefix = "multisample-" + +# spilling testing +[[deqp]] +deqp = "/deqp/modules/gles2/deqp-gles2" +caselists = ["/deqp/mustpass/gles2-master.txt"] +skips = ["install/freedreno-a660-skips.txt"] +include = ["functional.shaders"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +prefix = "spill-" +[deqp.env] +IR3_SHADER_DEBUG = "spillall" diff --git a/src/freedreno/ci/freedreno-a660-fails.txt b/src/freedreno/ci/freedreno-a660-fails.txt new file mode 100644 index 0000000..853c357 --- /dev/null +++ b/src/freedreno/ci/freedreno-a660-fails.txt @@ -0,0 +1,17 @@ +# Shader compilation error log: 0:6(1): error: invalid stream specified 1 is larger than MAX_VERTEX_STREAMS - 1 +KHR-GL45.transform_feedback.draw_xfb_stream_instanced_test,Fail + +# Various limits we cannot or do not support: +KHR-GL45.limits.max_vertex_streams,Fail + +KHR-GL45.direct_state_access.renderbuffers_storage_multisample,Fail +KHR-GL45.gpu_shader_fp64.fp64.max_uniform_components,Fail +KHR-GL45.multi_bind.dispatch_bind_image_textures,Fail +KHR-GL45.polygon_offset_clamp.PolygonOffsetClampMinMax,Fail +KHR-GL45.polygon_offset_clamp.PolygonOffsetClampZeroInfinity,Fail +KHR-GL45.shader_image_load_store.basic-allTargets-store,Fail +KHR-GL45.shader_subroutine.control_flow_and_returned_subroutine_values_used_as_subroutine_input,Fail +KHR-GL45.tessellation_shader.single.max_patch_vertices,Fail + +# https://gitlab.freedesktop.org/mesa/mesa/-/issues/8886 +dEQP-GLES31.functional.synchronization.inter_invocation.image_atomic_read_write,Crash diff --git a/src/freedreno/ci/freedreno-a660-flakes.txt b/src/freedreno/ci/freedreno-a660-flakes.txt new file mode 100644 index 0000000..4c78848 --- /dev/null +++ b/src/freedreno/ci/freedreno-a660-flakes.txt @@ -0,0 +1,3 @@ +KHR-GL45.buffer_storage.map_persistent_dispatch +KHR-GL45.buffer_storage.map_persistent_flush +KHR-GL45.shader_subroutine.control_flow_and_returned_subroutine_values_used_as_subroutine_input diff --git a/src/freedreno/ci/freedreno-a660-skips.txt b/src/freedreno/ci/freedreno-a660-skips.txt new file mode 100644 index 0000000..3d30778 --- /dev/null +++ b/src/freedreno/ci/freedreno-a660-skips.txt @@ -0,0 +1,7 @@ +# 60s timeout +KHR-GL45.copy_image.functional +KHR-GL45.gpu_shader_fp64.fp64.varyings +KHR-GL45.texture_swizzle.smoke + +# 60s timeout (flake) +KHR-GL45.gpu_shader_fp64.builtin.inverse_dmat4 diff --git a/src/freedreno/ci/gitlab-ci.yml b/src/freedreno/ci/gitlab-ci.yml index 086819c..85bc646 100644 --- a/src/freedreno/ci/gitlab-ci.yml +++ b/src/freedreno/ci/gitlab-ci.yml @@ -260,6 +260,27 @@ a618-traces-performance: # a618 tag starts with cbg-1 (not cbg-0) for some reason LAVA_TAGS: "cbg-1" +.lava-sm8350-hdk: + variables: + BOOT_METHOD: fastboot + KERNEL_IMAGE_TYPE: "" + # Increase the hangcheck timer for our spilling tests which bump up against + # the .5s default. + FREEDRENO_HANGCHECK_MS: 2000 + DEVICE_TYPE: sm8350-hdk + DTB: sm8350-hdk + GPU_VERSION: freedreno-a660 + RUNNER_TAG: mesa-ci-x86-64-lava-sm8350-hdk + +a660_gl: + extends: + - .lava-test-deqp:arm64 + - .freedreno-rules + - .lava-sm8350-hdk + parallel: 2 + variables: + DEQP_SUITE: freedreno-a660 + .a630-test: extends: - .google-freedreno-test -- 2.7.4