diff --git a/src/freedreno/ci/deqp-freedreno-a750-vk.toml b/src/freedreno/ci/deqp-freedreno-a750-vk.toml new file mode 100644 index 00000000000..83684f14096 --- /dev/null +++ b/src/freedreno/ci/deqp-freedreno-a750-vk.toml @@ -0,0 +1,82 @@ +# Basic test set +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-main.txt"] +skips = ["install/freedreno-a750-premerge-skips.txt"] +renderer_check = "Turnip Adreno .* 750" +tests_per_group = 10000 + +# force-gmem testing +# Autotuner forces sysmem on most CTS tests +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-main.txt"] +skips = ["install/freedreno-a750-premerge-skips.txt"] +prefix = "gmem-" +fraction = 20 +tests_per_group = 1000 +[deqp.env] +TU_DEBUG = "gmem,forcebin" + +# force-gmem with unaligned gmem store testing +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-main.txt"] +skips = ["install/freedreno-a750-premerge-skips.txt"] +include = ["dEQP-VK.renderpass.*"] +prefix = "gmem-unaligned-" +fraction = 10 +tests_per_group = 1000 +[deqp.env] +TU_DEBUG = "gmem,unaligned_store" + +# force-sysmem testing +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-main.txt"] +skips = ["install/freedreno-a750-premerge-skips.txt"] +include = ["dEQP-VK.renderpass.*"] +prefix = "bypass-" +fraction = 10 +tests_per_group = 1000 +[deqp.env] +TU_DEBUG = "sysmem" + +# force-spilling testing +# NOTE: Disabled due to crashing the board so hard it goes into Sahara mode +# [[deqp]] +# deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +# caselists = ["/deqp/mustpass/vk-main.txt"] +# skips = ["install/freedreno-a750-premerge-skips.txt"] +# include = ["dEQP-VK.graphicsfuzz.*"] +# prefix = "spill-" +# fraction = 10 +# tests_per_group = 1000 +# [deqp.env] +# IR3_SHADER_DEBUG = "spillall" + +# dynamic rendering testing using emulated renderpass +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-main.txt"] +skips = ["install/freedreno-a750-premerge-skips.txt"] +include = ["dEQP-VK.renderpass2.*"] +prefix = "dynamic-" +tests_per_group = 10000 +[deqp.env] +TU_DEBUG = "dynamic" + +# testing for stale regs usage +# NOTE: Disabled due to constant gpu hangs +# [[deqp]] +# deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +# caselists = ["/deqp/mustpass/vk-main.txt"] +# skips = ["install/freedreno-a750-premerge-skips.txt"] +# prefix = "stale-regs-" +# fraction = 100 +# tests_per_group = 1000 +# [deqp.env] +# TU_DEBUG = "gmem,forcebin" +# TU_DEBUG_STALE_REGS_RANGE = "0x0c00,0xbe01" +# TU_DEBUG_STALE_REGS_FLAGS = "cmdbuf,renderpass" +# FREEDRENO_HANGCHECK_MS = "2000" diff --git a/src/freedreno/ci/freedreno-a750-fails.txt b/src/freedreno/ci/freedreno-a750-fails.txt new file mode 100644 index 00000000000..7cc0733acc3 --- /dev/null +++ b/src/freedreno/ci/freedreno-a750-fails.txt @@ -0,0 +1,23 @@ +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail +dEQP-VK.api.version_check.unavailable_entry_points,Fail +dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil,Fail +dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp32.input_args.rounding_rte_conv_from_int32_up,Fail +dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp32.input_args.rounding_rte_conv_from_uint32_up,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rte_conv_from_int32_up_frag,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rte_conv_from_int32_up_vert,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rte_conv_from_uint32_up_frag,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rte_conv_from_uint32_up_vert,Fail + +gmem-dEQP-VK.clipping.user_defined.clip_cull_distance_dynamic_index.vert_geom.6_2,Fail +gmem-dEQP-VK.clipping.user_defined.clip_cull_distance_dynamic_index.vert_geom.6_2_fragmentshader_read,Fail +gmem-dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.scissor.dynamic_scissor_out_of_order_updates,Fail +gmem-dEQP-VK.glsl.builtin.function.integer.bitfieldextract.ivec4_highp_geometry,Fail +gmem-dEQP-VK.glsl.builtin.function.integer.usubborrow.uvec4_mediump_geometry,Fail +gmem-dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.relaxedprecision,Fail +gmem-dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rte_conv_from_int32_up_vert,Fail +gmem-dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rte_convrom_int32_up_vert,Fail + +dynamic-dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint.compatibility_depth_zero_stencil_zero_testing_stencil,Fail +dynamic-dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_stencil,Fail +dynamic-dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint.compatibility_depth_zero_stencil_zero_testing_stencil,Fail +dynamic-dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_stencil,Fail diff --git a/src/freedreno/ci/freedreno-a750-flakes.txt b/src/freedreno/ci/freedreno-a750-flakes.txt new file mode 100644 index 00000000000..43bea24a094 --- /dev/null +++ b/src/freedreno/ci/freedreno-a750-flakes.txt @@ -0,0 +1,197 @@ +dEQP-VK.api.copy_and_blit.copy_commands2.blit_image.all_formats.generate_mipmaps.from_base_level.layercount_6.r16g16_unorm.general_general_cubic +dEQP-VK.api.copy_and_blit.copy_commands2.blit_image.all_formats.generate_mipmaps.from_base_level.layercount_6.r8g8_snorm.general_optimal_linear +dEQP-VK.api.copy_and_blit.copy_commands2.blit_image.all_formats.generate_mipmaps.from_previous_level.layercount_1.r8g8b8a8_srgb.optimal_general_cubic +dEQP-VK.api.copy_and_blit.copy_commands2.blit_image.all_formats.generate_mipmaps.from_previous_level.layercount_6.r8_srgb.optimal_general_linear +dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.astc_5x5_srgb_block.r8g8b8a8_srgb.general_general_linear +dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.bc6h_sfloat_block.a2b10g10r10_unorm_pack32.general_optimal_linear +dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.eac_r11_snorm_block.a2b10g10r10_unorm_pack32.general_optimal_linear +dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.r5g6b5_unorm_pack16.a8b8g8r8_unorm_pack32.optimal_general_nearest +dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.r8_snorm.r4g4b4a4_unorm_pack16.linear_general_nearest +dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.from_base_level.layercount_1.r8_unorm.optimal_optimal_linear +dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.from_base_level.layercount_6.r16_snorm.general_optimal_linear +dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.1d_to_1d.a1r5g5b5_unorm_pack16.a1r5g5b5_unorm_pack16.optimal_general +dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d_to_1d.r8g8b8a8_sint.b8g8r8a8_srgb.optimal_optimal +dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d_to_2d.bc7_srgb_block.bc6h_ufloat_block.general_optimal +dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d_to_3d.r16g16b16a16_snorm.bc1_rgb_srgb_block.optimal_optimal +dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.from_base_level.layercount_1.r16g16_snorm.optimal_general_cubic +dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.2d_to_1d.bc4_unorm_block.r16g16b16a16_unorm.optimal_optimal + +dEQP-VK.api.external.semaphore.sync_fd.export_multiple_times_temporary + +dEQP-VK.api.image_clearing.core.clear_color_image.2d.linear.multiple_layers.a8b8g8r8_unorm_pack32_200x180 +dEQP-VK.api.image_clearing.core.clear_color_image.2d.optimal.remaining_array_layers.r16g16b16a16_uint + +dEQP-VK.binding_model.descriptorset_random.sets4.unifindexed.ubolimitlow.sbolimitlow.sampledimglow.outimgtexlow.iublimitlow.uab.vert.noia.0 +dEQP-VK.binding_model.mutable_descriptor.multiple_arrays.constant_size.aliasing.update_write.no_source.no_source.pool_expand_types.update_after_bind.index_constant.comp +dEQP-VK.binding_model.mutable_descriptor.multiple_arrays_mixed.constant_size.noaliasing.update_copy.mutable_source.host_only_source.pool_same_types.update_after_bind.index_constant.comp +dEQP-VK.binding_model.mutable_descriptor.multiple_arrays_mixed.constant_size.noaliasing.update_copy.nonmutable_source.normal_source.pool_no_types.pre_update.index_push_constant.comp +dEQP-VK.binding_model.shader_access.primary_cmd_buf.bind.with_template.uniform_buffer_dynamic.geometry.descriptor_array.offset_view_nonzero_dynamic_zero +dEQP-VK.binding_model.shader_access.secondary_cmd_buf.bind.combined_image_sampler_immutable.geometry.multiple_descriptor_sets.descriptor_array.2d_array_base_mip +dEQP-VK.binding_model.shader_access.secondary_cmd_buf.bind.storage_buffer.vertex_fragment.multiple_discontiguous_descriptor_sets.multiple_arbitrary_descriptors.offset_view_zero +dEQP-VK.binding_model.shader_access.secondary_cmd_buf.bind.uniform_texel_buffer.tess_eval.multiple_discontiguous_descriptors.offset_nonzero +dEQP-VK.binding_model.shader_access.secondary_cmd_buf.bind.with_template.sampler_mutable.tess_eval.multiple_descriptor_sets.single_descriptor.2d_array_base_mip +dEQP-VK.binding_model.shader_access.secondary_cmd_buf.bind.with_template.storage_image.vertex_fragment.multiple_descriptor_sets.multiple_contiguous_descriptors.cube_array_base_mip + +dEQP-VK.descriptor_indexing.sampler_in_loop + +dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview +dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.vertex_attribute_divisor.ext.dynamic_pipeline.draw_indexed_indirect.non_zero.2 +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_khr_attrib_divisor_0_multiview +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.instanced.draw_indirect_vk_primitive_topology_triangle_strip_khr_attrib_divisor_20 +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.instanced.dynamic_state_draw_indexed_indirect_vk_primitive_topology_line_list_khr_attrib_divisor_2_multiview_maintenance_5 +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.instanced.dynamic_state_draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview_maintenance_5 +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.instanced.dynamic_state_draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_0_multiview +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.instanced.dynamic_state_draw_indirect_vk_primitive_topology_triangle_list_khr_attrib_divisor_1 +dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.vertex_attribute_divisor.khr.static_pipeline.draw_multi_ext.non_zero.2 +dEQP-VK.draw.renderpass.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_khr_attrib_divisor_20_multiview +dEQP-VK.draw.renderpass.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_20 +dEQP-VK.draw.renderpass.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_khr_attrib_divisor_2_multiview_maintenance_5 +dEQP-VK.draw.renderpass.instanced.draw_indirect_vk_primitive_topology_triangle_list_khr_attrib_divisor_4 +dEQP-VK.draw.renderpass.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview +dEQP-VK.draw.renderpass.instanced.dynamic_state_draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview_maintenance_5 +dEQP-VK.draw.renderpass.instanced.dynamic_state_draw_indexed_vk_primitive_topology_triangle_list_khr_attrib_divisor_2_maintenance_5 +dEQP-VK.draw.renderpass.multiple_interpolation.structured.no_sample_decoration.2_samples + +dEQP-VK.dynamic_rendering.primary_cmd_buff.random.* + +dEQP-VK.glsl.conversions.vector_to_vector.ivec4_to_ivec2_vertex +dEQP-VK.glsl.matrix.mul.uniform.mediump_mat4x3_mat4_vertex +dEQP-VK.glsl.matrix.unary_addition.mediump_mat3x2_float_fragment +dEQP-VK.glsl.operator.binary_operator.bitwise_or.mediump_uvec3_uint_vertex +dEQP-VK.glsl.swizzles.vector_swizzles.mediump_ivec3_rbr_fragment +dEQP-VK.glsl.texture_functions.query.texturequerylevels.sampler2d_fixed_fragment +dEQP-VK.glsl.texture_gather.offset.min_required_offset.2d_array.rgba8ui.size_npot.repeat_mirrored_repeat + +dEQP-VK.image.format_reinterpret.cube.r8g8b8a8_uint_a2b10g10r10_unorm_pack32 +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_draw_texture +dEQP-VK.image.texel_view_compatible.compute.extended.2d_image.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm + +dEQP-VK.memory.pipeline_barrier.all.1048576_vertex_buffer_stride_2 +dEQP-VK.memory.pipeline_barrier.host_write_vertex_buffer.65536_vertex_buffer_stride_2 +dEQP-VK.memory.pipeline_barrier.transfer_src_transfer_dst.1048576 +dEQP-VK.memory_model.transitive.noncoherent.fence_atomic.payload_local.buffer.guard_local.buffer.transvis + +dEQP-VK.pipeline.fast_linked_library.depth.format.d24_unorm_s8_uint.compare_ops.line_list_less_greater_equal_equal_depth_bounds_test +dEQP-VK.pipeline.fast_linked_library.stencil.format.d32_sfloat_s8_uint_separate_layouts.states.fail_zero.pass_wrap.dfail_inv.comp_less_or_equal +dEQP-VK.pipeline.fast_linked_library.stencil.format.s8_uint.states.fail_wrap.pass_incc.dfail_inv.comp_not_equal +dEQP-VK.pipeline.fast_linked_library.stencil.nocolor.format.d24_unorm_s8_uint.states.fail_decc.pass_inv.dfail_decc.comp_greater +dEQP-VK.pipeline.fast_linked_library.stencil.nocolor.format.d32_sfloat_s8_uint.states.fail_decc.pass_keep.dfail_decc.comp_not_equal +dEQP-VK.pipeline.monolithic.blend.dual_source.format.r16g16b16a16_unorm.states.color_1mcc_da_sub_alpha_s1a_z_sub-color_sas_da_max_alpha_z_1mcc_add-color_sas_da_rsub_alpha_sc_1ms1c_min-color_da_1mdc_sub_alpha_1ms1c_1msa_max +dEQP-VK.pipeline.monolithic.depth.format.d32_sfloat_s8_uint_separate_layouts.compare_ops.triangle_list_greater_or_equal_never_greater_never +dEQP-VK.pipeline.monolithic.image.suballocation.sampling_type.combined.view_type.2d.format.r32g32b32a32_sint.count_1.size.23x8 +dEQP-VK.pipeline.monolithic.image.suballocation.sampling_type.separate.view_type.3d.format.r8_uint.count_8.size.17x11x5 +dEQP-VK.pipeline.monolithic.sampler.border_swizzle.b8g8r8a8_sint.rg0a.custom.gather_2.with_swizzle_hint +dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r16_uint.rgia.custom.no_gather.no_swizzle_hint +dEQP-VK.pipeline.monolithic.sampler.view_type.3d.format.r32_uint.address_modes.all_mode_clamp_to_border_custom_1011 +dEQP-VK.pipeline.monolithic.stencil.format.s8_uint.states.fail_incc.pass_incc.dfail_decw.comp_always +dEQP-VK.pipeline.monolithic.stencil.format.s8_uint.states.fail_keep.pass_zero.dfail_decw.comp_less_or_equal +dEQP-VK.pipeline.monolithic.stencil.nocolor.format.d24_unorm_s8_uint.states.fail_wrap.pass_wrap.dfail_decw.comp_never +dEQP-VK.pipeline.pipeline_library.blend.dual_source.format.r16g16_sfloat.states.color_dc_1msa_sub_alpha_1mca_da_rsub-color_z_cc_add_alpha_sa_dc_add-color_s1a_1ms1a_rsub_alpha_1mca_s1c_min-color_1mdc_z_min_alpha_sc_1mcc_rsub +dEQP-VK.pipeline.pipeline_library.depth.nocolor.format.d32_sfloat_s8_uint.compare_ops.line_list_never_less_greater_or_equal_less_or_equal +dEQP-VK.pipeline.pipeline_library.stencil.format.d24_unorm_s8_uint.states.fail_incc.pass_zero.dfail_repl.comp_always +dEQP-VK.pipeline.pipeline_library.stencil.nocolor.format.s8_uint.states.fail_zero.pass_decc.dfail_decc.comp_never + +dEQP-VK.query_pool.occlusion_query.get_results_size_32_stride_12_with_availability_dstoffset + +dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.r8g8b8a8_snorm.samples_4_resolve_level_2 + +dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.nonvolatile.storage_buffer.readonly.no_fmt_qual.len_12.samples_1.1d.comp + +dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_1.log_tesse + +dEQP-VK.ssbo.readonly.layout.single_basic_type.scalar.row_major_mediump_mat2_comp_access_store_cols + +dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_nonconst_uvec2vertex +dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_nonconst_uvec4tess_eval +dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffledown_bvec4_constant_tess_eval + +dEQP-VK.synchronization.cross_instance.dedicated.write_blit_image_read_image_fragment.image_128x128_r8_unorm_binary_semaphore_fence_fd +dEQP-VK.synchronization.cross_instance.dedicated.write_draw_read_copy_image.image_128x128_r32g32b32a32_sfloat_binary_semaphore_dma_buf +dEQP-VK.synchronization.cross_instance.suballocated.write_copy_buffer_read_ubo_texel_fragment.buffer_16384_binary_semaphore_fence_fd +dEQP-VK.synchronization.cross_instance.suballocated.write_update_buffer_read_ssbo_tess_control.buffer_16384_binary_semaphore_fence_fd +dEQP-VK.synchronization.cross_instance.suballocated.write_update_buffer_read_ubo_texel_compute.buffer_16384_binary_semaphore_fd +dEQP-VK.synchronization.op.single_queue.binary_semaphore.write_copy_buffer_to_image_read_image_compute_indirect.image_128_r32_uint +dEQP-VK.synchronization.op.single_queue.binary_semaphore.write_image_fragment_read_image_vertex.image_128x128_r32g32b32a32_sfloat +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_copy_buffer_to_image_read_copy_image_to_buffer.image_128x128_r16g16b16a16_uint_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_copy_image_to_buffer_read_ssbo_tess_control.buffer_16384_opaque_fd +dEQP-VK.synchronization.signal_order.shared_binary_semaphore.write_ssbo_tess_control_read_ubo_compute.buffer_16384_opaque_fd +dEQP-VK.synchronization.timeline_semaphore.device_host.write_copy_image_read_copy_image_to_buffer.image_128x128_r16g16b16a16_uint +dEQP-VK.synchronization.timeline_semaphore.device_host.write_copy_image_read_image_compute_indirect.image_128x128_r32g32b32a32_sfloat +dEQP-VK.synchronization.timeline_semaphore.device_host.write_image_compute_read_image_geometry.image_128x128_r8g8b8a8_unorm +dEQP-VK.synchronization.timeline_semaphore.wait_before_signal.write_blit_image_read_image_fragment.image_128x128_r8_unorm +dEQP-VK.synchronization.timeline_semaphore.wait_before_signal.write_image_vertex_read_image_tess_eval.image_64x64x8_r32_sfloat +dEQP-VK.synchronization2.cross_instance.dedicated.write_copy_image_read_copy_image_to_buffer.image_128x128_s8_uint_binary_semaphore_fd +dEQP-VK.synchronization2.cross_instance.dedicated.write_image_geometry_read_image_tess_control.image_128x128_r8_unorm_binary_semaphore_fence_fd +dEQP-VK.synchronization2.op.single_queue.barrier.write_image_compute_read_image_tess_control.image_128_r32_uint +dEQP-VK.synchronization2.op.single_queue.event.write_draw_indexed_indirect_read_image_geometry.image_128x128_r8g8b8a8_unorm +dEQP-VK.synchronization2.op.single_queue.timeline_semaphore.write_clear_attachments_read_image_compute_indirect.image_128x128_r8g8b8a8_unorm_specialized_access_flag +dEQP-VK.synchronization2.op.single_queue.timeline_semaphore.write_draw_indexed_indirect_read_image_vertex.image_128x128_r16_uint_specialized_access_flag +dEQP-VK.synchronization2.op.single_queue.timeline_semaphore.write_image_compute_read_image_fragment.image_128x128_r16g16b16a16_uint_specialized_access_flag +dEQP-VK.synchronization2.op.single_queue.timeline_semaphore.write_ssbo_tess_control_read_vertex_input.buffer_16384 +dEQP-VK.synchronization2.timeline_semaphore.device_host.write_blit_image_read_image_compute.image_64x64x8_r32_sfloat +dEQP-VK.synchronization2.timeline_semaphore.device_host.write_copy_buffer_to_image_read_image_geometry.image_128x128_r8g8b8a8_unorm +dEQP-VK.synchronization2.timeline_semaphore.device_host.write_image_compute_indirect_read_image_compute_indirect.image_64x64x8_r32_sfloat +dEQP-VK.synchronization2.timeline_semaphore.device_host.write_image_geometry_read_image_compute_indirect.image_64x64x8_r32_sfloat +dEQP-VK.synchronization2.timeline_semaphore.device_host.write_image_tess_eval_read_image_geometry.image_128x128_r16_uint +dEQP-VK.synchronization2.timeline_semaphore.wait_before_signal.write_image_tess_control_read_image_tess_control.image_128x128_r16g16b16a16_uint +dEQP-VK.synchronization2.timeline_semaphore.wait_before_signal.write_ssbo_vertex_read_copy_buffer_to_image.buffer_16384 + +dEQP-VK.tessellation.primitive_discard.isolines_fractional_odd_spacing_ccw + +dEQP-VK.texture.shadow.cube.nearest_mipmap_linear.always_x8_d24_unorm_pack32 +dEQP-VK.texture.shadow.cube_array.nearest_mipmap_nearest.non_seamless_less_or_equal_d32_sfloat_s8_uint + +dEQP-VK.ubo.2_level_array.scalar.column_major_mat3.fragment +dEQP-VK.ubo.3_level_array.std430.mat4x2.both_comp_access + + +gmem-dEQP-VK.api.image_clearing.dedicated_allocation.clear_color_image.2d.linear.remaining_array_layers.r16g16_unorm_33x128 + +gmem-dEQP-VK.binding_model.descriptor_buffer.embedded_imm_samplers.graphics_geom_buffers1_samplers4 +gmem-dEQP-VK.binding_model.descriptor_buffer.embedded_imm_samplers.graphics_geom_buffers3_samplers1 +gmem-dEQP-VK.binding_model.descriptor_buffer.mutable_descriptor.graphics_geom_type_mask48 +gmem-dEQP-VK.binding_model.descriptor_buffer.push_template.* +gmem-dEQP-VK.binding_model.shader_access.primary_cmd_buf.* +gmem-dEQP-VK.binding_model.shader_access.secondary_cmd_buf.* + +gmem-dEQP-VK.clipping.user_defined.clip_cull_distance.vert_geom.8_fragmentshader_read +gmem-dEQP-VK.clipping.user_defined.clip_cull_distance_dynamic_index.vert_geom.6_2 + +gmem-dEQP-VK.draw.dynamic_rendering.*.multi_draw.* +gmem-dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.scissor.dynamic_scissor_out_of_order_updates +gmem-dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.scissor.dynamic_scissor_updates_between_draws +gmem-dEQP-VK.draw.renderpass.multi_draw.* + +gmem-dEQP-VK.fragment_operations.scissor.multi_viewport.* + +gmem-dEQP-VK.geometry.basic.primitive_id +gmem-dEQP-VK.geometry.input.basic_primitive.lines_adjacency +gmem-dEQP-VK.geometry.input.conversion.triangles_to_points + +gmem-dEQP-VK.glsl.builtin.function.* +gmem-dEQP-VK.glsl.opaque_type_indexing.atomic_counter.const_literal_geometry + +gmem-dEQP-VK.pipeline.(monolithic|pipeline_library|fast_linked_library).*.vertex_stage_geometry_stage_fragment_stage.* +gmem-dEQP-VK.pipeline.(monolithic|pipeline_library|fast_linked_library).extended_dynamic_state.* +gmem-dEQP-VK.pipeline.(monolithic|pipeline_library|fast_linked_library).interface_matching.* +gmem-dEQP-VK.pipeline.monolithic.input_assembly.primitive_restart.index_type_uint16.restart_disabled_line_strip_with_adjacency +gmem-dEQP-VK.pipeline.monolithic.input_assembly.primitive_restart.index_type_uint8.restart_disabled_line_list_with_adjacency +gmem-dEQP-VK.pipeline.pipeline_library.max_varyings.test_geometry_io_between_geometry_fragment + +gmem-dEQP-VK.rasterization.primitive_size.default_size.polygon_as_points.vert_geom_static_polygon_mode + +gmem-dEQP-VK.shader_object.misc.state.pipeline.vert_geom_frag.* + +gmem-dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.relaxedprecision +gmem-dEQP-VK.spirv_assembly.instruction.graphics.float32.comparison_3.frexpstruct_geom + +gmem-dEQP-VK.subgroups.arithmetic.framebuffer.* +gmem-dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast.* +gmem-dEQP-VK.subgroups.ballot_other.framebuffer.subgroupballotexclusivebitcount_geometry +gmem-dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_geometry +gmem-dEQP-VK.subgroups.shuffle.framebuffer.subgroups.* +gmem-dEQP-VK.subgroups.vote.framebuffer.subgroupallequal.* + +gmem-dEQP-VK.ycbcr.format.* diff --git a/src/freedreno/ci/freedreno-a750-premerge-skips.txt b/src/freedreno/ci/freedreno-a750-premerge-skips.txt new file mode 100644 index 00000000000..bf93a1408a5 --- /dev/null +++ b/src/freedreno/ci/freedreno-a750-premerge-skips.txt @@ -0,0 +1,6 @@ +# Note: skips lists for CI are just a list of lines that, when +# non-zero-length and not starting with '#', will regex match to +# delete lines from the test list. Be careful. + +# These tests seem to be hanging the gpu, so let's disable them for now +dEQP-VK.transform_feedback.primitives_generated_query.* diff --git a/src/freedreno/ci/gitlab-ci-inc.yml b/src/freedreno/ci/gitlab-ci-inc.yml index 99de33c8a81..1f77f06a816 100644 --- a/src/freedreno/ci/gitlab-ci-inc.yml +++ b/src/freedreno/ci/gitlab-ci-inc.yml @@ -153,6 +153,18 @@ - !reference [.collabora-freedreno-manual-rules, rules] - !reference [.collabora-turnip-manual-rules, rules] +.valve-freedreno-turnip-manual-rules: + stage: freedreno + retry: !reference [.scheduled_pipeline-rules, retry] + rules: + - !reference [.test, rules] + - !reference [.valve-farm-manual-rules, rules] + - !reference [.freedreno-common-manual-rules, rules] + - !reference [.vulkan-manual-rules, rules] + - changes: + *freedreno_vulkan_file_list + when: manual + .google-freedreno-rules-restricted: stage: freedreno rules: @@ -350,3 +362,29 @@ .a630-full: tags: - google-freedreno-cheza-long + +# CI-tron + +.b2c-freedreno-vk-test: + stage: freedreno + extends: + - .b2c-arm64-test-vk + variables: + VK_DRIVER: freedreno + +.a750-mupuf: + variables: + FDO_CI_CONCURRENT: 8 + RUNNER_FARM_LOCATION: mupuf + B2C_KERNEL_URL: 'https://fs.mupuf.org/hdk8650/linux-6.8-hdk8650.gz' + B2C_INITRAMFS_URL: 'https://fs.mupuf.org/hdk8650/initramfs.linux_arm64.cpio.xz' + B2C_DTB_URL: 'https://fs.mupuf.org/hdk8650/sm8650-hdk.dtb' + B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + B2C_SESSION_REBOOT_REGEX: 'Sahara Open\r?$' + B2C_TIMEOUT_BOOT_RETRIES: 1 + B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_SECONDS: 30 + B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES: 3 + GPU_VERSION: freedreno-a750 + tags: + - farm:$RUNNER_FARM_LOCATION + - dt_gpu:codename:a750 diff --git a/src/freedreno/ci/gitlab-ci.yml b/src/freedreno/ci/gitlab-ci.yml index bab8e343cee..9eace5ced24 100644 --- a/src/freedreno/ci/gitlab-ci.yml +++ b/src/freedreno/ci/gitlab-ci.yml @@ -336,3 +336,16 @@ a630-traces-performance: EGL_PLATFORM: surfaceless GIT_STRATEGY: none HWCI_FREQ_MAX: "true" + +a750_vk: + extends: + - .b2c-freedreno-vk-test + - .a750-mupuf + - .valve-freedreno-turnip-manual-rules + timeout: 45m # base runtime 36min total, 34min of testing + variables: + B2C_TIMEOUT_BOOT_MINUTES: 38 + B2C_TIMEOUT_OVERALL_MINUTES: 42 + DEQP_SUITE: freedreno-a750-vk + HWCI_TEST_SCRIPT: ./install/deqp-runner.sh + B2C_JOB_SUCCESS_REGEX: '^\+ DEQP_EXITCODE=0\r$'