From 9e11cce5178c48856a5ea846ee4ee9435d040980 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 May 2020 12:57:25 -0700 Subject: [PATCH] ci: Enable pre-merge fractional vulkan CTS runs on the turnip driver. Test 1/50th of the CTS on a630 pre-merge, since we've got hardware that can do it and infrastructure that should handle instability with a less-mature driver. Reviewed-by: Christian Gmeiner Part-of: --- .gitlab-ci.yml | 26 +++++++++ .gitlab-ci/bare-metal/rootfs-setup.sh | 2 + .../deqp-freedreno-a630-bypass-fails.txt | 56 +++++++++++++++++++ .gitlab-ci/deqp-freedreno-a630-fails.txt | 46 +++++++++++++++ 4 files changed, 130 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2f6c1f11504..7120dd87e03 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -931,6 +931,32 @@ arm64_a630_gmem: FD_MESA_DEBUG: nobypass NIR_VALIDATE: 1 +arm64_a630_vk: + extends: arm64_a630_gles2 + variables: + DEQP_VER: vk + CI_NODE_INDEX: 1 + CI_NODE_TOTAL: 50 + VK_DRIVER: freedreno + # Force binning in the main run, which makes sure we render at + # least 2 bins. This is the path that impacts the most different + # features. However, we end up with flaky results in + # dEQP-VK.binding_model.*.geometry and dEQP-VK.glsl.*_vertex. + TU_DEBUG: forcebin + +# Do a separate sysmem pass over the testcases that really affect sysmem +# rendering. This is currently very flaky, leave it as an option for devs +# to click play on in their branches. +arm64_a630_vk_sysmem: + extends: + - arm64_a630_vk + variables: + CI_NODE_INDEX: 1 + CI_NODE_TOTAL: 10 + DEQP_CASELIST_FILTER: "dEQP-VK.renderpass.*" + DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt + TU_DEBUG: sysmem + .baremetal-test: extends: - .ci-run-policy diff --git a/.gitlab-ci/bare-metal/rootfs-setup.sh b/.gitlab-ci/bare-metal/rootfs-setup.sh index f8c9fa42ba0..1187971a190 100644 --- a/.gitlab-ci/bare-metal/rootfs-setup.sh +++ b/.gitlab-ci/bare-metal/rootfs-setup.sh @@ -34,6 +34,8 @@ for var in \ FLAKES_CHANNEL \ IR3_SHADER_DEBUG \ NIR_VALIDATE \ + TU_DEBUG \ + VK_DRIVER \ ; do val=`echo ${!var} | sed 's|"||g'` echo "export $var=\"${val}\"" >> $rootfs_dst/set-job-env-vars.sh diff --git a/.gitlab-ci/deqp-freedreno-a630-bypass-fails.txt b/.gitlab-ci/deqp-freedreno-a630-bypass-fails.txt index 2cf4c3e5b60..633420b444d 100644 --- a/.gitlab-ci/deqp-freedreno-a630-bypass-fails.txt +++ b/.gitlab-ci/deqp-freedreno-a630-bypass-fails.txt @@ -1,3 +1,4 @@ + dEQP-GLES31.functional.blend_equation_advanced.barrier.colorburn dEQP-GLES31.functional.blend_equation_advanced.barrier.colordodge dEQP-GLES31.functional.blend_equation_advanced.barrier.darken @@ -94,3 +95,58 @@ 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 +dEQP-VK.renderpass2.dedicated_allocation.formats.d24_unorm_s8_uint.input.dont_care.store.self_dep_clear_draw +dEQP-VK.renderpass2.suballocation.formats.d24_unorm_s8_uint.input.dont_care.store.self_dep_clear_draw_stencil_read_only +dEQP-VK.renderpass2.suballocation.formats.d24_unorm_s8_uint.input.dont_care.store.self_dep_draw +dEQP-VK.renderpass2.suballocation.formats.d24_unorm_s8_uint.input.load.store.self_dep_clear_draw +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.a2r10g10b10_unorm_pack32.samples_2 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.a8b8g8r8_unorm_pack32.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r16g16b16a16_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r16_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r32g32_sfloat.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r32_sfloat.samples_2 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r8_sint.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r8_unorm.samples_2 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.a8b8g8r8_unorm_pack32.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.b8g8r8a8_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r16g16b16a16_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r16g16_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r16_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r32g32_sfloat.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r8g8b8a8_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r8_sint.samples_4 +dEQP-VK.renderpass2.suballocation.subpass_dependencies.separate_channels.r8g8b8a8_unorm +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.clear.dont_care.clear_draw_use_input_aspect +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.clear.dont_care.draw_stencil_read_only +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.clear.store.clear_draw_stencil_read_only +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.clear.store.draw +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.dont_care.dont_care.clear_draw_stencil_read_only +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.dont_care.dont_care.draw +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.dont_care.store.clear_draw +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.load.dont_care.draw_use_input_aspect_stencil_read_only +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.load.store.clear_draw_use_input_aspect_stencil_read_only +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.load.store.draw_use_input_aspect +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.clear.dont_care.clear_draw_stencil_read_only +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.clear.dont_care.draw +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.clear.store.clear_draw +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.dont_care.dont_care.clear_draw +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.dont_care.store.draw_use_input_aspect_stencil_read_only +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.load.dont_care.clear_draw_use_input_aspect_stencil_read_only +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.load.dont_care.draw_use_input_aspect +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.load.store.clear_draw_use_input_aspect +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.load.store.draw_stencil_read_only +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.b8g8r8a8_srgb.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r16g16_sfloat.samples_4 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r16g16_snorm.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r32g32_sint.samples_4 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r32_sint.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r5g6b5_unorm_pack16.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r8g8b8a8_snorm.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r8g8b8a8_srgb.samples_4 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.a8b8g8r8_srgb_pack32.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.r16g16b16a16_sfloat.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.r16g16_sfloat.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.r16_sfloat.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.r32g32_sint.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.r8g8b8a8_srgb.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.r8g8_sint.samples_2 diff --git a/.gitlab-ci/deqp-freedreno-a630-fails.txt b/.gitlab-ci/deqp-freedreno-a630-fails.txt index 61478eb1fef..58f1576b50f 100644 --- a/.gitlab-ci/deqp-freedreno-a630-fails.txt +++ b/.gitlab-ci/deqp-freedreno-a630-fails.txt @@ -2,3 +2,49 @@ dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_p dEQP-GLES2.functional.clip_control.depth_mode_zero_to_one dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_clear dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_draw +dEQP-VK.compute.indirect_dispatch.upload_buffer.multiple_groups +dEQP-VK.glsl.linkage.varying.struct.int +dEQP-VK.image.texel_view_compatible.graphic.extended.2d_image.texture_read.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.pipeline.render_to_image.core.2d_array.huge.height_layers.r8g8b8a8_unorm_d24_unorm_s8_uint +dEQP-VK.pipeline.render_to_image.core.cube_array.huge.width_height_layers.r8g8b8a8_unorm_d24_unorm_s8_uint +dEQP-VK.renderpass2.dedicated_allocation.formats.d24_unorm_s8_uint.input.dont_care.store.self_dep_clear_draw +dEQP-VK.renderpass2.suballocation.formats.d24_unorm_s8_uint.input.dont_care.store.self_dep_clear_draw_stencil_read_only +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r16g16b16a16_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r8_unorm.samples_2 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r16g16_unorm.samples_4 +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r8_sint.samples_4 +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.dont_care.dont_care.draw +dEQP-VK.renderpass.dedicated_allocation.formats.d24_unorm_s8_uint.input.load.dont_care.draw_use_input_aspect_stencil_read_only +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.clear.dont_care.draw +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.dont_care.dont_care.clear_draw +dEQP-VK.renderpass.suballocation.formats.d24_unorm_s8_uint.input.load.dont_care.clear_draw_use_input_aspect_stencil_read_only +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r16g16_snorm.samples_2 +dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r8g8b8a8_srgb.samples_4 +dEQP-VK.robustness.buffer_access.compute.scalar_copy.r32_sfloat.oob_storage_read.range_3_bytes +dEQP-VK.robustness.buffer_access.compute.vec4_copy.r32_uint.oob_storage_read.range_4_bytes +dEQP-VK.robustness.buffer_access.fragment.scalar_copy.out_of_alloc.oob_storage_read +dEQP-VK.robustness.buffer_access.fragment.vec4_copy.r32_sfloat.oob_uniform_read.range_4_bytes +dEQP-VK.robustness.buffer_access.vertex.texel_copy.r32g32b32a32_uint.oob_uniform_read.range_1_texel +dEQP-VK.robustness.buffer_access.vertex.vec4_copy.r32_sfloat.oob_storage_write.range_4_bytes +dEQP-VK.robustness.vertex_access.r32g32b32_sfloat.draw_indexed.triangle_out_of_bounds +dEQP-VK.robustness.vertex_access.r32_uint.draw_indexed.last_index_out_of_bounds +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_blit_image_read_blit_image.image_128_r32_uint_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_blit_image_read_image_compute_indirect.image_128x128_r8_unorm_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_copy_buffer_read_ssbo_fragment.buffer_262144_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_copy_buffer_to_image_read_image_tess_eval.image_128x128_r16_uint_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_copy_image_read_image_tess_control.image_64x64x8_r32_sfloat_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_copy_image_to_buffer_read_ssbo_geometry.buffer_16384_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_compute_indirect_read_image_tess_eval.image_128_r32_uint_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_compute_read_copy_image_to_buffer.image_128x128_r32g32b32a32_sfloat_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_compute_read_image_fragment.image_64x64x8_r32_sfloat_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_fragment_read_image_vertex.image_128x128_r16g16b16a16_uint_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_geometry_read_image_geometry.image_128x128_r8g8b8a8_unorm_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_tess_control_read_image_tess_eval.image_128_r32_uint_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_tess_eval_read_blit_image.image_128x128_r8_unorm_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_tess_eval_read_image_compute_indirect.image_128x128_r16_uint_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_vertex_read_copy_image_to_buffer.image_128x128_r32g32b32a32_sfloat_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_image_vertex_read_image_fragment.image_64x64x8_r32_sfloat_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_ssbo_compute_read_ubo_compute.buffer_16384_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_ssbo_geometry_read_ssbo_tess_control.buffer_16384_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_ssbo_tess_control_read_ssbo_geometry.buffer_16384_opaque_fd +dEQP-VK.transform_feedback.simple.draw_indirect_beginqueryindexed_streamid_0_244 -- 2.30.2