From dce3c6b4362f071db89f3871d7ce1ade6458de87 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Fri, 12 Jun 2020 13:23:44 +0200 Subject: [PATCH] ci/bare-metal: add etnaviv Add deqp gles2 CI run for GC2000. Signed-off-by: Christian Gmeiner Acked-by: Daniel Stone Reviewed-by: Emma Anholt Part-of: --- .gitlab-ci.yml | 2 + .gitlab-ci/common/generate-env.sh | 1 + .gitlab-ci/test-source-dep.yml | 20 +++ src/etnaviv/ci/deqp-etnaviv-gc2000-fails.txt | 153 ++++++++++++++++++ src/etnaviv/ci/deqp-etnaviv-gc2000-flakes.txt | 39 +++++ src/etnaviv/ci/gitlab-ci.yml | 36 +++++ 6 files changed, 251 insertions(+) create mode 100644 src/etnaviv/ci/deqp-etnaviv-gc2000-fails.txt create mode 100644 src/etnaviv/ci/deqp-etnaviv-gc2000-flakes.txt create mode 100644 src/etnaviv/ci/gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 96caf6ea65d..5059316e8c7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,6 +30,7 @@ include: - local: '.gitlab-ci/test-source-dep.yml' - local: 'src/amd/ci/gitlab-ci.yml' - local: 'src/broadcom/ci/gitlab-ci.yml' + - local: 'src/etnaviv/ci/gitlab-ci.yml' - local: 'src/freedreno/ci/gitlab-ci.yml' - local: 'src/gallium/drivers/i915/ci/gitlab-ci.yml' - local: 'src/gallium/drivers/iris/ci/gitlab-ci.yml' @@ -53,6 +54,7 @@ stages: - arm - broadcom - freedreno + - etnaviv - software-renderer - layered-backends - deploy diff --git a/.gitlab-ci/common/generate-env.sh b/.gitlab-ci/common/generate-env.sh index f31693154b1..9f1186b130a 100755 --- a/.gitlab-ci/common/generate-env.sh +++ b/.gitlab-ci/common/generate-env.sh @@ -36,6 +36,7 @@ for var in \ DEVICE_NAME \ DRIVER_NAME \ EGL_PLATFORM \ + ETNA_MESA_DEBUG \ FDO_CI_CONCURRENT \ FDO_UPSTREAM_REPO \ FD_MESA_DEBUG \ diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml index cb94c793084..373772fffb7 100644 --- a/.gitlab-ci/test-source-dep.yml +++ b/.gitlab-ci/test-source-dep.yml @@ -530,6 +530,26 @@ when: on_success - when: never +.etnaviv-rules: + stage: etnaviv + rules: + - *ignore_scheduled_pipelines + - changes: + *mesa_core_file_list + when: on_success + - changes: + *gallium_core_file_list + when: on_success + - changes: + - src/etnaviv/**/* + - src/gallium/drivers/etnaviv/**/* + - src/gallium/winsys/etnaviv/**/* + - src/gallium/auxiliary/renderonly/**/* + - src/gallium/winsys/kmsro/**/* + - src/gallium/winsys/etnaviv/**/* + when: on_success + - when: never + # Rules for unusual architectures that only build a subset of drivers .ppc64el-rules: rules: diff --git a/src/etnaviv/ci/deqp-etnaviv-gc2000-fails.txt b/src/etnaviv/ci/deqp-etnaviv-gc2000-fails.txt new file mode 100644 index 00000000000..a2ee2012c45 --- /dev/null +++ b/src/etnaviv/ci/deqp-etnaviv-gc2000-fails.txt @@ -0,0 +1,153 @@ +dEQP-GLES2.functional.buffer.write.use.index_array.array,Fail +dEQP-GLES2.functional.buffer.write.use.index_array.element_array,Fail +dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail +dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail +dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z,Fail +dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked,Fail +dEQP-GLES2.functional.depth_stencil_clear.depth_stencil,Fail +dEQP-GLES2.functional.draw.draw_elements.triangle_fan.single_attribute,Fail +dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16,Fail +dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgb5_a1_depth_component16,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgb5_a1_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgb5_a1,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgb565_depth_component16,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgb565_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgb565,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgba4_depth_component16,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgba4_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.resize.rbo_rgba4,Fail +dEQP-GLES2.functional.fbo.render.resize.tex2d_rgb_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.resize.tex2d_rgba_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb565_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgba4_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.stencil_clear.tex2d_rgb_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.stencil_clear.tex2d_rgba_stencil_index8,Fail +dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgb,Fail +dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba,Fail +dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgb,Fail +dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.0,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.1,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.10,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.11,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.12,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.13,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.14,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.15,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.16,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.17,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.18,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.19,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.2,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.20,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.21,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.22,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.23,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.24,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.3,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.4,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.5,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.6,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.7,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.8,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.random.9,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.both,Fail +dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.stencil,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.2,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.23,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.27,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.35,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.39,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.4,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.41,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.42,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.47,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.5,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.51,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.56,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.58,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.60,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.70,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.72,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.74,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.75,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.76,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.77,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.78,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.8,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.82,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.87,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.90,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.94,Fail +dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.99,Fail +dEQP-GLES2.functional.fragment_ops.random.0,Fail +dEQP-GLES2.functional.fragment_ops.random.1,Fail +dEQP-GLES2.functional.fragment_ops.random.11,Fail +dEQP-GLES2.functional.fragment_ops.random.14,Fail +dEQP-GLES2.functional.fragment_ops.random.17,Fail +dEQP-GLES2.functional.fragment_ops.random.20,Fail +dEQP-GLES2.functional.fragment_ops.random.24,Fail +dEQP-GLES2.functional.fragment_ops.random.25,Fail +dEQP-GLES2.functional.fragment_ops.random.27,Fail +dEQP-GLES2.functional.fragment_ops.random.3,Fail +dEQP-GLES2.functional.fragment_ops.random.30,Fail +dEQP-GLES2.functional.fragment_ops.random.31,Fail +dEQP-GLES2.functional.fragment_ops.random.34,Fail +dEQP-GLES2.functional.fragment_ops.random.36,Fail +dEQP-GLES2.functional.fragment_ops.random.37,Fail +dEQP-GLES2.functional.fragment_ops.random.4,Fail +dEQP-GLES2.functional.fragment_ops.random.40,Fail +dEQP-GLES2.functional.fragment_ops.random.45,Fail +dEQP-GLES2.functional.fragment_ops.random.49,Fail +dEQP-GLES2.functional.fragment_ops.random.5,Fail +dEQP-GLES2.functional.fragment_ops.random.50,Fail +dEQP-GLES2.functional.fragment_ops.random.52,Fail +dEQP-GLES2.functional.fragment_ops.random.54,Fail +dEQP-GLES2.functional.fragment_ops.random.56,Fail +dEQP-GLES2.functional.fragment_ops.random.60,Fail +dEQP-GLES2.functional.fragment_ops.random.61,Fail +dEQP-GLES2.functional.fragment_ops.random.69,Fail +dEQP-GLES2.functional.fragment_ops.random.7,Fail +dEQP-GLES2.functional.fragment_ops.random.74,Fail +dEQP-GLES2.functional.fragment_ops.random.77,Fail +dEQP-GLES2.functional.fragment_ops.random.78,Fail +dEQP-GLES2.functional.fragment_ops.random.80,Fail +dEQP-GLES2.functional.fragment_ops.random.85,Fail +dEQP-GLES2.functional.fragment_ops.random.86,Fail +dEQP-GLES2.functional.fragment_ops.random.9,Fail +dEQP-GLES2.functional.fragment_ops.random.90,Fail +dEQP-GLES2.functional.fragment_ops.random.96,Fail +dEQP-GLES2.functional.fragment_ops.random.97,Fail +dEQP-GLES2.functional.fragment_ops.random.98,Fail +dEQP-GLES2.functional.negative_api.shader.uniform_matrixfv_invalid_transpose,Fail +dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed,Fail +dEQP-GLES2.functional.rasterization.limits.points,Fail +dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_dynamic_read_fragment,Fail +dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_dynamic_read_vertex,Fail +dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_dynamic_read_fragment,Fail +dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_dynamic_read_vertex,Fail +dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_clamp,Fail +dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_mirror,Fail +dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_repeat,Fail +dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_clamp,Fail +dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_mirror,Fail +dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_repeat,Fail +dEQP-GLES2.functional.uniform_api.random.0,Fail diff --git a/src/etnaviv/ci/deqp-etnaviv-gc2000-flakes.txt b/src/etnaviv/ci/deqp-etnaviv-gc2000-flakes.txt new file mode 100644 index 00000000000..cf10982296f --- /dev/null +++ b/src/etnaviv/ci/deqp-etnaviv-gc2000-flakes.txt @@ -0,0 +1,39 @@ +dEQP-GLES2.functional.fbo.render.color_clear.tex2d_rgb +dEQP-GLES2.functional.fbo.render.color_clear.tex2d_rgba_stencil_index8 +dEQP-GLES2.functional.fbo.render.color.blend_npot_tex2d_rgba +dEQP-GLES2.functional.fbo.render.color.blend_npot_tex2d_rgba_depth_component16 +dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4 +dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16 +dEQP-GLES2.functional.fbo.render.depth.npot_rbo_rgb565_depth_component16 +dEQP-GLES2.functional.rasterization.culling.both_triangle_fan +dEQP-GLES2.functional.rasterization.culling.both_triangle_strip +dEQP-GLES2.functional.rasterization.culling.both_triangle_strip_reverse +dEQP-GLES2.functional.rasterization.culling.both_triangles +dEQP-GLES2.functional.rasterization.culling.both_triangles_reverse +dEQP-GLES2.functional.shaders.random.all_features.fragment.24 +dEQP-GLES2.functional.shaders.random.all_features.fragment.45 +dEQP-GLES2.functional.shaders.random.all_features.fragment.74 +dEQP-GLES2.functional.shaders.random.texture.fragment.26 +dEQP-GLES2.functional.shaders.random.texture.fragment.63 +dEQP-GLES2.functional.shaders.random.texture.fragment.84 +dEQP-GLES2.functional.shaders.random.texture.vertex.39 +dEQP-GLES2.functional.shaders.random.texture.vertex.4 +dEQP-GLES2.functional.texture.filtering.2d.nearest_nearest_clamp_rgba8888_npot +dEQP-GLES2.functional.texture.format.a8_2d_pot +dEQP-GLES2.functional.texture.format.etc1_cube_npot +dEQP-GLES2.functional.texture.format.l8_2d_pot +dEQP-GLES2.functional.texture.format.l8_cube_npot +dEQP-GLES2.functional.texture.format.la88_cube_pot +dEQP-GLES2.functional.texture.format.rgb888_2d_npot +dEQP-GLES2.functional.texture.format.rgba5551_2d_npot +dEQP-GLES2.functional.texture.format.rgba8888_cube_npot +dEQP-GLES2.functional.texture.format.rgba8888_cube_pot +dEQP-GLES2.functional.uniform_api.random.55 +dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.sampler2D_samplerCube_fragment +dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_fragment +dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_array.sampler2D_both +dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic_struct.sampler2D_samplerCube_fragment +dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.sampler2D_vertex +dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.basic.samplerCube_vertex +dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.sampler2D_samplerCube_fragment +dEQP-GLES2.functional.uniform_api.value.initial.render.basic.samplerCube_vertex diff --git a/src/etnaviv/ci/gitlab-ci.yml b/src/etnaviv/ci/gitlab-ci.yml new file mode 100644 index 00000000000..84a30903c27 --- /dev/null +++ b/src/etnaviv/ci/gitlab-ci.yml @@ -0,0 +1,36 @@ +.etnaviv-armhf-test: + extends: + - .baremetal-test + - .use-debian/arm_test + - .etnaviv-rules + script: + - ./install/bare-metal/fastboot.sh + variables: + BM_CMDLINE: "ip=dhcp console=ttymxc0,115200n8 root=/dev/nfs rw nfsrootdebug init=/init $BM_KERNELARGS" + BM_KERNEL: /baremetal-files/zImage + BM_ROOTFS: /rootfs-armhf + ETNA_MESA_DEBUG: nir + FLAKES_CHANNEL: "#etnaviv-ci" + MINIO_ARTIFACT_NAME: mesa-armhf + needs: + - debian/arm_test + - job: debian-arm64 + artifacts: false + +.etnaviv-armhf-gc2000: + extends: + - .etnaviv-armhf-test + variables: + BM_DTB: /baremetal-files/imx6q-cubox-i.dtb + DEQP_EXPECTED_RENDERER: GC2000 + GPU_VERSION: "etnaviv-gc2000" + tags: + - etnaviv-gc2000 + +gc2000_gles2: + extends: + - .etnaviv-armhf-gc2000 + - .test-manual-mr + variables: + HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" + DEQP_VER: gles2