From 453e9a24fd2ef13685a7f5131c1b72a278079ce9 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 12 Apr 2024 11:13:20 -0700 Subject: [PATCH] ci: Add deqp fix for pipeline_statistics_3 tests Signed-off-by: Rob Clark Part-of: --- .gitlab-ci/container/build-deqp.sh | 3 + ...-missing-inheritance-info-stat-flags.patch | 57 +++++++++++++++++++ .gitlab-ci/image-tags.yml | 4 +- src/freedreno/ci/freedreno-a618-fails.txt | 50 +--------------- src/freedreno/ci/freedreno-a630-fails.txt | 11 ---- 5 files changed, 63 insertions(+), 62 deletions(-) create mode 100644 .gitlab-ci/container/patches/build-deqp-vk-Add-missing-inheritance-info-stat-flags.patch diff --git a/.gitlab-ci/container/build-deqp.sh b/.gitlab-ci/container/build-deqp.sh index a04d50d661183..93521280db01c 100644 --- a/.gitlab-ci/container/build-deqp.sh +++ b/.gitlab-ci/container/build-deqp.sh @@ -57,6 +57,9 @@ vk_cts_patch_files=( build-deqp-vk_Fix-for-render_to_image-exceeding-maxResourceSize.patch # Fix for modifiers test 0001-Add-check-for-import-export-bits-for-vk-modifier-tes.patch + + # XFB fix + build-deqp-vk-Add-missing-inheritance-info-stat-flags.patch ) if [ "${DEQP_TARGET}" = 'android' ]; then diff --git a/.gitlab-ci/container/patches/build-deqp-vk-Add-missing-inheritance-info-stat-flags.patch b/.gitlab-ci/container/patches/build-deqp-vk-Add-missing-inheritance-info-stat-flags.patch new file mode 100644 index 0000000000000..49bb93f85a6fc --- /dev/null +++ b/.gitlab-ci/container/patches/build-deqp-vk-Add-missing-inheritance-info-stat-flags.patch @@ -0,0 +1,57 @@ +From d009fa3fe0387329216bf90741e077eec2690eb9 Mon Sep 17 00:00:00 2001 +From: Ricardo Garcia +Date: Thu, 9 Nov 2023 16:32:49 +0100 +Subject: [PATCH] Add missing inheritance info stat flags + +XFB PGQ pipeline_statistics_3 tests create a secondary command buffer +that's run inside a render pass with a pipeline stats query running, but +they do not set the pipelineStatistics inheritance flags, which violates +VUID-vkCmdExecuteCommands-commandBuffer-00104. + +Affects: +dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.* + +VK-GL-CTS issue: 4784 +Components: Vulkan + +Change-Id: I2ed8f3fdf17d895a70e20fceeb74fa334d5f6bf9 +--- + .../vktPrimitivesGeneratedQueryTests.cpp | 22 ++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +diff --git a/external/vulkancts/modules/vulkan/transform_feedback/vktPrimitivesGeneratedQueryTests.cpp b/external/vulkancts/modules/vulkan/transform_feedback/vktPrimitivesGeneratedQueryTests.cpp +index 3072ce1d131e..c9e468a164f2 100644 +--- a/external/vulkancts/modules/vulkan/transform_feedback/vktPrimitivesGeneratedQueryTests.cpp ++++ b/external/vulkancts/modules/vulkan/transform_feedback/vktPrimitivesGeneratedQueryTests.cpp +@@ -1620,7 +1620,27 @@ tcu::TestStatus ConcurrentPrimitivesGeneratedQueryTestInstance::iterate (void) + + if (m_parameters.concurrentTestType == CONCURRENT_TEST_TYPE_PIPELINE_STATISTICS_3) + { +- beginSecondaryCommandBuffer(vk, *secondaryCmdBuffer, *renderPass, *framebuffer); ++ const VkCommandBufferInheritanceInfo inheritanceInfo = ++ { ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO, // VkStructureType sType; ++ nullptr, // const void* pNext; ++ *renderPass, // VkRenderPass renderPass; ++ 0u, // deUint32 subpass; ++ *framebuffer, // VkFramebuffer framebuffer; ++ VK_FALSE, // VkBool32 occlusionQueryEnable; ++ queryControlFlags, // VkQueryControlFlags queryFlags; ++ psCreateInfo.pipelineStatistics, // VkQueryPipelineStatisticFlags pipelineStatistics; ++ }; ++ ++ const VkCommandBufferBeginInfo beginInfo = ++ { ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, // VkStructureType sType; ++ nullptr, // const void* pNext; ++ VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, // VkCommandBufferUsageFlags flags; ++ &inheritanceInfo, // const VkCommandBufferInheritanceInfo* pInheritanceInfo; ++ }; ++ ++ vk.beginCommandBuffer(*secondaryCmdBuffer, &beginInfo); + vk.cmdBeginQueryIndexedEXT(*secondaryCmdBuffer, *pgqPool, 0, queryControlFlags, m_parameters.pgqStreamIndex()); + vk.cmdBindPipeline(*secondaryCmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline); + vk.cmdBindVertexBuffers(*secondaryCmdBuffer, 0, 1, &vtxBuffer.get(), &vertexBufferOffset); +-- +2.44.0 + diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 3f2a58aa36f53..57980da450834 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -26,8 +26,8 @@ variables: DEBIAN_X86_64_TEST_ANDROID_TAG: "20240401-wlproto" DEBIAN_X86_64_TEST_GL_TAG: "20240411-piglit-dd6" - DEBIAN_X86_64_TEST_VK_TAG: "20240411-piglit-dd6" - KERNEL_ROOTFS_TAG: "20240411-piglit-dd6" + DEBIAN_X86_64_TEST_VK_TAG: "20240412-vkcts-xfb" + KERNEL_ROOTFS_TAG: "20240412-vkcts-xfb" ALPINE_X86_64_BUILD_TAG: "20240412-pycparser" ALPINE_X86_64_LAVA_SSH_TAG: "20240401-wlproto" diff --git a/src/freedreno/ci/freedreno-a618-fails.txt b/src/freedreno/ci/freedreno-a618-fails.txt index a14b86547e3d8..158c3728b3722 100644 --- a/src/freedreno/ci/freedreno-a618-fails.txt +++ b/src/freedreno/ci/freedreno-a618-fails.txt @@ -319,51 +319,9 @@ spec@arb_vertex_attrib_64bit@execution@unused-sub-dvec4-02,Crash # After switch from 6.3.1 to 6.3.13 gmem-dEQP-VK.binding_model.descriptor_buffer.basic.limits,Fail -# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4784 +# New CTS failures in 1.3.7.0 dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.line_list_with_adjacency.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_strip.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.line_strip_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_strip.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_strip.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.point_list.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_list_with_adjacency.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_list.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.line_list.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.line_strip.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_list_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.line_strip.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_strip.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.line_list_with_adjacency.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_list.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_list_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.line_strip_with_adjacency.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_fan.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_list_with_adjacency.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.triangle_fan.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.triangle_strip.draw,Fail dEQP-VK.binding_model.descriptorset_random.sets4.constant.ubolimitlow.sbolimitlow.sampledimglow.outimgtexlow.iublimitlow.uab.comp.noia.0,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.line_strip.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.triangle_list.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.triangle_strip_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_list_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_strip.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.point_list.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.point_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.triangle_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_strip_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.line_strip.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_strip_with_adjacency.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_strip_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.triangle_fan.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.point_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_strip_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_fan.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.line_list.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_list_with_adjacency.draw,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.point_list.indirect,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.triangle_fan.draw,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.triangle_strip_with_adjacency.draw,Fail @@ -374,7 +332,6 @@ gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_s gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.pgq_64bit_xfb_32bit.triangle_strip.draw,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.point_list.indirect,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_strip.indirect,Fail -gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_strip.draw,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.triangle_list.draw,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.line_strip.indirect,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.line_list.draw,Fail @@ -385,8 +342,3 @@ gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_s gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.triangle_strip_with_adjacency.indirect,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.line_list.indirect,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.line_strip.draw,Fail -nobin-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.line_list.indirect,Fail -nobin-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.line_strip.draw,Fail -nobin-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_strip.indirect,Fail -nobin-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_strip.draw,Fail - diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt index 2eb7351c8a6d8..f93aaf2aa0da7 100644 --- a/src/freedreno/ci/freedreno-a630-fails.txt +++ b/src/freedreno/ci/freedreno-a630-fails.txt @@ -328,15 +328,6 @@ dEQP-VK.info.device_mandatory_features,Fail # New CTS failures in 1.3.7.0 dEQP-VK.api.version_check.unavailable_entry_points,Fail dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.point_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_list_with_adjacency.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_strip_with_adjacency.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.line_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.point_list.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_32bit_xfb_64bit.triangle_strip.indirect,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.point_list.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.pgq_64bit_xfb_32bit.triangle_list_with_adjacency.indirect,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 gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.triangle_fan.draw,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.64bit.line_list_with_adjacency.indirect,Fail @@ -347,8 +338,6 @@ stale-regs-dEQP-VK.transform_feedback.primitives_generated_query.copy.queue_rese stale-regs-dEQP-VK.transform_feedback.primitives_generated_query.copy.queue_reset.pgq_32bit_xfb_64bit.geom.xfb.rast.point_list.pgq_default_xfb_default.two_draws.pqg_first.none_2_queries,Fail stale-regs-dEQP-VK.transform_feedback.primitives_generated_query.get.host_reset.pgq_32bit_xfb_64bit.tese.xfb.rast.patch_list.pgq_default_xfb_default.single_draw.xfbq_first.after_2_queries_with_availability,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.32bit.triangle_strip.draw,Fail -dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_3.64bit.line_strip.draw,Fail gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.pgq_32bit_xfb_64bit.triangle_strip_with_adjacency.draw,Fail stale-regs-dEQP-VK.transform_feedback.primitives_generated_query.copy.host_reset.pgq_32bit_xfb_64bit.geom.xfb.rast.line_list_with_adjacency.pgq_0_xfb_0.single_draw.xfbq_first.none,Fail stale-regs-dEQP-VK.transform_feedback.primitives_generated_query.copy.host_reset.pgq_64bit_xfb_32bit.geom.xfb.rast.line_list.pgq_default_xfb_default.two_draws.pqg_first.before,Fail