Mesa (master): ci: Add a fractional deqp run of softpipe with asan enabled.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 25 19:20:56 UTC 2021


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

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 14 09:56:52 2021 -0800

ci: Add a fractional deqp run of softpipe with asan enabled.

This should help us avoid landing memory leaks (and some buffer overflows)
throughout the GL stack.  I put the asan lib in x86_test-base because
we'll want asan for lavapipe, too.

This requires keeping debug symbols for the asan drivers in the artifacts,
as otherwise you can't do much with the backtraces it produces.

Closes: #3726
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530>

---

 .gitlab-ci.yml                          |  18 ++++-
 .gitlab-ci/container/x86_test-base.sh   |   1 +
 .gitlab-ci/deqp-runner.sh               |   7 ++
 .gitlab-ci/deqp-softpipe-asan-fails.txt | 135 ++++++++++++++++++++++++++++++++
 .gitlab-ci/prepare-artifacts.sh         |   4 +-
 5 files changed, 161 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f094b3b244c..43cb49a53d2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -346,7 +346,7 @@ android_build:
 x86_test-base:
   extends: x86_build-base
   variables:
-    MESA_IMAGE_TAG: &x86_test-base "2020-12-17-install-ci-fairy"
+    MESA_IMAGE_TAG: &x86_test-base "2020-01-14-asan"
 
 .use-x86_test-base:
   extends:
@@ -362,13 +362,13 @@ x86_test-base:
 x86_test-gl:
   extends: .use-x86_test-base
   variables:
-    MESA_IMAGE_TAG: &x86_test-gl "2020-01-13-piglit"
+    MESA_IMAGE_TAG: &x86_test-gl "2020-01-14-asan"
 
 # Debian 10 based x86 test image for VK
 x86_test-vk:
   extends: .use-x86_test-base
   variables:
-    MESA_IMAGE_TAG: &x86_test-vk "2020-01-13-piglit"
+    MESA_IMAGE_TAG: &x86_test-vk "2020-01-14-asan"
 
 # Debian 10 based ARM build image
 arm_build:
@@ -607,6 +607,7 @@ meson-testing-asan:
     EXTRA_OPTION: >
       -D b_sanitize=address
     UPLOAD_FOR_LAVA: ""
+    ARTIFACTS_DEBUG_SYMBOLS: 1
 
 meson-clover-testing:
   extends:
@@ -1235,6 +1236,17 @@ softpipe-gles31:
     DEQP_VER: gles31
   extends: softpipe-gles2
 
+softpipe-asan-gles31:
+  variables:
+    GPU_VERSION: softpipe-asan
+    DEQP_FRACTION: 10
+    DEQP_VER: gles31
+    TEST_LD_PRELOAD: libasan.so.5
+  extends: softpipe-gles2
+  needs:
+    - x86_test-gl
+    - meson-testing-asan
+
 softpipe-piglit-quick:
   extends:
     - .piglit-test
diff --git a/.gitlab-ci/container/x86_test-base.sh b/.gitlab-ci/container/x86_test-base.sh
index fd4cb7eca4c..c60e0cd8664 100644
--- a/.gitlab-ci/container/x86_test-base.sh
+++ b/.gitlab-ci/container/x86_test-base.sh
@@ -32,6 +32,7 @@ apt-get dist-upgrade -y
 apt-get install -y --no-remove \
       git \
       git-lfs \
+      libasan5 \
       libexpat1 \
       libllvm10 \
       libllvm9 \
diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh
index b6515abc0b3..090ff4df3a1 100755
--- a/.gitlab-ci/deqp-runner.sh
+++ b/.gitlab-ci/deqp-runner.sh
@@ -189,13 +189,17 @@ check_renderer() {
     # debug.
     # export EGL_LOG_LEVEL=debug
     VERSION=`echo $DEQP_VER | tr '[a-z]' '[A-Z]'`
+    export LD_PRELOAD=$TEST_LD_PRELOAD
     $DEQP $DEQP_OPTIONS --deqp-case=$SUITE-$VERSION.info.\* --deqp-log-filename=$RESULTS/deqp-info.qpa
+    export LD_PRELOAD=
     parse_renderer
 }
 
 check_vk_device_name() {
     echo "Capturing device info for VK driver sanity checks"
+    export LD_PRELOAD=$TEST_LD_PRELOAD
     $DEQP $DEQP_OPTIONS --deqp-case=dEQP-VK.info.device --deqp-log-filename=$RESULTS/deqp-info.qpa
+    export LD_PRELOAD=
     DEVICENAME=`grep deviceName $RESULTS/deqp-info.qpa | sed 's|deviceName: ||g'`
     echo "deviceName: $DEVICENAME"
     if [ -n "$DEQP_EXPECTED_RENDERER" -a "x$DEVICENAME" != "x$DEQP_EXPECTED_RENDERER" ]; then
@@ -241,9 +245,12 @@ fi
 RESULTS_CSV=$RESULTS/results.csv
 FAILURES_CSV=$RESULTS/failures.csv
 
+export LD_PRELOAD=$TEST_LD_PRELOAD
+
 run_cts $DEQP /tmp/case-list.txt $RESULTS_CSV
 DEQP_EXITCODE=$?
 
+export LD_PRELOAD=
 quiet report_load
 
 # Remove all but the first 50 individual XML files uploaded as artifacts, to
diff --git a/.gitlab-ci/deqp-softpipe-asan-fails.txt b/.gitlab-ci/deqp-softpipe-asan-fails.txt
new file mode 100644
index 00000000000..854921c897c
--- /dev/null
+++ b/.gitlab-ci/deqp-softpipe-asan-fails.txt
@@ -0,0 +1,135 @@
+dEQP-GLES31.functional.compute.shared_var.basic_type.int_mediump,Missing
+dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_rgba_astc_12x10_khr.texture3d_to_cubemap,Missing
+dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr.texture2d_array_to_cubemap,Missing
+dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.srgb8_punchthrough_alpha1_etc2_rgb8_punchthrough_alpha1_etc2.texture2d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr.texture2d_to_cubemap,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac.texture2d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr.cubemap_to_cubemap,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr.texture2d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x12_khr.texture2d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr.texture2d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i.texture2d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f.texture2d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui.cubemap_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f.texture2d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i.cubemap_to_texture3d,Missing
+dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac.texture2d_array_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i.texture3d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm.texture3d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8.texture2d_to_texture2d_array,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui.texture2d_array_to_texture3d,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2.texture2d_array_to_renderbuffer,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i.texture2d_array_to_renderbuffer,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f.texture2d_array_to_cubemap,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5.renderbuffer_to_texture2d_array,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16ui.cubemap_to_texture2d_array,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i.texture3d_to_texture2d,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f.cubemap_to_texture3d,Missing
+dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32f.cubemap_to_texture3d,Missing
+dEQP-GLES31.functional.debug.negative_coverage.get_error.advanced_blend.blend_qualifier_mismatch,Missing
+dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.read_pixels_fbo_format_mismatch,Fail
+dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.vertex_attrib_format,Missing
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_insert_invalid_base_type,Missing
+dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.0,Fail
+dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.10,Fail
+dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.0,Fail
+dEQP-GLES31.functional.fbo.no_attachments.multisample.samples2,Fail
+dEQP-GLES31.functional.geometry_shading.emit.triangle_strip_emit_1_end_2,Crash
+dEQP-GLES31.functional.image_load_store.buffer.atomic.max_r32ui_result,Missing
+dEQP-GLES31.functional.image_load_store.cube.store.r32i_single_layer,Missing
+dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil_fbo,Fail
+dEQP-GLES31.functional.layout_binding.image.image3d.vertex_binding_multiple,Missing
+dEQP-GLES31.functional.layout_binding.negative.image.image3d.vertex_binding_neg_array,Missing
+dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major.var,Missing
+dEQP-GLES31.functional.program_interface_query.program_input.referenced_by.referenced_by_vertex_tess_geo_fragment,Missing
+dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.named_block.struct.float,Missing
+dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array.uvec3,Missing
+dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.named_block.var_struct,Missing
+dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_vertex.default_block_struct_member,Missing
+dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.whole_array.vec3,Missing
+dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates.ivec3_struct,Missing
+dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type.iimage_3d,Missing
+dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.row_major.var,Missing
+dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.block_array.float_array,Missing
+dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array.var_array,Missing
+dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types.int,Missing
+dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct.float_vec4_fragment,Missing
+dEQP-GLES31.functional.program_uniform.by_pointer.render.basic.mat2x3_row_major_both,Missing
+dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays.int_ivec4_both,Missing
+dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct.uint_uvec4_both,Missing
+dEQP-GLES31.functional.separate_shader.api.active_program_uniform,Missing
+dEQP-GLES31.functional.shaders.arrays_of_arrays.es31.parameter.out.float_3x3_fragment,Missing
+dEQP-GLES31.functional.shaders.arrays_of_arrays.es32.assignment.explicit_to_implicit.vec3_1x3_fragment,Missing
+dEQP-GLES31.functional.shaders.arrays_of_arrays.es32.constructor.implicit.ivec3_3x2x1_fragment,Missing
+dEQP-GLES31.functional.shaders.builtin_functions.common.abs.ivec3_mediump_tess_eval,Missing
+dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven.float_lowp_tess_eval,Missing
+dEQP-GLES31.functional.shaders.builtin_functions.common.round.float_lowp_geometry,Missing
+dEQP-GLES31.functional.shaders.builtin_functions.common.trunc.vec3_mediump_geometry,Missing
+dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended.ivec3_highp_vertex,Missing
+dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack.packunorm2x16_mediump_geometry,Missing
+dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.lowp_compute.scalar,Missing
+dEQP-GLES31.functional.shaders.framebuffer_fetch.framebuffer_format.r8ui,Missing
+dEQP-GLES31.functional.shaders.implicit_conversions.es31.array_subscripts.subscript_before_input.ivec3_to_vec3_vertex,Missing
+dEQP-GLES31.functional.shaders.implicit_conversions.es31.array_subscripts.subscript_before_input.uint_to_vec4_vertex,Missing
+dEQP-GLES31.functional.shaders.implicit_conversions.es31.comparisons.literal_before_input.greater_or_equal.int_to_float_vertex,Missing
+dEQP-GLES31.functional.shaders.implicit_conversions.es31.invalid.structs.ivec2_to_uvec2_vertex,Missing
+dEQP-GLES31.functional.shaders.implicit_conversions.es31.parenthesized_expressions.paren_expr_before_literal.input_outside_parens.int_to_float_vertex,Missing
+dEQP-GLES31.functional.shaders.implicit_conversions.es32.arithmetic.input_before_literal.mul.uint_to_vec4_vertex,Missing
+dEQP-GLES31.functional.shaders.implicit_conversions.es32.invalid.variables.vec4_to_uvec2_vertex,Missing
+dEQP-GLES31.functional.shaders.linkage.es32.tessellation_geometry.varying.types.uint,Missing
+dEQP-GLES31.functional.shaders.linkage.es32.tessellation.varying.types.uvec2,Missing
+dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.uniform_geometry,Missing
+dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.tessellation_control.isampler2d,Missing
+dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute.isampler2darray,Missing
+dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.dynamically_uniform_geometry,Crash
+dEQP-GLES31.functional.ssbo.layout.2_level_array.packed.row_major_mat4x2,Missing
+dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed.uvec3,Missing
+dEQP-GLES31.functional.ssbo.layout.random.nested_structs.22,Missing
+dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared.row_major_mat3x4,Missing
+dEQP-GLES31.functional.state_query.integer.debug_logged_messages_getboolean,Missing
+dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getinteger64,Fail
+dEQP-GLES31.functional.state_query.integer.max_patch_vertices_getinteger64,Missing
+dEQP-GLES31.functional.state_query.integer.max_vertex_shader_storage_blocks_getinteger64,Missing
+dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_integer,Fail
+dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_pure_uint,Fail
+dEQP-GLES31.functional.texture.border_clamp.formats.srgb8.nearest_size_pot,Missing
+dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.float_color.gather.s_mirrored_repeat_t_clamp_to_border_pot,Missing
+dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_mirror_repeat,Fail
+dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_clamp_repeat,Fail
+dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest_mipmap_nearest,Fail
+dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb5_a1_nearest,Fail
+dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba16f_nearest_mipmap_nearest,Fail
+dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_nearest_mipmap_linear,Fail
+dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_nearest_mipmap_linear,Fail
+dEQP-GLES31.functional.texture.filtering.cube_array.sizes.63x63x18_nearest_mipmap_nearest,Fail
+dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.mirrored_repeat_clamp_to_edge,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level.level_2,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level.level_2,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level.level_1,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.clamp_to_edge_repeat,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.blue_alpha_zero_one,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.blue_alpha_zero_one,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level.level_1,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.repeat_mirrored_repeat,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level.level_1,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.mirrored_repeat_clamp_to_edge,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.green_blue_alpha_zero,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.green_blue_alpha_zero,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.clamp_to_edge_repeat,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.clamp_to_edge_repeat,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
+dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
+dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle.red_green_blue_alpha,Missing
+dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat,Missing
+dEQP-GLES31.functional.texture.multisample.samples_1.sample_position,Missing
+dEQP-GLES31.functional.texture.multisample.samples_8.sample_mask_and_sample_coverage_and_alpha_to_coverage,Missing
+dEQP-GLES31.functional.texture.specification.texstorage3d.format.rgb10_a2ui_cube_array,Missing
+dEQP-GLES31.functional.ubo.2_level_array.std140.column_major_mat3_vertex,Missing
+dEQP-GLES31.functional.ubo.3_level_array.packed.mat4_fragment,Missing
+dEQP-GLES31.functional.ubo.3_level_array.shared.row_major_mat4x2_vertex,Missing
+dEQP-GLES31.functional.uniform_location.min_max.ivec3_fragment_max,Missing
+dEQP-GLES31.functional.uniform_location.struct.case_9,Missing
diff --git a/.gitlab-ci/prepare-artifacts.sh b/.gitlab-ci/prepare-artifacts.sh
index d03bd286ee9..edbfa599f53 100755
--- a/.gitlab-ci/prepare-artifacts.sh
+++ b/.gitlab-ci/prepare-artifacts.sh
@@ -18,7 +18,9 @@ if [ -n "$CROSS" ]; then
 else
     STRIP="strip"
 fi
-find install -name \*.so -exec $STRIP {} \;
+if [ -z "$ARTIFACTS_DEBUG_SYMBOLS"]; then
+    find install -name \*.so -exec $STRIP {} \;
+fi
 
 # Test runs don't pull down the git tree, so put the dEQP helper
 # script and associated bits there.



More information about the mesa-commit mailing list