From 5082ac007d1758fdbe516649a1b28363ca32456c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 17 Apr 2020 12:02:37 -0700 Subject: [PATCH] ci/freedreno: Add a test run of a few driver options. This lets us get coverage of corner cases of the driver that are tricky to force a testcase to hit. We don't want to do a full run of the CTS with each option because that's a lot of runner time, so stack a bunch of fractional runs in one test job to amortize the test run setup overhead. Reviewed-by: Tomeu Vizoso Part-of: --- .gitlab-ci.yml | 16 ++++ .../deqp-freedreno-a630-bypass-fails.txt | 96 +++++++++++++++++++ .../deqp-freedreno-a630-noubo-fails.txt | 18 ++++ .gitlab-ci/deqp-runner.sh | 4 + 4 files changed, 134 insertions(+) create mode 100644 .gitlab-ci/deqp-freedreno-a630-bypass-fails.txt create mode 100644 .gitlab-ci/deqp-freedreno-a630-noubo-fails.txt diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b28cdb8fc61..409ed8ef609 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -794,6 +794,22 @@ arm64_a630_gles3: variables: DEQP_VER: gles3 +arm64_a630_gles31_options: + extends: arm64_a630_gles2 + variables: + DEQP_VER: gles31 + CI_NODE_INDEX: 1 + CI_NODE_TOTAL: 5 + script: + # We almost always manage to lower UBOs back to constant uploads in + # the test suite, so get a little testing for it here. + - DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_EXPECTED_FAILS=deqp-freedreno-a630-noubo-fails.txt DEQP_CASELIST_FILTER="functional.\*ubo" ./install/deqp-runner.sh + # The driver does some guessing as to whether to render using gmem + # or bypass, and some GLES3.1 features interact with either one. + # Do a little testing with gmem and bypass forced. + - DEQP_RUN_SUFFIX=-bypass FD_MESA_DEBUG=nogmem DEQP_EXPECTED_FAILS=deqp-freedreno-a630-bypass-fails.txt ./install/deqp-runner.sh + - DEQP_RUN_SUFFIX=-gmem FD_MESA_DEBUG=nobypass ./install/deqp-runner.sh + .baremetal-test: extends: - .ci-run-policy diff --git a/.gitlab-ci/deqp-freedreno-a630-bypass-fails.txt b/.gitlab-ci/deqp-freedreno-a630-bypass-fails.txt new file mode 100644 index 00000000000..2cf4c3e5b60 --- /dev/null +++ b/.gitlab-ci/deqp-freedreno-a630-bypass-fails.txt @@ -0,0 +1,96 @@ +dEQP-GLES31.functional.blend_equation_advanced.barrier.colorburn +dEQP-GLES31.functional.blend_equation_advanced.barrier.colordodge +dEQP-GLES31.functional.blend_equation_advanced.barrier.darken +dEQP-GLES31.functional.blend_equation_advanced.barrier.difference +dEQP-GLES31.functional.blend_equation_advanced.barrier.exclusion +dEQP-GLES31.functional.blend_equation_advanced.barrier.hardlight +dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_color +dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_hue +dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_luminosity +dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_saturation +dEQP-GLES31.functional.blend_equation_advanced.barrier.lighten +dEQP-GLES31.functional.blend_equation_advanced.barrier.multiply +dEQP-GLES31.functional.blend_equation_advanced.barrier.overlay +dEQP-GLES31.functional.blend_equation_advanced.barrier.screen +dEQP-GLES31.functional.blend_equation_advanced.barrier.softlight +dEQP-GLES31.functional.blend_equation_advanced.basic.colorburn +dEQP-GLES31.functional.blend_equation_advanced.basic.colordodge +dEQP-GLES31.functional.blend_equation_advanced.basic.darken +dEQP-GLES31.functional.blend_equation_advanced.basic.difference +dEQP-GLES31.functional.blend_equation_advanced.basic.exclusion +dEQP-GLES31.functional.blend_equation_advanced.basic.hardlight +dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_color +dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_hue +dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_luminosity +dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_saturation +dEQP-GLES31.functional.blend_equation_advanced.basic.lighten +dEQP-GLES31.functional.blend_equation_advanced.basic.multiply +dEQP-GLES31.functional.blend_equation_advanced.basic.overlay +dEQP-GLES31.functional.blend_equation_advanced.basic.screen +dEQP-GLES31.functional.blend_equation_advanced.basic.softlight +dEQP-GLES31.functional.blend_equation_advanced.msaa.colorburn +dEQP-GLES31.functional.blend_equation_advanced.msaa.colordodge +dEQP-GLES31.functional.blend_equation_advanced.msaa.darken +dEQP-GLES31.functional.blend_equation_advanced.msaa.difference +dEQP-GLES31.functional.blend_equation_advanced.msaa.exclusion +dEQP-GLES31.functional.blend_equation_advanced.msaa.hardlight +dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_color +dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_hue +dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_luminosity +dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_saturation +dEQP-GLES31.functional.blend_equation_advanced.msaa.lighten +dEQP-GLES31.functional.blend_equation_advanced.msaa.multiply +dEQP-GLES31.functional.blend_equation_advanced.msaa.overlay +dEQP-GLES31.functional.blend_equation_advanced.msaa.screen +dEQP-GLES31.functional.blend_equation_advanced.msaa.softlight +dEQP-GLES31.functional.blend_equation_advanced.srgb.colorburn +dEQP-GLES31.functional.blend_equation_advanced.srgb.colordodge +dEQP-GLES31.functional.blend_equation_advanced.srgb.darken +dEQP-GLES31.functional.blend_equation_advanced.srgb.difference +dEQP-GLES31.functional.blend_equation_advanced.srgb.exclusion +dEQP-GLES31.functional.blend_equation_advanced.srgb.hardlight +dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_color +dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_hue +dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_luminosity +dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_saturation +dEQP-GLES31.functional.blend_equation_advanced.srgb.lighten +dEQP-GLES31.functional.blend_equation_advanced.srgb.multiply +dEQP-GLES31.functional.blend_equation_advanced.srgb.overlay +dEQP-GLES31.functional.blend_equation_advanced.srgb.screen +dEQP-GLES31.functional.blend_equation_advanced.srgb.softlight +dEQP-GLES31.functional.compute.basic.shared_var_single_group +dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_advanced_blend_eq_buffer_advanced_blend_eq +dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_blend_eq_buffer_advanced_blend_eq +dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_separate_blend_eq_buffer_advanced_blend_eq +dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_advanced_blend_eq +dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_blend_eq +dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_separate_blend_eq +dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_separate_blend_eq_buffer_blend_eq +dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.11 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.15 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.17 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.18 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.2 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.3 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.6 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.7 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.19 +dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.3 +dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_depth_fbo +dEQP-GLES31.functional.ssbo.layout.3_level_array.std140.column_major_mat4x2 +dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430.mat3 +dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays.6 +dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer.shared_instance_array +dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_draw +dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_clear +dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_draw +dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set.quads_fractional_even_spacing +dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_cw +dEQP-GLES31.functional.texture.multisample.samples_1.use_texture_depth_2d +dEQP-GLES31.functional.texture.multisample.samples_1.use_texture_depth_2d_array +dEQP-GLES31.functional.texture.multisample.samples_2.use_texture_depth_2d +dEQP-GLES31.functional.texture.multisample.samples_2.use_texture_depth_2d_array +dEQP-GLES31.functional.texture.multisample.samples_3.use_texture_depth_2d +dEQP-GLES31.functional.texture.multisample.samples_3.use_texture_depth_2d_array +dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_depth_2d +dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_depth_2d_array diff --git a/.gitlab-ci/deqp-freedreno-a630-noubo-fails.txt b/.gitlab-ci/deqp-freedreno-a630-noubo-fails.txt new file mode 100644 index 00000000000..2b00497a6ca --- /dev/null +++ b/.gitlab-ci/deqp-freedreno-a630-noubo-fails.txt @@ -0,0 +1,18 @@ +dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_clear +dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_draw +dEQP-GLES31.functional.ubo.random.all_per_block_buffers.11 +dEQP-GLES31.functional.ubo.random.all_per_block_buffers.16 +dEQP-GLES31.functional.ubo.random.all_per_block_buffers.21 +dEQP-GLES31.functional.ubo.random.all_per_block_buffers.31 +dEQP-GLES31.functional.ubo.random.all_per_block_buffers.6 +dEQP-GLES31.functional.ubo.random.all_shared_buffer.12 +dEQP-GLES31.functional.ubo.random.all_shared_buffer.17 +dEQP-GLES31.functional.ubo.random.all_shared_buffer.2 +dEQP-GLES31.functional.ubo.random.all_shared_buffer.27 +dEQP-GLES31.functional.ubo.random.all_shared_buffer.37 +dEQP-GLES31.functional.ubo.random.all_shared_buffer.47 +dEQP-GLES31.functional.ubo.random.basic_type_arrays.1 +dEQP-GLES31.functional.ubo.random.basic_type_arrays.11 +dEQP-GLES31.functional.ubo.random.basic_type_arrays.16 +dEQP-GLES31.functional.ubo.random.basic_type_arrays.21 +dEQP-GLES31.functional.ubo.random.basic_type_arrays.6 diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh index 59cfd820214..d4de8f74baf 100755 --- a/.gitlab-ci/deqp-runner.sh +++ b/.gitlab-ci/deqp-runner.sh @@ -60,6 +60,10 @@ if [ -n "$CI_NODE_INDEX" ]; then sed -ni $CI_NODE_INDEX~$CI_NODE_TOTAL"p" /tmp/case-list.txt fi +if [ -n "$DEQP_CASELIST_FILTER" ]; then + sed -i "/$DEQP_CASELIST_FILTER/p" /tmp/case-list.txt +fi + if [ ! -s /tmp/case-list.txt ]; then echo "Caselist generation failed" exit 1