From 40f39482e15cb5aa14abef6661a4d785bb6cd4b1 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 15 Apr 2024 16:59:36 +0200 Subject: [PATCH] ci: uprev CTS to vulkan-cts-1.3.8.0 Signed-off-by: Samuel Pitoiset Part-of: --- .gitlab-ci/container/build-deqp.sh | 42 +- ...port-export-bits-for-vk-modifier-tes.patch | 28 - ...-missing-inheritance-info-stat-flags.patch | 57 - ...ort-checks-for-linear-derivate-tests.patch | 29 - ...r_to_image-exceeding-maxResourceSize.patch | 382 ----- ...rors-due-to-missing-virtual-destruct.patch | 1227 +++++++++++++++++ ...e-subgroups-helper-in-derivate-tests.patch | 56 - .gitlab-ci/deqp-runner.sh | 2 +- .gitlab-ci/image-tags.yml | 8 +- src/amd/ci/radv-navi10-aco-fails.txt | 3 + src/amd/ci/radv-navi10-aco-flakes.txt | 8 + src/amd/ci/radv-navi21-aco-fails.txt | 3 + src/amd/ci/radv-navi21-aco-flakes.txt | 5 + src/amd/ci/radv-navi31-aco-fails.txt | 105 +- src/amd/ci/radv-navi31-aco-flakes.txt | 4 + src/amd/ci/radv-polaris10-aco-fails.txt | 6 + src/amd/ci/radv-polaris10-aco-flakes.txt | 6 + src/amd/ci/radv-renoir-aco-fails.txt | 3 + src/amd/ci/radv-renoir-aco-flakes.txt | 8 + src/amd/ci/radv-stoney-aco-fails.txt | 3 + src/amd/ci/radv-stoney-aco-flakes.txt | 2 + src/amd/ci/radv-tahiti-aco-fails.txt | 3 + src/amd/ci/radv-vangogh-aco-fails.txt | 3 + src/amd/ci/radv-vangogh-aco-flakes.txt | 8 + src/amd/ci/radv-vega10-aco-fails.txt | 3 + src/amd/ci/radv-vega10-aco-flakes.txt | 5 + src/broadcom/ci/broadcom-rpi4-fails.txt | 3 + .../ci/deqp-freedreno-a618-vk-full.toml | 8 +- src/freedreno/ci/deqp-freedreno-a618-vk.toml | 6 +- .../ci/deqp-freedreno-a630-vk-asan.toml | 4 +- .../ci/deqp-freedreno-a630-vk-full.toml | 6 +- src/freedreno/ci/deqp-freedreno-a630-vk.toml | 14 +- .../ci/deqp-freedreno-a660-vk-full.toml | 8 +- src/freedreno/ci/deqp-freedreno-a660-vk.toml | 8 +- src/freedreno/ci/freedreno-a618-fails.txt | 11 + src/freedreno/ci/freedreno-a630-fails.txt | 4 + src/freedreno/ci/freedreno-a630-skips.txt | 2 + .../frontends/lavapipe/ci/deqp-lvp.toml | 4 +- .../frontends/lavapipe/ci/lvp-asan-fails.txt | 6 + src/intel/ci/deqp-anv-jsl-full.toml | 2 +- src/intel/ci/deqp-anv-jsl.toml | 2 +- src/intel/ci/deqp-anv-tgl-full.toml | 2 +- src/intel/ci/deqp-anv-tgl.toml | 8 +- src/intel/ci/deqp-hasvk-hsw.toml | 2 +- src/intel/ci/iris-jsl-skips.txt | 1 + src/panfrost/ci/deqp-panfrost-g52-vk.toml | 2 +- src/virtio/ci/deqp-venus.toml | 2 +- 47 files changed, 1389 insertions(+), 725 deletions(-) delete mode 100644 .gitlab-ci/container/patches/0001-Add-check-for-import-export-bits-for-vk-modifier-tes.patch delete mode 100644 .gitlab-ci/container/patches/build-deqp-vk-Add-missing-inheritance-info-stat-flags.patch delete mode 100644 .gitlab-ci/container/patches/build-deqp-vk_Add-missing-subgroup-support-checks-for-linear-derivate-tests.patch delete mode 100644 .gitlab-ci/container/patches/build-deqp-vk_Fix-for-render_to_image-exceeding-maxResourceSize.patch create mode 100644 .gitlab-ci/container/patches/build-deqp-vk_Fix-more-ASAN-errors-due-to-missing-virtual-destruct.patch delete mode 100644 .gitlab-ci/container/patches/build-deqp-vk_Use-subgroups-helper-in-derivate-tests.patch diff --git a/.gitlab-ci/container/build-deqp.sh b/.gitlab-ci/container/build-deqp.sh index 93521280db0..f6201e12ada 100644 --- a/.gitlab-ci/container/build-deqp.sh +++ b/.gitlab-ci/container/build-deqp.sh @@ -16,7 +16,7 @@ set -ex -o pipefail # - the GL release produces `glcts`, and # - the GLES release produces `deqp-gles*` and `deqp-egl` -DEQP_VK_VERSION=1.3.7.0 +DEQP_VK_VERSION=1.3.8.0 DEQP_GL_VERSION=4.6.4.0 DEQP_GLES_VERSION=3.2.10.0 @@ -28,38 +28,26 @@ DEQP_GLES_VERSION=3.2.10.0 # shellcheck disable=SC2034 vk_cts_commits_to_backport=( - # Take multiview into account for task shader inv. stats - 22aa3f4c59f6e1d4daebd5a8c9c05bce6cd3b63b + # Add missing subgroup support checks for linear derivate tests + 4bbc98181f01b60286f11f2cea5940332f883154 - # Remove illegal mesh shader query tests - 2a87f7b25dc27188be0f0a003b2d7aef69d9002e + # Use subgroups helper in derivate tests + 0a4ddb79f3d65fb51e8efd42cbfc8d0c051af8b8 - # Relax fragment shader invocations result verifications - 0d8bf6a2715f95907e9cf86a86876ff1f26c66fe + # Add missing subgroup size in shader object compute tests + 30176295a204697d3e94192ba19693efbc74a5bf - # Fix several issues in dynamic rendering basic tests - c5453824b498c981c6ba42017d119f5de02a3e34 + # Add missing virtual destructor to TriangleGenerator + dc448441dbacea3fc8ff4764de5b4a7b0e9d9be4 - # Add setVisible for VulkanWindowDirectDrm - a8466bf6ea98f6cd6733849ad8081775318a3e3e + # Add check for import & export bits for vk drm format modifier tests + a9482fd38763636ea09d02356924aeab53edebd0 ) # shellcheck disable=SC2034 vk_cts_patch_files=( - # Derivate subgroup fix - # https://github.com/KhronosGroup/VK-GL-CTS/pull/442 - build-deqp-vk_Use-subgroups-helper-in-derivate-tests.patch - build-deqp-vk_Add-missing-subgroup-support-checks-for-linear-derivate-tests.patch - - # Fix for render_to_image exceeding maxResourceSize - # e7e7c4ff1b8a3c6f25527c82e92f67a9a7c49481 - # patch because it doesn't backport cleanly - 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 + # Fix ASAN errors + build-deqp-vk_Fix-more-ASAN-errors-due-to-missing-virtual-destruct.patch ) if [ "${DEQP_TARGET}" = 'android' ]; then @@ -228,7 +216,7 @@ if [ "${DEQP_TARGET}" != 'android' ]; then if [ "${DEQP_API}" = 'VK' ]; then for mustpass in $(< /VK-GL-CTS/external/vulkancts/mustpass/main/vk-default.txt) ; do cat /VK-GL-CTS/external/vulkancts/mustpass/main/$mustpass \ - >> /deqp/mustpass/vk-master.txt + >> /deqp/mustpass/vk-main.txt done fi @@ -263,7 +251,7 @@ fi # Remove other mustpass files, since we saved off the ones we wanted to conventient locations above. rm -rf /deqp/external/**/mustpass/ -rm -rf /deqp/external/vulkancts/modules/vulkan/vk-master* +rm -rf /deqp/external/vulkancts/modules/vulkan/vk-main* rm -rf /deqp/external/vulkancts/modules/vulkan/vk-default rm -rf /deqp/external/openglcts/modules/cts-runner diff --git a/.gitlab-ci/container/patches/0001-Add-check-for-import-export-bits-for-vk-modifier-tes.patch b/.gitlab-ci/container/patches/0001-Add-check-for-import-export-bits-for-vk-modifier-tes.patch deleted file mode 100644 index 5601a69f8f6..00000000000 --- a/.gitlab-ci/container/patches/0001-Add-check-for-import-export-bits-for-vk-modifier-tes.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f267a15f43ba7aded2d86dc6533105d5a92aa552 Mon Sep 17 00:00:00 2001 -From: Lucas Fryzek -Date: Thu, 14 Mar 2024 10:51:50 -0400 -Subject: [PATCH] Add check for import & export bits for vk modifier tests - ---- - .../vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp b/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp -index daec05da2..2206eef14 100644 ---- a/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp -+++ b/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp -@@ -167,7 +167,10 @@ bool verifyHandleTypeForFormatModifier (const InstanceInterface& vki, - if (vki.getPhysicalDeviceImageFormatProperties2(physicalDevice, &imageFormatInfo, &imageProperties) == VK_ERROR_FORMAT_NOT_SUPPORTED) - return false; - -- if ((externalImageProperties.externalMemoryProperties.compatibleHandleTypes & handleType) != handleType) -+ -+ vk::VkExternalMemoryFeatureFlags required_bits = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT | VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT; -+ if ((externalImageProperties.externalMemoryProperties.compatibleHandleTypes & handleType) != handleType || -+ !((externalImageProperties.externalMemoryProperties.externalMemoryFeatures & required_bits) == required_bits)) - return false; - - return true; --- -2.44.0 - 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 deleted file mode 100644 index 49bb93f85a6..00000000000 --- a/.gitlab-ci/container/patches/build-deqp-vk-Add-missing-inheritance-info-stat-flags.patch +++ /dev/null @@ -1,57 +0,0 @@ -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/container/patches/build-deqp-vk_Add-missing-subgroup-support-checks-for-linear-derivate-tests.patch b/.gitlab-ci/container/patches/build-deqp-vk_Add-missing-subgroup-support-checks-for-linear-derivate-tests.patch deleted file mode 100644 index a8286cc940d..00000000000 --- a/.gitlab-ci/container/patches/build-deqp-vk_Add-missing-subgroup-support-checks-for-linear-derivate-tests.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7c9aa6f846f9f2f0d70b5c4a8e7c99a3d31b3b1a Mon Sep 17 00:00:00 2001 -From: Rob Clark -Date: Sat, 27 Jan 2024 10:59:00 -0800 -Subject: [PATCH] Add missing subgroup support checks for linear derivate tests - -Some of these tests require subgroup ops support, but didn't bother -checking whether they were supported. Add this missing checks. ---- - .../vulkan/shaderrender/vktShaderRenderDerivateTests.cpp | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp -index 3253505958..709044f2e8 100644 ---- a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp -+++ b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp -@@ -1145,6 +1145,13 @@ LinearDerivateCase::~LinearDerivateCase (void) - TestInstance* LinearDerivateCase::createInstance (Context& context) const - { - DE_ASSERT(m_uniformSetup != DE_NULL); -+ if (m_fragmentTmpl.find("gl_SubgroupInvocationID") != std::string::npos) { -+ if (!subgroups::areQuadOperationsSupportedForStages(context, VK_SHADER_STAGE_FRAGMENT_BIT)) -+ throw tcu::NotSupportedError("test requires VK_SUBGROUP_FEATURE_QUAD_BIT"); -+ -+ if (subgroups::getSubgroupSize(context) < 4) -+ throw tcu::NotSupportedError("test requires subgroupSize >= 4"); -+ } - return new LinearDerivateCaseInstance(context, *m_uniformSetup, m_definitions, m_values); - } - diff --git a/.gitlab-ci/container/patches/build-deqp-vk_Fix-for-render_to_image-exceeding-maxResourceSize.patch b/.gitlab-ci/container/patches/build-deqp-vk_Fix-for-render_to_image-exceeding-maxResourceSize.patch deleted file mode 100644 index ae50f0ae30e..00000000000 --- a/.gitlab-ci/container/patches/build-deqp-vk_Fix-for-render_to_image-exceeding-maxResourceSize.patch +++ /dev/null @@ -1,382 +0,0 @@ -From 8ea5db3fc0fab7f60472dcd0db7e5e40571549cb Mon Sep 17 00:00:00 2001 -From: Joe Withers -Date: Wed, 15 Nov 2023 17:46:25 +0000 -Subject: [PATCH] Fix for render_to_image exceeding maxResourceSize - -Fixes an issue seen in render_to_image tests, where image creation may -fail due to exceeding the maxResourceSize for the corresponding -VkImageFormatProperties. - -Affects: -dEQP-VK.pipeline.*.render_to_image.*.huge.* - -Components: Vulkan - -VK-GL-CTS issue: 4793 - -Change-Id: Idb5ec9fd5bb778d437a1e96b34c5cdc423490920 ---- - .../vktPipelineRenderToImageTests.cpp | 283 ++++++++++++------ - 1 file changed, 199 insertions(+), 84 deletions(-) - -diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineRenderToImageTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineRenderToImageTests.cpp -index a8bc15b66685dda2f4af..c9ce129a0a0e8334f1ad 100644 ---- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineRenderToImageTests.cpp -+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineRenderToImageTests.cpp -@@ -645,38 +645,6 @@ IVec4 getMaxImageSize (const VkImageViewType viewType, const IVec4& sizeHint) - return size; - } - --deUint32 getMemoryTypeNdx (Context& context, const CaseDef& caseDef) --{ -- const DeviceInterface& vk = context.getDeviceInterface(); -- const InstanceInterface& vki = context.getInstanceInterface(); -- const VkDevice device = context.getDevice(); -- const VkPhysicalDevice physDevice = context.getPhysicalDevice(); -- -- const VkPhysicalDeviceMemoryProperties memoryProperties = getPhysicalDeviceMemoryProperties(vki, physDevice); -- Move colorImage; -- VkMemoryRequirements memReqs; -- -- const VkImageUsageFlags imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; -- const IVec4 imageSize = getMaxImageSize(caseDef.viewType, caseDef.imageSizeHint); -- -- //create image, don't bind any memory to it -- colorImage = makeImage(vk, device, getImageCreateFlags(caseDef.viewType), getImageType(caseDef.viewType), caseDef.colorFormat, -- imageSize.swizzle(0, 1, 2), 1u, imageSize.w(), imageUsage); -- -- vk.getImageMemoryRequirements(device, *colorImage, &memReqs); -- return selectMatchingMemoryType(memoryProperties, memReqs.memoryTypeBits, MemoryRequirement::Any); --} -- --VkDeviceSize getMaxDeviceHeapSize (Context& context, const CaseDef& caseDef) --{ -- const InstanceInterface& vki = context.getInstanceInterface(); -- const VkPhysicalDevice physDevice = context.getPhysicalDevice(); -- const VkPhysicalDeviceMemoryProperties memoryProperties = getPhysicalDeviceMemoryProperties(vki, physDevice); -- const deUint32 memoryTypeNdx = getMemoryTypeNdx (context, caseDef); -- -- return memoryProperties.memoryHeaps[memoryProperties.memoryTypes[memoryTypeNdx].heapIndex].size; --} -- - //! Get a smaller image size. Returns a vector of zeroes, if it can't reduce more. - IVec4 getReducedImageSize (const CaseDef& caseDef, IVec4 size) - { -@@ -706,6 +674,41 @@ IVec4 getReducedImageSize (const CaseDef& caseDef, IVec4 size) - return size; - } - -+//! Get the image memory requirements for the image size under test, expecting potential image -+//! creation failure if the required size is larger than the device's maxResourceSize, returning -+//! false if creation failed. -+bool getSupportedImageMemoryRequirements(Context& context, const CaseDef& caseDef, const VkFormat format, const IVec4 size, const VkImageUsageFlags usage, VkMemoryRequirements& imageMemoryRequiements) -+{ -+ const DeviceInterface& vk = context.getDeviceInterface(); -+ const VkDevice device = context.getDevice(); -+ bool imageCreationPossible = true; -+ -+ try -+ { -+ Move image = makeImage( -+ vk, -+ device, -+ getImageCreateFlags(caseDef.viewType), -+ getImageType(caseDef.viewType), -+ format, -+ size.swizzle(0, 1, 2), -+ 1u, -+ size.w(), -+ usage -+ ); -+ -+ vk.getImageMemoryRequirements(device, *image, &imageMemoryRequiements); -+ } -+ // vkCreateImage is allowed to return VK_ERROR_OUT_OF_HOST_MEMORY if the image's -+ // memory requirements will exceed maxResourceSize. -+ catch (const vk::OutOfMemoryError& e) -+ { -+ imageCreationPossible = false; -+ } -+ -+ return imageCreationPossible; -+} -+ - bool isDepthStencilFormatSupported (const InstanceInterface& vki, const VkPhysicalDevice physDevice, const VkFormat format) - { - const VkFormatProperties properties = getPhysicalDeviceFormatProperties(vki, physDevice, format); -@@ -794,72 +797,150 @@ tcu::TestStatus testWithSizeReduction (Context& context, const CaseDef& caseDef) - const deUint32 queueFamilyIndex = context.getUniversalQueueFamilyIndex(); - Allocator& allocator = context.getDefaultAllocator(); - -- // The memory might be too small to allocate a largest possible attachment, so try to account for that. -- const bool useDepthStencil = (caseDef.depthStencilFormat != VK_FORMAT_UNDEFINED); -- - IVec4 imageSize = getMaxImageSize(caseDef.viewType, caseDef.imageSizeHint); -- VkDeviceSize colorSize = product(imageSize) * tcu::getPixelSize(mapVkFormat(caseDef.colorFormat)); -- VkDeviceSize depthStencilSize = (useDepthStencil ? product(imageSize) * tcu::getPixelSize(mapVkFormat(caseDef.depthStencilFormat)) : 0ull); - -- const VkDeviceSize reserveForChecking = 500ull * 1024ull; //left 512KB -- const float additionalMemory = 1.15f; //left some free memory on device (15%) -- VkDeviceSize neededMemory = static_cast(static_cast(colorSize + depthStencilSize) * additionalMemory) + reserveForChecking; -- VkDeviceSize maxMemory = getMaxDeviceHeapSize(context, caseDef) >> 2; -+ const VkImageUsageFlags colorImageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; -+ const VkImageUsageFlags depthStencilImageUsage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT; -+ const bool useDepthStencil = (caseDef.depthStencilFormat != VK_FORMAT_UNDEFINED); - -- tcu::PlatformMemoryLimits memoryLimits; -- context.getTestContext().getPlatform().getMemoryLimits(memoryLimits); -- maxMemory = std::min(maxMemory, VkDeviceSize(memoryLimits.totalSystemMemory)); -+ { -+ VkImageFormatProperties colorImageFormatProperties; -+ const auto result = vki.getPhysicalDeviceImageFormatProperties( -+ physDevice, -+ caseDef.colorFormat, -+ getImageType(caseDef.viewType), -+ VK_IMAGE_TILING_OPTIMAL, -+ colorImageUsage, -+ getImageCreateFlags(caseDef.viewType), -+ &colorImageFormatProperties -+ ); -+ -+ VK_CHECK(result); - -- const VkDeviceSize deviceMemoryBudget = std::min(neededMemory, maxMemory); -- bool allocationPossible = false; -+ imageSize.x() = std::min(static_cast(imageSize.x()), colorImageFormatProperties.maxExtent.width); -+ imageSize.y() = std::min(static_cast(imageSize.y()), colorImageFormatProperties.maxExtent.height); -+ imageSize.z() = std::min(static_cast(imageSize.z()), colorImageFormatProperties.maxExtent.depth); -+ imageSize.w() = std::min(static_cast(imageSize.w()), colorImageFormatProperties.maxArrayLayers); -+ } - -- // Keep reducing the size, if image size is too big -- while (neededMemory > deviceMemoryBudget) -+ if (useDepthStencil) - { -- imageSize = getReducedImageSize(caseDef, imageSize); -+ VkImageFormatProperties depthStencilImageFormatProperties; -+ const auto result = vki.getPhysicalDeviceImageFormatProperties( -+ physDevice, -+ caseDef.depthStencilFormat, -+ getImageType(caseDef.viewType), -+ VK_IMAGE_TILING_OPTIMAL, -+ depthStencilImageUsage, -+ getImageCreateFlags(caseDef.viewType), -+ &depthStencilImageFormatProperties -+ ); - -- if (imageSize == IVec4()) -- return tcu::TestStatus::fail("Couldn't create an image with required size"); -+ VK_CHECK(result); - -- colorSize = product(imageSize) * tcu::getPixelSize(mapVkFormat(caseDef.colorFormat)); -- depthStencilSize = (useDepthStencil ? product(imageSize) * tcu::getPixelSize(mapVkFormat(caseDef.depthStencilFormat)) : 0ull); -- neededMemory = static_cast(static_cast(colorSize + depthStencilSize) * additionalMemory); -+ imageSize.x() = std::min(static_cast(imageSize.x()), depthStencilImageFormatProperties.maxExtent.width); -+ imageSize.y() = std::min(static_cast(imageSize.y()), depthStencilImageFormatProperties.maxExtent.height); -+ imageSize.z() = std::min(static_cast(imageSize.z()), depthStencilImageFormatProperties.maxExtent.depth); -+ imageSize.w() = std::min(static_cast(imageSize.w()), depthStencilImageFormatProperties.maxArrayLayers); - } - -- // Keep reducing the size, if allocation return out of any memory -+ bool allocationPossible = false; - while (!allocationPossible) - { -- VkDeviceMemory object = 0; -- const VkMemoryAllocateInfo allocateInfo = -- { -- VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, //VkStructureType sType; -- DE_NULL, //const void* pNext; -- neededMemory, //VkDeviceSize allocationSize; -- getMemoryTypeNdx(context, caseDef) //deUint32 memoryTypeIndex; -- }; -- -- const VkResult result = vk.allocateMemory(device, &allocateInfo, DE_NULL, &object); -+ // Get the image memory requirements -+ VkMemoryRequirements colorImageMemReqs; -+ VkDeviceSize neededMemory = 0; -+ deUint32 memoryTypeNdx = 0; - -- if (VK_ERROR_OUT_OF_DEVICE_MEMORY == result || VK_ERROR_OUT_OF_HOST_MEMORY == result) -+ if (!getSupportedImageMemoryRequirements(context, caseDef, caseDef.colorFormat, imageSize, colorImageUsage, colorImageMemReqs)) - { -+ // Try again with reduced image size - imageSize = getReducedImageSize(caseDef, imageSize); -- - if (imageSize == IVec4()) - return tcu::TestStatus::fail("Couldn't create an image with required size"); -+ else -+ continue; -+ } -+ -+ neededMemory = colorImageMemReqs.size; -+ -+ if (useDepthStencil) -+ { -+ VkMemoryRequirements depthStencilImageMemReqs; - -- colorSize = product(imageSize) * tcu::getPixelSize(mapVkFormat(caseDef.colorFormat)); -- depthStencilSize = (useDepthStencil ? product(imageSize) * tcu::getPixelSize(mapVkFormat(caseDef.depthStencilFormat)) : 0ull); -- neededMemory = static_cast(static_cast(colorSize + depthStencilSize) * additionalMemory) + reserveForChecking; -+ if (!getSupportedImageMemoryRequirements(context, caseDef, caseDef.depthStencilFormat, imageSize, depthStencilImageUsage, depthStencilImageMemReqs)) -+ { -+ // Try again with reduced image size -+ imageSize = getReducedImageSize(caseDef, imageSize); -+ if (imageSize == IVec4()) -+ return tcu::TestStatus::fail("Couldn't create an image with required size"); -+ else -+ continue; -+ } -+ -+ neededMemory += depthStencilImageMemReqs.size; - } -- else if (VK_SUCCESS != result) -+ -+ // Reserve an additional 15% device memory, plus the 512KB for checking results - { -- return tcu::TestStatus::fail("Couldn't allocate memory"); -+ const VkDeviceSize reserveForChecking = 500ull * 1024ull; -+ const float additionalMemory = 1.15f; -+ neededMemory = static_cast(static_cast(neededMemory) * additionalMemory) + reserveForChecking; - } -- else -+ -+ // Query the available memory in the corresponding memory heap - { -- //free memory using Move pointer -- Move memoryAllocated (check(object), Deleter(vk, device, DE_NULL)); -- allocationPossible = true; -+ const VkPhysicalDeviceMemoryProperties memoryProperties = getPhysicalDeviceMemoryProperties(vki, physDevice); -+ // Use the color image memory requirements, assume depth stencil uses the same memory type -+ memoryTypeNdx = selectMatchingMemoryType(memoryProperties, colorImageMemReqs.memoryTypeBits, MemoryRequirement::Any); -+ tcu::PlatformMemoryLimits memoryLimits; -+ context.getTestContext().getPlatform().getMemoryLimits(memoryLimits); -+ VkDeviceSize maxMemory = std::min( -+ memoryProperties.memoryHeaps[memoryProperties.memoryTypes[memoryTypeNdx].heapIndex].size, -+ VkDeviceSize(memoryLimits.totalSystemMemory) -+ ); -+ -+ if (neededMemory > maxMemory) -+ { -+ // Try again with reduced image size -+ imageSize = getReducedImageSize(caseDef, imageSize); -+ if (imageSize == IVec4()) -+ return tcu::TestStatus::fail("Couldn't create an image with required size"); -+ else -+ continue; -+ } -+ } -+ -+ // Attempt a memory allocation -+ { -+ VkDeviceMemory object = 0; -+ const VkMemoryAllocateInfo allocateInfo = -+ { -+ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, //VkStructureType sType; -+ DE_NULL, //const void* pNext; -+ neededMemory, //VkDeviceSize allocationSize; -+ memoryTypeNdx //deUint32 memoryTypeIndex; -+ }; -+ -+ const VkResult result = vk.allocateMemory(device, &allocateInfo, DE_NULL, &object); -+ -+ if (VK_ERROR_OUT_OF_DEVICE_MEMORY == result || VK_ERROR_OUT_OF_HOST_MEMORY == result) -+ { -+ // Try again with reduced image size -+ imageSize = getReducedImageSize(caseDef, imageSize); -+ if (imageSize == IVec4()) -+ return tcu::TestStatus::fail("Couldn't create an image with required size"); -+ } -+ else if (VK_SUCCESS != result) -+ { -+ return tcu::TestStatus::fail("Couldn't allocate memory"); -+ } -+ else -+ { -+ //free memory using Move pointer -+ Move memoryAllocated (check(object), Deleter(vk, device, DE_NULL)); -+ allocationPossible = true; -+ } - } - } - -@@ -907,20 +988,16 @@ tcu::TestStatus testWithSizeReduction (Context& context, const CaseDef& caseDef) - - // Create a color image - { -- const VkImageUsageFlags imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; -- - colorImage = makeImage(vk, device, getImageCreateFlags(caseDef.viewType), getImageType(caseDef.viewType), caseDef.colorFormat, -- imageSize.swizzle(0, 1, 2), 1u, imageSize.w(), imageUsage); -+ imageSize.swizzle(0, 1, 2), 1u, imageSize.w(), colorImageUsage); - colorImageAlloc = bindImage(vki, vk, physDevice, device, *colorImage, MemoryRequirement::Any, allocator, caseDef.allocationKind); - } - - // Create a depth/stencil image (always a 2D image, optionally layered) - if (useDepthStencil) - { -- const VkImageUsageFlags imageUsage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT; -- - depthStencilImage = makeImage(vk, device, (VkImageCreateFlags)0, VK_IMAGE_TYPE_2D, caseDef.depthStencilFormat, -- IVec3(imageSize.x(), imageSize.y(), 1), 1u, numSlices, imageUsage); -+ IVec3(imageSize.x(), imageSize.y(), 1), 1u, numSlices, depthStencilImageUsage); - depthStencilImageAlloc = bindImage(vki, vk, physDevice, device, *depthStencilImage, MemoryRequirement::Any, allocator, caseDef.allocationKind); - } - -@@ -1153,13 +1230,51 @@ void checkImageViewTypeRequirements (Context& context, const VkImageViewType vie - - void checkSupportAttachmentSize (Context& context, const CaseDef caseDef) - { -+ const InstanceInterface& vki = context.getInstanceInterface(); -+ const VkPhysicalDevice physDevice = context.getPhysicalDevice(); -+ - checkImageViewTypeRequirements(context, caseDef.viewType); - - if (caseDef.allocationKind == ALLOCATION_KIND_DEDICATED) - context.requireDeviceFunctionality("VK_KHR_dedicated_allocation"); - -- if (caseDef.depthStencilFormat != VK_FORMAT_UNDEFINED && !isDepthStencilFormatSupported(context.getInstanceInterface(), context.getPhysicalDevice(), caseDef.depthStencilFormat)) -- TCU_THROW(NotSupportedError, "Unsupported depth/stencil format"); -+ { -+ VkImageFormatProperties colorImageFormatProperties; -+ const auto result = vki.getPhysicalDeviceImageFormatProperties( -+ physDevice, -+ caseDef.colorFormat, -+ getImageType(caseDef.viewType), -+ VK_IMAGE_TILING_OPTIMAL, -+ (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT), -+ getImageCreateFlags(caseDef.viewType), -+ &colorImageFormatProperties -+ ); -+ -+ if (result != VK_SUCCESS) -+ { -+ TCU_THROW(NotSupportedError, "Unsupported color attachment format"); -+ } -+ } -+ -+ if (caseDef.depthStencilFormat != VK_FORMAT_UNDEFINED) -+ { -+ -+ VkImageFormatProperties depthStencilImageFormatProperties; -+ const auto result = vki.getPhysicalDeviceImageFormatProperties( -+ physDevice, -+ caseDef.depthStencilFormat, -+ getImageType(caseDef.viewType), -+ VK_IMAGE_TILING_OPTIMAL, -+ VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, -+ getImageCreateFlags(caseDef.viewType), -+ &depthStencilImageFormatProperties -+ ); -+ -+ if (result != VK_SUCCESS) -+ { -+ TCU_THROW(NotSupportedError, "Unsupported depth/stencil attachment format"); -+ } -+ } - - checkPipelineConstructionRequirements(context.getInstanceInterface(), context.getPhysicalDevice(), caseDef.pipelineConstructionType); - } --- -Cheers, - Eric - diff --git a/.gitlab-ci/container/patches/build-deqp-vk_Fix-more-ASAN-errors-due-to-missing-virtual-destruct.patch b/.gitlab-ci/container/patches/build-deqp-vk_Fix-more-ASAN-errors-due-to-missing-virtual-destruct.patch new file mode 100644 index 00000000000..3e0d61c3524 --- /dev/null +++ b/.gitlab-ci/container/patches/build-deqp-vk_Fix-more-ASAN-errors-due-to-missing-virtual-destruct.patch @@ -0,0 +1,1227 @@ +From d7e91e611e6fd4e0772f542e359bb98749d6f2ee Mon Sep 17 00:00:00 2001 +From: Ricardo Garcia +Date: Tue, 16 Apr 2024 17:15:53 +0200 +Subject: [PATCH] Fix more ASAN errors due to missing virtual destructors + +No test results should be affected by this change. + +VK-GL-CTS issue: 5083 +Components: Vulkan + +Change-Id: I7deb1fa8109ffecd495156ee5da583dae82162b2 +--- + .../vulkancts/framework/vulkan/vkPlatform.hpp | 2 +- + .../vktApiBufferAndImageAllocationUtil.hpp | 4 + + .../api/vktApiBufferViewCreateTests.cpp | 2 + + .../modules/vulkan/api/vktApiSmokeTests.cpp | 4 + + .../vulkan/clipping/vktClippingTests.cpp | 4 + + .../modules/vulkan/draw/vktBasicDrawTests.cpp | 6 + + .../modules/vulkan/draw/vktDrawAhbTests.cpp | 4 + + .../vulkan/draw/vktDrawIndexedTest.cpp | 4 + + .../vulkan/draw/vktDrawInstancedTests.cpp | 4 + + .../draw/vktDrawVertexAttribDivisorTests.cpp | 4 + + .../image/vktImageExtendedUsageBitTests.cpp | 2 + + .../memory/vktMemoryRequirementsTests.cpp | 4 + + .../vktPipelineExtendedDynamicStateTests.cpp | 121 +++++++++--------- + .../pipeline/vktPipelineTimestampTests.cpp | 2 +- + ...vktRayQueryAccelerationStructuresTests.cpp | 2 + + ...tRayTracingAccelerationStructuresTests.cpp | 3 + + .../vktRayTracingCallableShadersTests.cpp | 2 + + .../vktRayTracingCaptureReplayTests.cpp | 2 + + .../vktRayTracingPipelineFlagsTests.cpp | 2 + + .../vktRayTracingShaderBindingTableTests.cpp | 2 + + .../vktRayTracingTraversalControlTests.cpp | 2 + + .../vktRenderPassSubpassDependencyTests.cpp | 8 ++ + .../vktShaderBuiltinPrecisionTests.cpp | 2 + + .../vktShaderRenderBuiltinVarTests.cpp | 4 + + .../vktShaderRenderTextureGatherTests.cpp | 2 + + .../vktSpvAsm64bitCompareTests.cpp | 5 + + .../vktSpvAsmInstructionTests.cpp | 2 + + .../vulkan/spirv_assembly/vktSpvAsmUtils.hpp | 2 + + ...vktSynchronizationWin32KeyedMutexTests.cpp | 2 +- + .../modules/vulkan/vktBuildPrograms.cpp | 2 + + .../vulkan/ycbcr/vktYCbCrViewTests.cpp | 1 + + framework/common/tcuCommandLine.hpp | 2 +- + framework/egl/wrapper/eglwFunctions.hpp | 1 + + framework/egl/wrapper/eglwLibrary.hpp | 2 + + framework/opengl/gluShaderLibrary.hpp | 1 + + .../opengl/wrapper/glwFunctionLoader.hpp | 2 + + framework/referencerenderer/rrRenderer.cpp | 1 + + framework/referencerenderer/rrShaders.hpp | 6 +- + 38 files changed, 162 insertions(+), 65 deletions(-) + +diff --git a/external/vulkancts/framework/vulkan/vkPlatform.hpp b/external/vulkancts/framework/vulkan/vkPlatform.hpp +index 1ddba903b..0c680a062 100644 +--- a/external/vulkancts/framework/vulkan/vkPlatform.hpp ++++ b/external/vulkancts/framework/vulkan/vkPlatform.hpp +@@ -401,7 +401,7 @@ public: + }; + + Platform (void) {} +- ~Platform (void) {} ++ virtual ~Platform (void) {} + #ifdef DE_PLATFORM_USE_LIBRARY_TYPE + virtual Library* createLibrary (LibraryType libraryType = LIBRARY_TYPE_VULKAN, const char* libraryPath = DE_NULL) const = 0; + #else +diff --git a/external/vulkancts/modules/vulkan/api/vktApiBufferAndImageAllocationUtil.hpp b/external/vulkancts/modules/vulkan/api/vktApiBufferAndImageAllocationUtil.hpp +index db7e27448..6f8845963 100644 +--- a/external/vulkancts/modules/vulkan/api/vktApiBufferAndImageAllocationUtil.hpp ++++ b/external/vulkancts/modules/vulkan/api/vktApiBufferAndImageAllocationUtil.hpp +@@ -47,6 +47,8 @@ using namespace vk; + class IBufferAllocator + { + public: ++ virtual ~IBufferAllocator () {} ++ + virtual void createTestBuffer (const DeviceInterface& vk, + VkDevice vkDevice, + deUint32 queueFamilyIndex, +@@ -92,6 +94,8 @@ public: + class IImageAllocator + { + public: ++ virtual ~IImageAllocator () {} ++ + virtual void createTestImage (tcu::IVec2 size, + VkFormat format, + Context& context, +diff --git a/external/vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp +index 5f2ed37fe..9ff2b4de6 100644 +--- a/external/vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp ++++ b/external/vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp +@@ -80,6 +80,8 @@ protected: + class IBufferAllocator + { + public: ++ virtual ~IBufferAllocator () {} ++ + virtual tcu::TestStatus createTestBuffer (VkDeviceSize size, + VkBufferUsageFlags usage, + Context& context, +diff --git a/external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp +index 9f2697a8b..c4276a71b 100644 +--- a/external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp ++++ b/external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp +@@ -275,6 +275,8 @@ public: + m_inputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~RefVertexShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -295,6 +297,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~RefFragmentShader () {} ++ + void shadeFragments (rr::FragmentPacket*, const int numPackets, const rr::FragmentShadingContext& context) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +diff --git a/external/vulkancts/modules/vulkan/clipping/vktClippingTests.cpp b/external/vulkancts/modules/vulkan/clipping/vktClippingTests.cpp +index 076bd42e0..a00df02cb 100644 +--- a/external/vulkancts/modules/vulkan/clipping/vktClippingTests.cpp ++++ b/external/vulkancts/modules/vulkan/clipping/vktClippingTests.cpp +@@ -863,6 +863,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~WideLineVertexShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -885,6 +887,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~WideLineFragmentShader () {} ++ + void shadeFragments (rr::FragmentPacket* packets, const int numPackets, const rr::FragmentShadingContext& context) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +diff --git a/external/vulkancts/modules/vulkan/draw/vktBasicDrawTests.cpp b/external/vulkancts/modules/vulkan/draw/vktBasicDrawTests.cpp +index 55e18ad3c..fd1627ee7 100644 +--- a/external/vulkancts/modules/vulkan/draw/vktBasicDrawTests.cpp ++++ b/external/vulkancts/modules/vulkan/draw/vktBasicDrawTests.cpp +@@ -111,6 +111,8 @@ struct DrawParamsBase + DrawParamsBase () + {} + ++ virtual ~DrawParamsBase () {} ++ + DrawParamsBase (const vk::VkPrimitiveTopology top, const SharedGroupParams gParams) + : topology (top) + , useMaintenance5 (false) +@@ -221,6 +223,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~PassthruVertShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -248,6 +252,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~PassthruFragShader () {} ++ + void shadeFragments (rr::FragmentPacket* packets, const int numPackets, const rr::FragmentShadingContext& context) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawAhbTests.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawAhbTests.cpp +index b5af6f40b..14c4ffb36 100644 +--- a/external/vulkancts/modules/vulkan/draw/vktDrawAhbTests.cpp ++++ b/external/vulkancts/modules/vulkan/draw/vktDrawAhbTests.cpp +@@ -81,6 +81,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~PassthruVertShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -108,6 +110,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~PassthruFragShader () {} ++ + void shadeFragments (rr::FragmentPacket* packets, const int numPackets, const rr::FragmentShadingContext& context) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawIndexedTest.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawIndexedTest.cpp +index bc481b432..39f2fda49 100644 +--- a/external/vulkancts/modules/vulkan/draw/vktDrawIndexedTest.cpp ++++ b/external/vulkancts/modules/vulkan/draw/vktDrawIndexedTest.cpp +@@ -532,6 +532,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~PassthruVertShader () {} ++ + void shadeVertices(const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -559,6 +561,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~PassthruFragShader () {} ++ + void shadeFragments(rr::FragmentPacket* packets, const int numPackets, const rr::FragmentShadingContext& context) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawInstancedTests.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawInstancedTests.cpp +index 2e5b34a64..8a9b6edf5 100644 +--- a/external/vulkancts/modules/vulkan/draw/vktDrawInstancedTests.cpp ++++ b/external/vulkancts/modules/vulkan/draw/vktDrawInstancedTests.cpp +@@ -190,6 +190,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~TestVertShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, + rr::VertexPacket* const* packets, + const int numPackets) const +@@ -220,6 +222,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~TestFragShader () {} ++ + void shadeFragments (rr::FragmentPacket* packets, + const int numPackets, + const rr::FragmentShadingContext& context) const +diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawVertexAttribDivisorTests.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawVertexAttribDivisorTests.cpp +index 849e50630..37cbc1d14 100644 +--- a/external/vulkancts/modules/vulkan/draw/vktDrawVertexAttribDivisorTests.cpp ++++ b/external/vulkancts/modules/vulkan/draw/vktDrawVertexAttribDivisorTests.cpp +@@ -162,6 +162,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~TestVertShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, + rr::VertexPacket* const* packets, + const int numPackets) const +@@ -192,6 +194,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~TestFragShader () {} ++ + void shadeFragments (rr::FragmentPacket* packets, + const int numPackets, + const rr::FragmentShadingContext& context) const +diff --git a/external/vulkancts/modules/vulkan/image/vktImageExtendedUsageBitTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageExtendedUsageBitTests.cpp +index 343dc6c19..14b89c382 100644 +--- a/external/vulkancts/modules/vulkan/image/vktImageExtendedUsageBitTests.cpp ++++ b/external/vulkancts/modules/vulkan/image/vktImageExtendedUsageBitTests.cpp +@@ -138,6 +138,8 @@ struct TestParams + class PhysicalDeviceImageFormatProperties + { + public: ++ virtual ~PhysicalDeviceImageFormatProperties () {} ++ + virtual VkResult getPhysicalDeviceImageFormatProperties(const InstanceInterface &vki, VkPhysicalDevice device, VkFormat viewFormat, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags) + { + VkImageFormatProperties formatProperties; +diff --git a/external/vulkancts/modules/vulkan/memory/vktMemoryRequirementsTests.cpp b/external/vulkancts/modules/vulkan/memory/vktMemoryRequirementsTests.cpp +index 97071d449..9b6f674d8 100644 +--- a/external/vulkancts/modules/vulkan/memory/vktMemoryRequirementsTests.cpp ++++ b/external/vulkancts/modules/vulkan/memory/vktMemoryRequirementsTests.cpp +@@ -256,6 +256,8 @@ bool validValueVkBool32 (const VkBool32 value) + class IBufferMemoryRequirements + { + public: ++ virtual ~IBufferMemoryRequirements () {} ++ + virtual void populateTestGroup (tcu::TestCaseGroup* group) = 0; + + protected: +@@ -798,6 +800,8 @@ struct ImageTestParams + class IImageMemoryRequirements + { + public: ++ virtual ~IImageMemoryRequirements () {} ++ + virtual void populateTestGroup (tcu::TestCaseGroup* group) = 0; + + protected: +diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineExtendedDynamicStateTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineExtendedDynamicStateTests.cpp +index 4fd9ee007..581a1ab7f 100644 +--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineExtendedDynamicStateTests.cpp ++++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineExtendedDynamicStateTests.cpp +@@ -182,6 +182,8 @@ std::string topologyClassName (TopologyClass tclass) + class VertexGenerator + { + public: ++ virtual ~VertexGenerator () {} ++ + // Some generators may need specific features. + virtual void checkSupport (Context&) const {} + +@@ -311,21 +313,21 @@ protected: + }; + + public: +- virtual std::vector getAttributeDeclarations() const override ++ std::vector getAttributeDeclarations() const override + { + std::vector declarations; + declarations.push_back("layout(location=0) in vec2 position;"); + return declarations; + } + +- virtual std::vector getVertexCoordCalc() const override ++ std::vector getVertexCoordCalc() const override + { + std::vector statements; + statements.push_back("vec2 vertexCoords = position;"); + return statements; + } + +- virtual std::vector getDescriptorDeclarations() const override ++ std::vector getDescriptorDeclarations() const override + { + std::vector declarations; + declarations.reserve(7u); +@@ -339,7 +341,7 @@ public: + return declarations; + } + +- virtual std::vector getDescriptorCoordCalc(TopologyClass topology) const override ++ std::vector getDescriptorCoordCalc(TopologyClass topology) const override + { + std::vector statements; + +@@ -370,7 +372,7 @@ public: + return statements; + } + +- virtual std::vector getAttributeDescriptions() const override ++ std::vector getAttributeDescriptions() const override + { + std::vector descriptions; + descriptions.push_back(vk::makeVertexInputAttributeDescription(0u, 0u, vk::VK_FORMAT_R32G32_SFLOAT, 0u)); +@@ -378,7 +380,7 @@ public: + } + + // Vertex attributes for VK_EXT_vertex_input_dynamic_state. +- virtual std::vector getAttributeDescriptions2() const override ++ std::vector getAttributeDescriptions2() const override + { + std::vector descriptions; + descriptions.push_back(makeVertexInputAttributeDescription2EXT(0u, 0u, vk::VK_FORMAT_R32G32_SFLOAT, 0u)); +@@ -386,7 +388,7 @@ public: + } + + // Vertex bindings for VkPipelineVertexInputStateCreateInfo. +- virtual std::vector getBindingDescriptions(const StrideVec& strides) const override ++ std::vector getBindingDescriptions(const StrideVec& strides) const override + { + std::vector descriptions; + descriptions.push_back(vk::makeVertexInputBindingDescription(0u, static_cast(strides.at(0)), vk::VK_VERTEX_INPUT_RATE_VERTEX)); +@@ -394,19 +396,19 @@ public: + } + + // Vertex bindings for VK_EXT_vertex_input_dynamic_state. +- virtual std::vector getBindingDescriptions2(const StrideVec& strides) const override ++ std::vector getBindingDescriptions2(const StrideVec& strides) const override + { + std::vector descriptions; + descriptions.push_back(makeVertexInputBindingDescription2EXT(0u, static_cast(strides.at(0)), vk::VK_VERTEX_INPUT_RATE_VERTEX)); + return descriptions; + } + +- virtual std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override ++ std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override + { + return std::vector>(1u, createSingleBindingVertexData(coords, dataOffset, trailingPadding, paddingPattern, patternSize)); + } + +- virtual std::vector getVertexDataStrides() const override ++ std::vector getVertexDataStrides() const override + { + return std::vector(1u, static_cast(sizeof(VertexData))); + } +@@ -428,7 +430,7 @@ protected: + }; + + public: +- virtual void checkSupport (Context& context) const override ++ void checkSupport (Context& context) const override + { + // We need shaderFloat16 and storageInputOutput16. + const auto& sf16i8Features = context.getShaderFloat16Int8Features(); +@@ -440,28 +442,28 @@ public: + TCU_THROW(NotSupportedError, "storageInputOutput16 not supported"); + } + +- virtual std::vector getGLSLExtensions() const override ++ std::vector getGLSLExtensions() const override + { + std::vector extensions; + extensions.push_back("#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require"); + return extensions; + } + +- virtual std::vector getAttributeDeclarations() const override ++ std::vector getAttributeDeclarations() const override + { + std::vector declarations; + declarations.push_back("layout(location=0) in f16vec2 position;"); + return declarations; + } + +- virtual std::vector getVertexCoordCalc() const override ++ std::vector getVertexCoordCalc() const override + { + std::vector statements; + statements.push_back("f16vec2 vertexCoords = position;"); + return statements; + } + +- virtual std::vector getDescriptorDeclarations() const override ++ std::vector getDescriptorDeclarations() const override + { + std::vector declarations; + declarations.reserve(7u); +@@ -475,7 +477,7 @@ public: + return declarations; + } + +- virtual std::vector getDescriptorCoordCalc(TopologyClass topology) const override ++ std::vector getDescriptorCoordCalc(TopologyClass topology) const override + { + std::vector statements; + +@@ -506,7 +508,7 @@ public: + return statements; + } + +- virtual std::vector getAttributeDescriptions() const override ++ std::vector getAttributeDescriptions() const override + { + std::vector descriptions; + descriptions.push_back(vk::makeVertexInputAttributeDescription(0u, 0u, vk::VK_FORMAT_R16G16_SFLOAT, 0u)); +@@ -514,7 +516,7 @@ public: + } + + // Vertex attributes for VK_EXT_vertex_input_dynamic_state. +- virtual std::vector getAttributeDescriptions2() const override ++ std::vector getAttributeDescriptions2() const override + { + std::vector descriptions; + descriptions.push_back(makeVertexInputAttributeDescription2EXT(0u, 0u, vk::VK_FORMAT_R16G16_SFLOAT, 0u)); +@@ -522,7 +524,7 @@ public: + } + + // Vertex bindings for VkPipelineVertexInputStateCreateInfo. +- virtual std::vector getBindingDescriptions(const StrideVec& strides) const override ++ std::vector getBindingDescriptions(const StrideVec& strides) const override + { + std::vector descriptions; + descriptions.push_back(vk::makeVertexInputBindingDescription(0u, static_cast(strides.at(0)), vk::VK_VERTEX_INPUT_RATE_VERTEX)); +@@ -530,19 +532,19 @@ public: + } + + // Vertex bindings for VK_EXT_vertex_input_dynamic_state. +- virtual std::vector getBindingDescriptions2(const StrideVec& strides) const override ++ std::vector getBindingDescriptions2(const StrideVec& strides) const override + { + std::vector descriptions; + descriptions.push_back(makeVertexInputBindingDescription2EXT(0u, static_cast(strides.at(0)), vk::VK_VERTEX_INPUT_RATE_VERTEX)); + return descriptions; + } + +- virtual std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override ++ std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override + { + return std::vector>(1u, createSingleBindingVertexData(coords, dataOffset, trailingPadding, paddingPattern, patternSize)); + } + +- virtual std::vector getVertexDataStrides() const override ++ std::vector getVertexDataStrides() const override + { + return std::vector(1u, static_cast(sizeof(VertexData))); + } +@@ -567,7 +569,7 @@ protected: + }; + + public: +- virtual std::vector getAttributeDeclarations() const override ++ std::vector getAttributeDeclarations() const override + { + std::vector declarations; + declarations.push_back("layout(location=0) in vec2 position;"); +@@ -575,26 +577,26 @@ public: + return declarations; + } + +- virtual std::vector getVertexCoordCalc() const override ++ std::vector getVertexCoordCalc() const override + { + std::vector statements; + statements.push_back("vec2 vertexCoords = vec2(position.x, position.y * scaleAndOffsetY.x + scaleAndOffsetY.y);"); + return statements; + } + +- virtual std::vector getDescriptorDeclarations() const override ++ std::vector getDescriptorDeclarations() const override + { + DE_ASSERT(false); // This vertex generator should not be used with mesh shaders. + return std::vector(); + } + +- virtual std::vector getDescriptorCoordCalc(TopologyClass) const override ++ std::vector getDescriptorCoordCalc(TopologyClass) const override + { + DE_ASSERT(false); // This vertex generator should not be used with mesh shaders. + return std::vector(); + } + +- virtual std::vector getAttributeDescriptions() const override ++ std::vector getAttributeDescriptions() const override + { + std::vector descriptions; + descriptions.push_back(vk::makeVertexInputAttributeDescription(0u, 0u, vk::VK_FORMAT_R32G32_SFLOAT, 0u)); +@@ -603,7 +605,7 @@ public: + } + + // Vertex attributes for VK_EXT_vertex_input_dynamic_state. +- virtual std::vector getAttributeDescriptions2() const override ++ std::vector getAttributeDescriptions2() const override + { + std::vector descriptions; + descriptions.push_back(makeVertexInputAttributeDescription2EXT(0u, 0u, vk::VK_FORMAT_R32G32_SFLOAT, 0u)); +@@ -612,7 +614,7 @@ public: + } + + // Vertex bindings for VkPipelineVertexInputStateCreateInfo. +- virtual std::vector getBindingDescriptions(const StrideVec& strides) const override ++ std::vector getBindingDescriptions(const StrideVec& strides) const override + { + std::vector descriptions; + descriptions.push_back(vk::makeVertexInputBindingDescription(0u, static_cast(strides.at(0)), vk::VK_VERTEX_INPUT_RATE_VERTEX)); +@@ -621,7 +623,7 @@ public: + } + + // Vertex bindings for VK_EXT_vertex_input_dynamic_state. +- virtual std::vector getBindingDescriptions2(const StrideVec& strides) const override ++ std::vector getBindingDescriptions2(const StrideVec& strides) const override + { + std::vector descriptions; + descriptions.push_back(makeVertexInputBindingDescription2EXT(0u, static_cast(strides.at(0)), vk::VK_VERTEX_INPUT_RATE_VERTEX)); +@@ -629,7 +631,7 @@ public: + return descriptions; + } + +- virtual std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override ++ std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override + { + // Instance data for 2 instances. Scale and offset like we do with push constants. + const std::vector instanceIds +@@ -646,7 +648,7 @@ public: + return buffers; + } + +- virtual std::vector getVertexDataStrides() const override ++ std::vector getVertexDataStrides() const override + { + std::vector strides; + strides.reserve(2u); +@@ -668,21 +670,21 @@ public: + : m_lastVertex (lastVertex) + {} + +- virtual std::vector getAttributeDeclarations() const override ++ std::vector getAttributeDeclarations() const override + { + auto declarations = VertexWithPadding::getAttributeDeclarations(); + declarations.push_back("layout(location=0) flat out uint colorMultiplier;"); + return declarations; + } + +- virtual std::vector getDescriptorDeclarations() const override ++ std::vector getDescriptorDeclarations() const override + { + auto declarations = VertexWithPadding::getDescriptorDeclarations(); + declarations.push_back("layout(location=0) flat out uint colorMultiplier[];"); + return declarations; + } + +- virtual std::vector getVertexCoordCalc() const override ++ std::vector getVertexCoordCalc() const override + { + auto statements = VertexWithPadding::getVertexCoordCalc(); + statements.push_back("const bool provokingLast = " + std::string(m_lastVertex ? "true" : "false") + ";"); +@@ -690,7 +692,7 @@ public: + return statements; + } + +- virtual std::vector getDescriptorCoordCalc(TopologyClass topology) const override ++ std::vector getDescriptorCoordCalc(TopologyClass topology) const override + { + auto statements = VertexWithPadding::getDescriptorCoordCalc(topology); + statements.push_back("const bool provokingLast = " + std::string(m_lastVertex ? "true" : "false") + ";"); +@@ -698,7 +700,7 @@ public: + return statements; + } + +- virtual std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override ++ std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override + { + static constexpr uint32_t kExpectecdCoordCount = 3u; + DE_UNREF(kExpectecdCoordCount); // For release builds. +@@ -706,14 +708,14 @@ public: + return VertexWithPadding::createVertexData(coords, dataOffset, trailingPadding, paddingPattern, patternSize); + } + +- virtual std::vector getFragInputAttributes() const override ++ std::vector getFragInputAttributes() const override + { + std::vector declarations; + declarations.push_back("layout(location=0) flat in uint colorMultiplier;"); + return declarations; + } + +- virtual std::vector getFragOutputCalc() const override ++ std::vector getFragOutputCalc() const override + { + std::vector statements; + statements.push_back("color = color * float(colorMultiplier);"); +@@ -740,7 +742,7 @@ protected: + }; + + public: +- virtual std::vector getAttributeDeclarations() const override ++ std::vector getAttributeDeclarations() const override + { + std::vector declarations; + declarations.reserve(2u); +@@ -749,7 +751,7 @@ public: + return declarations; + } + +- virtual std::vector getVertexCoordCalc() const override ++ std::vector getVertexCoordCalc() const override + { + std::vector statements; + statements.reserve(2u); +@@ -758,7 +760,7 @@ public: + return statements; + } + +- virtual std::vector getDescriptorDeclarations() const override ++ std::vector getDescriptorDeclarations() const override + { + std::vector declarations; + declarations.reserve(8u); +@@ -773,7 +775,7 @@ public: + return declarations; + } + +- virtual std::vector getDescriptorCoordCalc(TopologyClass topology) const override ++ std::vector getDescriptorCoordCalc(TopologyClass topology) const override + { + std::vector statements; + +@@ -808,7 +810,7 @@ public: + return statements; + } + +- virtual std::vector getAttributeDescriptions() const override ++ std::vector getAttributeDescriptions() const override + { + std::vector descriptions; + descriptions.push_back(vk::makeVertexInputAttributeDescription(0u, 0u, vk::VK_FORMAT_R32G32_SFLOAT, 0u)); +@@ -816,7 +818,7 @@ public: + return descriptions; + } + +- virtual std::vector getAttributeDescriptions2() const override ++ std::vector getAttributeDescriptions2() const override + { + std::vector descriptions; + descriptions.push_back(makeVertexInputAttributeDescription2EXT(0u, 0u, vk::VK_FORMAT_R32G32_SFLOAT, 0u)); +@@ -824,26 +826,26 @@ public: + return descriptions; + } + +- virtual std::vector getBindingDescriptions(const StrideVec& strides) const override ++ std::vector getBindingDescriptions(const StrideVec& strides) const override + { + std::vector descriptions; + descriptions.push_back(vk::makeVertexInputBindingDescription(0u, static_cast(strides.at(0)), vk::VK_VERTEX_INPUT_RATE_VERTEX)); + return descriptions; + } + +- virtual std::vector getBindingDescriptions2(const StrideVec& strides) const override ++ std::vector getBindingDescriptions2(const StrideVec& strides) const override + { + std::vector descriptions; + descriptions.push_back(makeVertexInputBindingDescription2EXT(0u, static_cast(strides.at(0)), vk::VK_VERTEX_INPUT_RATE_VERTEX)); + return descriptions; + } + +- virtual std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override ++ std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override + { + return std::vector>(1u, createSingleBindingVertexData(coords, dataOffset, trailingPadding, paddingPattern, patternSize)); + } + +- virtual std::vector getVertexDataStrides() const override ++ std::vector getVertexDataStrides() const override + { + return std::vector(1u, static_cast(sizeof(VertexData))); + } +@@ -907,7 +909,7 @@ protected: + }; + + public: +- virtual std::vector getAttributeDeclarations() const override ++ std::vector getAttributeDeclarations() const override + { + std::vector declarations; + declarations.reserve(3u); +@@ -919,7 +921,7 @@ public: + return declarations; + } + +- virtual std::vector getVertexCoordCalc() const override ++ std::vector getVertexCoordCalc() const override + { + std::vector statements; + statements.reserve(2u); +@@ -930,7 +932,7 @@ public: + return statements; + } + +- virtual std::vector getDescriptorDeclarations() const override ++ std::vector getDescriptorDeclarations() const override + { + std::vector declarations; + declarations.reserve(23u); +@@ -962,7 +964,7 @@ public: + return declarations; + } + +- virtual std::vector getDescriptorCoordCalc(TopologyClass topology) const override ++ std::vector getDescriptorCoordCalc(TopologyClass topology) const override + { + std::vector statements; + +@@ -1001,7 +1003,7 @@ public: + return statements; + } + +- virtual std::vector getAttributeDescriptions() const override ++ std::vector getAttributeDescriptions() const override + { + // We create the descriptions vector out of order to make it more interesting. See the attribute declarations. + std::vector descriptions; +@@ -1014,7 +1016,7 @@ public: + return descriptions; + } + +- virtual std::vector getAttributeDescriptions2() const override ++ std::vector getAttributeDescriptions2() const override + { + // We create the descriptions vector out of order to make it more interesting. See the attribute declarations. + std::vector descriptions; +@@ -1027,7 +1029,7 @@ public: + return descriptions; + } + +- virtual std::vector getBindingDescriptions(const StrideVec& strides) const override ++ std::vector getBindingDescriptions(const StrideVec& strides) const override + { + // Provide descriptions out of order to make it more interesting. + std::vector descriptions; +@@ -1043,7 +1045,7 @@ public: + return descriptions; + } + +- virtual std::vector getBindingDescriptions2(const StrideVec& strides) const override ++ std::vector getBindingDescriptions2(const StrideVec& strides) const override + { + // Provide descriptions out of order to make it more interesting. + std::vector descriptions; +@@ -1059,7 +1061,7 @@ public: + return descriptions; + } + +- virtual std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override ++ std::vector> createVertexData (const std::vector& coords, vk::VkDeviceSize dataOffset, vk::VkDeviceSize trailingPadding, const void* paddingPattern, size_t patternSize) const override + { + std::vector> result; + result.reserve(6u); +@@ -1074,7 +1076,7 @@ public: + return result; + } + +- virtual std::vector getVertexDataStrides() const override ++ std::vector getVertexDataStrides() const override + { + std::vector strides; + strides.reserve(6u); +@@ -1411,6 +1413,7 @@ class ReferenceColorGenerator + { + public: + typedef std::unique_ptr P; ++ virtual ~ReferenceColorGenerator () {} + + virtual void operator() (tcu::PixelBufferAccess&) const = 0; + virtual P clone () const = 0; +diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp +index d3e8d5ca3..8ed6bb91c 100644 +--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp ++++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp +@@ -254,7 +254,7 @@ public: + const bool hostQueryReset, + const bool transferOnlyQueue, + const VkQueryResultFlags queryResultFlags); +- ~TimestampTestParam (void); ++ virtual ~TimestampTestParam (void); + virtual const std::string generateTestName (void) const; + PipelineConstructionType getPipelineConstructionType (void) const { return m_pipelineConstructionType; } + StageFlagVector getStageVector (void) const { return m_stageVec; } +diff --git a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp +index 752715f43..2aeba474f 100644 +--- a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp ++++ b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp +@@ -172,6 +172,8 @@ TestConfiguration::~TestConfiguration() + class SceneBuilder + { + public: ++ virtual ~SceneBuilder () {} ++ + virtual std::vector> initBottomAccelerationStructures (Context& context, + TestParams& testParams) = 0; + virtual de::MovePtr initTopAccelerationStructure (Context& context, +diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp +index 9b440e66e..b3c8efaab 100644 +--- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp ++++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp +@@ -145,6 +145,8 @@ struct TestParams; + class TestConfiguration + { + public: ++ virtual ~TestConfiguration () {} ++ + virtual std::vector> initBottomAccelerationStructures (Context& context, + TestParams& testParams) = 0; + virtual de::MovePtr initTopAccelerationStructure (Context& context, +@@ -3271,6 +3273,7 @@ protected: + + struct ASInterface + { ++ virtual ~ASInterface () {} + virtual VkAccelerationStructureKHR getPtr() const = 0; + virtual VkAccelerationStructureBuildSizesInfoKHR getStructureBuildSizes() const = 0; + virtual ASInterfacePtr clone (Context& ctx, VkAccelerationStructureBuildTypeKHR buildType, const VkCommandBuffer cmd, VkDeviceSize size) = 0; +diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingCallableShadersTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingCallableShadersTests.cpp +index 90744b000..22eea0fca 100644 +--- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingCallableShadersTests.cpp ++++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingCallableShadersTests.cpp +@@ -77,6 +77,8 @@ struct TestParams; + class TestConfiguration + { + public: ++ virtual ~TestConfiguration () {} ++ + virtual std::vector> initBottomAccelerationStructures (Context& context, + TestParams& testParams) = 0; + virtual de::MovePtr initTopAccelerationStructure (Context& context, +diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingCaptureReplayTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingCaptureReplayTests.cpp +index 5e9891c6a..bbbc876ea 100644 +--- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingCaptureReplayTests.cpp ++++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingCaptureReplayTests.cpp +@@ -127,6 +127,8 @@ struct PipelineData + class TestConfiguration + { + public: ++ virtual ~TestConfiguration () {} ++ + virtual std::vector> initBottomAccelerationStructures (Context& context, + TestParams& testParams) = 0; + virtual de::MovePtr initTopAccelerationStructure (Context& context, +diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingPipelineFlagsTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingPipelineFlagsTests.cpp +index 605f57245..a05959d1e 100644 +--- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingPipelineFlagsTests.cpp ++++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingPipelineFlagsTests.cpp +@@ -219,6 +219,8 @@ private: + template + struct Shader + { ++ virtual ~Shader () {} ++ + virtual bool ignoreIntersection (const rayPayloadEXT&, const shaderRecordEXT&) const { return false; } + virtual rayPayloadEXT invoke (const rayPayloadEXT&, const shaderRecordEXT&) const = 0; + }; +diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingShaderBindingTableTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingShaderBindingTableTests.cpp +index 3cb01a919..f471c7f91 100644 +--- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingShaderBindingTableTests.cpp ++++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingShaderBindingTableTests.cpp +@@ -81,6 +81,8 @@ struct TestParams; + class TestConfiguration + { + public: ++ virtual ~TestConfiguration () {} ++ + virtual std::vector> initBottomAccelerationStructures (Context& context, + TestParams& testParams) = 0; + virtual de::MovePtr initTopAccelerationStructure (Context& context, +diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingTraversalControlTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingTraversalControlTests.cpp +index e3da91ba6..5a1a3256d 100644 +--- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingTraversalControlTests.cpp ++++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingTraversalControlTests.cpp +@@ -83,6 +83,8 @@ struct TestParams; + class TestConfiguration + { + public: ++ virtual ~TestConfiguration () {} ++ + virtual std::vector> initBottomAccelerationStructures (Context& context, + TestParams& testParams) = 0; + virtual de::MovePtr initTopAccelerationStructure (Context& context, +diff --git a/external/vulkancts/modules/vulkan/renderpass/vktRenderPassSubpassDependencyTests.cpp b/external/vulkancts/modules/vulkan/renderpass/vktRenderPassSubpassDependencyTests.cpp +index 5da7aa233..08b250f97 100644 +--- a/external/vulkancts/modules/vulkan/renderpass/vktRenderPassSubpassDependencyTests.cpp ++++ b/external/vulkancts/modules/vulkan/renderpass/vktRenderPassSubpassDependencyTests.cpp +@@ -153,6 +153,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~DepthVertShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -178,6 +180,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~DepthFragShader () {} ++ + void shadeFragments (rr::FragmentPacket* packets, const int numPackets, const rr::FragmentShadingContext& context) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -202,6 +206,8 @@ public: + m_inputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~SelfDependencyBackwardsVertShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -222,6 +228,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~SelfDependencyBackwardsFragShader () {} ++ + void shadeFragments (rr::FragmentPacket* packets, const int numPackets, const rr::FragmentShadingContext& context) const + { + DE_UNREF(packets); +diff --git a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp +index 396ccf764..77ffb83a8 100644 +--- a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp ++++ b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp +@@ -5650,6 +5650,8 @@ template + class Sampling + { + public: ++ virtual ~Sampling () {} ++ + virtual void genFixeds (const FloatFormat&, const Precision, vector&, const Interval&) const {} + virtual T genRandom (const FloatFormat&,const Precision, Random&, const Interval&) const { return T(); } + virtual void removeNotInRange (vector&, const Interval&, const Precision) const {} +diff --git a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp +index f4d8db2c2..a03fea26f 100644 +--- a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp ++++ b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp +@@ -75,6 +75,8 @@ public: + m_inputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~FrontFacingVertexShader () {} ++ + void shadeVertices (const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) +@@ -95,6 +97,8 @@ public: + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + ++ virtual ~FrontFacingFragmentShader () {} ++ + void shadeFragments (rr::FragmentPacket* , const int numPackets, const rr::FragmentShadingContext& context) const + { + tcu::Vec4 color; +diff --git a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderTextureGatherTests.cpp b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderTextureGatherTests.cpp +index 018f19f5d..c98de21e5 100644 +--- a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderTextureGatherTests.cpp ++++ b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderTextureGatherTests.cpp +@@ -683,6 +683,8 @@ static bool verifyGatherOffsets (TestLog& log, + class PixelCompareRefZ + { + public: ++ virtual ~PixelCompareRefZ () {} ++ + virtual float operator() (const IVec2& pixCoord) const = 0; + }; + +diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp +index 60b72a7dc..f9355055f 100644 +--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp ++++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp +@@ -55,6 +55,8 @@ template + class CompareOperation + { + public: ++ virtual ~CompareOperation () {} ++ + virtual std::string spirvName () const = 0; + virtual bool run (T left, T right) const = 0; + }; +@@ -65,6 +67,7 @@ class DoubleCompareOperation: public CompareOperation + public: + struct BasicImplementation + { ++ virtual ~BasicImplementation () {} + virtual std::string nameSuffix () const = 0; + virtual bool run (double left, double right) const = 0; // No NaNs here. + }; +@@ -127,6 +130,8 @@ class IntCompareOperation: public CompareOperation + public: + struct Implementation + { ++ virtual ~Implementation () {} ++ + virtual std::string typeChar () const = 0; + virtual std::string opName () const = 0; + virtual bool run (IntClass left, IntClass right) const = 0; +diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp +index 68d2d0a43..c6c78d38c 100644 +--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp ++++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp +@@ -14397,6 +14397,8 @@ do { \ + { + } + ++ virtual ~fp16PerComponent () {} ++ + bool callOncePerComponent () { return true; } + deUint32 getComponentValidity () { return static_cast(-1); } + +diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmUtils.hpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmUtils.hpp +index 00e73427c..779cd4b35 100644 +--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmUtils.hpp ++++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmUtils.hpp +@@ -153,6 +153,8 @@ public: + { + } + ++ virtual ~Resource () {} ++ + virtual const BufferSp& getBuffer () const { return buffer; } + virtual void getBytes (std::vector& bytes) const { buffer->getBytes(bytes); } + virtual size_t getByteSize (void) const { return buffer->getByteSize(); } +diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationWin32KeyedMutexTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationWin32KeyedMutexTests.cpp +index 842360da8..fe4d30034 100644 +--- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationWin32KeyedMutexTests.cpp ++++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationWin32KeyedMutexTests.cpp +@@ -1338,7 +1338,7 @@ public: + #endif + } + +- ~DX11OperationSupport () ++ virtual ~DX11OperationSupport () + { + #if (DE_OS == DE_OS_WIN32) + cleanup (); +diff --git a/external/vulkancts/modules/vulkan/vktBuildPrograms.cpp b/external/vulkancts/modules/vulkan/vktBuildPrograms.cpp +index 41ab4056f..c9937792b 100644 +--- a/external/vulkancts/modules/vulkan/vktBuildPrograms.cpp ++++ b/external/vulkancts/modules/vulkan/vktBuildPrograms.cpp +@@ -60,6 +60,8 @@ typedef de::SharedPtr ProgramBinarySp; + class Task + { + public: ++ virtual ~Task () {} ++ + virtual void execute (void) = 0; + }; + +diff --git a/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp b/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp +index a1c207121..54cc9c7e9 100644 +--- a/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp ++++ b/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp +@@ -427,6 +427,7 @@ void checkSupport(Context& context, TestParameters params) + + struct PixelSetter + { ++ virtual ~PixelSetter () {} + PixelSetter (const tcu::PixelBufferAccess& access) : m_access(access) {} + virtual void setPixel(const tcu::Vec4& rawValues, int x, int y, int z) const = 0; + protected: +diff --git a/framework/common/tcuCommandLine.hpp b/framework/common/tcuCommandLine.hpp +index f2c74c768..a2a309582 100644 +--- a/framework/common/tcuCommandLine.hpp ++++ b/framework/common/tcuCommandLine.hpp +@@ -142,7 +142,7 @@ public: + CommandLine (void); + CommandLine (int argc, const char* const* argv); + explicit CommandLine (const std::string& cmdLine); +- ~CommandLine (void); ++ virtual ~CommandLine (void); + + bool parse (int argc, const char* const* argv); + bool parse (const std::string& cmdLine); +diff --git a/framework/egl/wrapper/eglwFunctions.hpp b/framework/egl/wrapper/eglwFunctions.hpp +index 341b31713..123213553 100644 +--- a/framework/egl/wrapper/eglwFunctions.hpp ++++ b/framework/egl/wrapper/eglwFunctions.hpp +@@ -49,6 +49,7 @@ typedef EGLW_APICALL void (EGLW_APIENTRY* GenericFuncType) (void); + class FunctionLoader + { + public: ++ virtual ~FunctionLoader () {} + virtual GenericFuncType get (const char* name) const = 0; + }; + +diff --git a/framework/egl/wrapper/eglwLibrary.hpp b/framework/egl/wrapper/eglwLibrary.hpp +index d3d8fefc1..ca7d4e673 100644 +--- a/framework/egl/wrapper/eglwLibrary.hpp ++++ b/framework/egl/wrapper/eglwLibrary.hpp +@@ -37,6 +37,8 @@ namespace eglw + class Library + { + public: ++ virtual ~Library () {} ++ + // Entry points: + // virtual EGLBoolean initialize (EGLDisplay ...) const = 0; + #include "eglwLibrary.inl" +diff --git a/framework/opengl/gluShaderLibrary.hpp b/framework/opengl/gluShaderLibrary.hpp +index 5e8b1d184..438d5c04b 100644 +--- a/framework/opengl/gluShaderLibrary.hpp ++++ b/framework/opengl/gluShaderLibrary.hpp +@@ -196,6 +196,7 @@ bool isCapabilityRequired(CapabilityFlag capabilityFlag, const ShaderCaseSpecifi + class ShaderCaseFactory + { + public: ++ virtual ~ShaderCaseFactory () {} + virtual tcu::TestCaseGroup* createGroup (const std::string& name, const std::string& description, const std::vector& children) = 0; + virtual tcu::TestCase* createCase (const std::string& name, const std::string& description, const ShaderCaseSpecification& spec) = 0; + }; +diff --git a/framework/opengl/wrapper/glwFunctionLoader.hpp b/framework/opengl/wrapper/glwFunctionLoader.hpp +index 3f869e035..943717ace 100644 +--- a/framework/opengl/wrapper/glwFunctionLoader.hpp ++++ b/framework/opengl/wrapper/glwFunctionLoader.hpp +@@ -33,6 +33,8 @@ typedef GLW_APICALL void (GLW_APIENTRY* GenericFuncType) (void); + class FunctionLoader + { + public: ++ virtual ~FunctionLoader () {} ++ + virtual GenericFuncType get (const char* name) const = 0; + }; + +diff --git a/framework/referencerenderer/rrRenderer.cpp b/framework/referencerenderer/rrRenderer.cpp +index b07479ed1..94233c5ba 100644 +--- a/framework/referencerenderer/rrRenderer.cpp ++++ b/framework/referencerenderer/rrRenderer.cpp +@@ -209,6 +209,7 @@ tcu::Vec4 clipVec4ToVec4 (const ClipVec4& v) + class ClipVolumePlane + { + public: ++ virtual ~ClipVolumePlane () {} + virtual bool pointInClipVolume (const ClipVec4& p) const = 0; + virtual ClipFloat clipLineSegmentEnd (const ClipVec4& v0, const ClipVec4& v1) const = 0; + virtual ClipVec4 getLineIntersectionPoint (const ClipVec4& v0, const ClipVec4& v1) const = 0; +diff --git a/framework/referencerenderer/rrShaders.hpp b/framework/referencerenderer/rrShaders.hpp +index 748980b01..ccb2ba778 100644 +--- a/framework/referencerenderer/rrShaders.hpp ++++ b/framework/referencerenderer/rrShaders.hpp +@@ -107,7 +107,7 @@ public: + const std::vector& getOutputs (void) const { return m_outputs; } + + protected: +- ~VertexShader (void) {} // \note Renderer will not delete any objects passed in. ++ virtual ~VertexShader (void) {} // \note Renderer will not delete any objects passed in. + + std::vector m_inputs; + std::vector m_outputs; +@@ -130,7 +130,7 @@ public: + virtual void shadeFragments (FragmentPacket* packets, const int numPackets, const FragmentShadingContext& context) const = 0; // \note numPackets must be greater than zero. + + protected: +- ~FragmentShader (void) {} // \note Renderer will not delete any objects passed in. ++ virtual ~FragmentShader (void) {} // \note Renderer will not delete any objects passed in. + + std::vector m_inputs; + std::vector m_outputs; +@@ -188,6 +188,8 @@ public: + inline size_t getNumInvocations (void) const { return m_numInvocations; } + + protected: ++ virtual ~GeometryShader (void) {} ++ + const GeometryShaderInputType m_inputType; + const GeometryShaderOutputType m_outputType; + const size_t m_numVerticesOut; +-- +2.44.0 + diff --git a/.gitlab-ci/container/patches/build-deqp-vk_Use-subgroups-helper-in-derivate-tests.patch b/.gitlab-ci/container/patches/build-deqp-vk_Use-subgroups-helper-in-derivate-tests.patch deleted file mode 100644 index 908e983bfdb..00000000000 --- a/.gitlab-ci/container/patches/build-deqp-vk_Use-subgroups-helper-in-derivate-tests.patch +++ /dev/null @@ -1,56 +0,0 @@ -From ed3794c975d284a5453ae33ae59dd1541a9eb804 Mon Sep 17 00:00:00 2001 -From: Rob Clark -Date: Sat, 27 Jan 2024 10:57:28 -0800 -Subject: [PATCH] Use subgroups helper in derivate tests - -For the tests that need subgroup ops, use the existing subgroups helper, -rather than open-coding the same checks. ---- - .../vktShaderRenderDerivateTests.cpp | 23 ++++--------------- - 1 file changed, 5 insertions(+), 18 deletions(-) - -diff --git a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp -index a8bb5a3ba7..3253505958 100644 ---- a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp -+++ b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp -@@ -31,6 +31,7 @@ - - #include "vktShaderRenderDerivateTests.hpp" - #include "vktShaderRender.hpp" -+#include "subgroups/vktSubgroupsTestsUtils.hpp" - #include "vkImageUtil.hpp" - #include "vkQueryUtil.hpp" - -@@ -707,28 +708,14 @@ tcu::TestStatus TriangleDerivateCaseInstance::iterate (void) - { - const std::string errorPrefix = m_definitions.inNonUniformControlFlow ? "Derivatives in dynamic control flow" : - "Manual derivatives with subgroup operations"; -- if (!m_context.contextSupports(vk::ApiVersion(0, 1, 1, 0))) -- throw tcu::NotSupportedError(errorPrefix + " require Vulkan 1.1"); -- -- vk::VkPhysicalDeviceSubgroupProperties subgroupProperties; -- deMemset(&subgroupProperties, 0, sizeof(subgroupProperties)); -- subgroupProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; -- -- vk::VkPhysicalDeviceProperties2 properties2; -- deMemset(&properties2, 0, sizeof(properties2)); -- properties2.sType = vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; -- properties2.pNext = &subgroupProperties; -- -- m_context.getInstanceInterface().getPhysicalDeviceProperties2(m_context.getPhysicalDevice(), &properties2); -+ if (!subgroups::areQuadOperationsSupportedForStages(m_context, VK_SHADER_STAGE_FRAGMENT_BIT)) -+ throw tcu::NotSupportedError(errorPrefix + " tests require VK_SUBGROUP_FEATURE_QUAD_BIT"); - -- if (subgroupProperties.subgroupSize < 4) -+ if (subgroups::getSubgroupSize(m_context) < 4) - throw tcu::NotSupportedError(errorPrefix + " require subgroupSize >= 4"); - -- if ((subgroupProperties.supportedOperations & VK_SUBGROUP_FEATURE_BALLOT_BIT) == 0) -+ if (!subgroups::isSubgroupFeatureSupportedForDevice(m_context, VK_SUBGROUP_FEATURE_BALLOT_BIT)) - throw tcu::NotSupportedError(errorPrefix + " tests require VK_SUBGROUP_FEATURE_BALLOT_BIT"); -- -- if (isSubgroupFunc(m_definitions.func) && (subgroupProperties.supportedOperations & VK_SUBGROUP_FEATURE_QUAD_BIT) == 0) -- throw tcu::NotSupportedError(errorPrefix + " tests require VK_SUBGROUP_FEATURE_QUAD_BIT"); - } - - setup(); diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh index 2e76fd6e246..dd09e349895 100755 --- a/.gitlab-ci/deqp-runner.sh +++ b/.gitlab-ci/deqp-runner.sh @@ -59,7 +59,7 @@ if [ -z "$DEQP_SUITE" ]; then # Generate test case list file. if [ "$DEQP_VER" = "vk" ]; then - MUSTPASS=/deqp/mustpass/vk-master.txt + MUSTPASS=/deqp/mustpass/vk-main.txt DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk elif [ "$DEQP_VER" = "gles2" ] || [ "$DEQP_VER" = "gles3" ] || [ "$DEQP_VER" = "gles31" ] || [ "$DEQP_VER" = "egl" ]; then MUSTPASS=/deqp/mustpass/$DEQP_VER-main.txt diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 57980da4508..31932214c79 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -24,10 +24,10 @@ variables: DEBIAN_X86_64_TEST_IMAGE_VK_PATH: "debian/x86_64_test-vk" DEBIAN_X86_64_TEST_ANDROID_IMAGE_PATH: "debian/x86_64_test-android" - DEBIAN_X86_64_TEST_ANDROID_TAG: "20240401-wlproto" - DEBIAN_X86_64_TEST_GL_TAG: "20240411-piglit-dd6" - DEBIAN_X86_64_TEST_VK_TAG: "20240412-vkcts-xfb" - KERNEL_ROOTFS_TAG: "20240412-vkcts-xfb" + DEBIAN_X86_64_TEST_ANDROID_TAG: "20240417-deqp" + DEBIAN_X86_64_TEST_GL_TAG: "20240417-deqp" + DEBIAN_X86_64_TEST_VK_TAG: "20240417-deqp" + KERNEL_ROOTFS_TAG: "20240417-deqp" ALPINE_X86_64_BUILD_TAG: "20240412-pycparser" ALPINE_X86_64_LAVA_SSH_TAG: "20240401-wlproto" diff --git a/src/amd/ci/radv-navi10-aco-fails.txt b/src/amd/ci/radv-navi10-aco-fails.txt index 964b7b6979f..11a39cc483f 100644 --- a/src/amd/ci/radv-navi10-aco-fails.txt +++ b/src/amd/ci/radv-navi10-aco-fails.txt @@ -10,3 +10,6 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0 +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail diff --git a/src/amd/ci/radv-navi10-aco-flakes.txt b/src/amd/ci/radv-navi10-aco-flakes.txt index 120f4bc658e..d42503df890 100644 --- a/src/amd/ci/radv-navi10-aco-flakes.txt +++ b/src/amd/ci/radv-navi10-aco-flakes.txt @@ -5,3 +5,11 @@ dEQP-VK.pipeline.*.topology_line dEQP-VK.pipeline.fast_linked_library.depth.nocolor.format.d16_unorm_s8_uint_separate_layouts.compare_ops.line_list_less_greater_or_equal_less_greater dEQP-VK.query_pool.statistics_query.host_query_reset.geometry_shader_(invocations|primitives).secondary.(32|64)bits_.* + +# New CTS flakes in 1.3.8.0 +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_diff_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_same_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_same_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_diff_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_diff_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.whole_image_diff_format diff --git a/src/amd/ci/radv-navi21-aco-fails.txt b/src/amd/ci/radv-navi21-aco-fails.txt index 964b7b6979f..11a39cc483f 100644 --- a/src/amd/ci/radv-navi21-aco-fails.txt +++ b/src/amd/ci/radv-navi21-aco-fails.txt @@ -10,3 +10,6 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0 +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail diff --git a/src/amd/ci/radv-navi21-aco-flakes.txt b/src/amd/ci/radv-navi21-aco-flakes.txt index dcc83007a97..b695bb1851c 100644 --- a/src/amd/ci/radv-navi21-aco-flakes.txt +++ b/src/amd/ci/radv-navi21-aco-flakes.txt @@ -14,3 +14,8 @@ dEQP-VK.pipeline.shader_object_linked_binary.image.suballocation.sampling_type.s dEQP-VK.pipeline.shader_object_unlinked_binary.image.suballocation.sampling_type.combined.view_type.1d.format.r8_unorm.count_8.size.443x1 dEQP-VK.pipeline.shader_object_unlinked_binary.image.suballocation.sampling_type.separate.view_type.1d_array.format.a1b5g5r5_unorm_pack16_khr.count_8.size.443x1_array_of_6 dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.misc.maintenance5 + +# New CTS flakes in 1.3.8.0 +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_same_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_same_format_noclear diff --git a/src/amd/ci/radv-navi31-aco-fails.txt b/src/amd/ci/radv-navi31-aco-fails.txt index aa25bb0bfeb..11a39cc483f 100644 --- a/src/amd/ci/radv-navi31-aco-fails.txt +++ b/src/amd/ci/radv-navi31-aco-fails.txt @@ -1,108 +1,6 @@ # New CTS failures in 1.3.7.0 dEQP-VK.api.version_check.unavailable_entry_points,Fail -# CTS bug https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4903 -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_binary.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float16.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.float16_float32.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.sint8_sint32.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_sint32.workgroup_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.buffer_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.buffer_varptr.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.physical_buffer.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.physical_buffer.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.workgroup.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.workgroup.rowmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.workgroup_varptr.colmajor,Fail -dEQP-VK.compute.shader_object_spirv.cooperative_matrix.khr_r.matrixmuladd_min.uint8_uint32.workgroup_varptr.rowmajor,Fail - # Test bugs https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/5074 dEQP-VK.pipeline.fast_linked_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.fast_linked_library.misc.unused_shader_stages_include_geom,Crash @@ -112,3 +10,6 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0 +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail diff --git a/src/amd/ci/radv-navi31-aco-flakes.txt b/src/amd/ci/radv-navi31-aco-flakes.txt index f24dd50ffb7..cf3933664c6 100644 --- a/src/amd/ci/radv-navi31-aco-flakes.txt +++ b/src/amd/ci/radv-navi31-aco-flakes.txt @@ -10,3 +10,7 @@ dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.misc.maintenance5 # Nightly run expectations update dEQP-VK.memory.mapping.suballocation.sub.1048577.offset_0.size_1048575.subinvalidate_overlapping +# New CTS flakes in 1.3.8.0 +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_diff_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_diff_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_same_format_noclear diff --git a/src/amd/ci/radv-polaris10-aco-fails.txt b/src/amd/ci/radv-polaris10-aco-fails.txt index a6a93b564bc..aa7678f4dc2 100644 --- a/src/amd/ci/radv-polaris10-aco-fails.txt +++ b/src/amd/ci/radv-polaris10-aco-fails.txt @@ -10,3 +10,9 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0. +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_diff_format_clear,Fail +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_diff_format_noclear,Fail +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.whole_image_diff_format,Fail +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail diff --git a/src/amd/ci/radv-polaris10-aco-flakes.txt b/src/amd/ci/radv-polaris10-aco-flakes.txt index e69de29bb2d..ded8527e9f1 100644 --- a/src/amd/ci/radv-polaris10-aco-flakes.txt +++ b/src/amd/ci/radv-polaris10-aco-flakes.txt @@ -0,0 +1,6 @@ +# New CTS flakes in 1.3.8.0. +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_same_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_diff_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_same_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.whole_image_diff_format diff --git a/src/amd/ci/radv-renoir-aco-fails.txt b/src/amd/ci/radv-renoir-aco-fails.txt index a6a93b564bc..931aa1f54ae 100644 --- a/src/amd/ci/radv-renoir-aco-fails.txt +++ b/src/amd/ci/radv-renoir-aco-fails.txt @@ -10,3 +10,6 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0. +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail diff --git a/src/amd/ci/radv-renoir-aco-flakes.txt b/src/amd/ci/radv-renoir-aco-flakes.txt index e69de29bb2d..28aa93daca9 100644 --- a/src/amd/ci/radv-renoir-aco-flakes.txt +++ b/src/amd/ci/radv-renoir-aco-flakes.txt @@ -0,0 +1,8 @@ +# New CTS flakes in 1.3.8.0. +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_diff_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_same_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_diff_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_diff_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_same_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.whole_image +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.whole_image_diff_format diff --git a/src/amd/ci/radv-stoney-aco-fails.txt b/src/amd/ci/radv-stoney-aco-fails.txt index d52f5efff4f..a3bcdeb5180 100644 --- a/src/amd/ci/radv-stoney-aco-fails.txt +++ b/src/amd/ci/radv-stoney-aco-fails.txt @@ -50,3 +50,6 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0 +dEQP-VK.texture.mipmap.2d.image_view_min_lod.base_level.nearest_linear_integer_texel_coord,Fail diff --git a/src/amd/ci/radv-stoney-aco-flakes.txt b/src/amd/ci/radv-stoney-aco-flakes.txt index d2957eec32d..9ce01f65162 100644 --- a/src/amd/ci/radv-stoney-aco-flakes.txt +++ b/src/amd/ci/radv-stoney-aco-flakes.txt @@ -12,3 +12,5 @@ multisample-dEQP-GLES31.functional.blend_equation_advanced.basic.colordodge multisample-dEQP-GLES31.functional.blend_equation_advanced.basic.darken multisample-dEQP-GLES31.functional.blend_equation_advanced.basic.overlay +# New CTS flakes in 1.3.8.0 +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_same_format_clear diff --git a/src/amd/ci/radv-tahiti-aco-fails.txt b/src/amd/ci/radv-tahiti-aco-fails.txt index 09cebd14290..d42698cf42d 100644 --- a/src/amd/ci/radv-tahiti-aco-fails.txt +++ b/src/amd/ci/radv-tahiti-aco-fails.txt @@ -29,3 +29,6 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0 +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail diff --git a/src/amd/ci/radv-vangogh-aco-fails.txt b/src/amd/ci/radv-vangogh-aco-fails.txt index bc975be71ce..10adc86abb8 100644 --- a/src/amd/ci/radv-vangogh-aco-fails.txt +++ b/src/amd/ci/radv-vangogh-aco-fails.txt @@ -78,3 +78,6 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0. +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail diff --git a/src/amd/ci/radv-vangogh-aco-flakes.txt b/src/amd/ci/radv-vangogh-aco-flakes.txt index 258cf8eaf2a..ba20ba10dfb 100644 --- a/src/amd/ci/radv-vangogh-aco-flakes.txt +++ b/src/amd/ci/radv-vangogh-aco-flakes.txt @@ -37,3 +37,11 @@ dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compi dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s2_l23_aabbs_check_all_handles dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.singlethreaded_compilation.s3_l232_check_capture_replay_handles +# New CTS flakes in 1.3.8.0. +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_diff_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_same_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_same_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_same_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_same_format_noclear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.whole_image diff --git a/src/amd/ci/radv-vega10-aco-fails.txt b/src/amd/ci/radv-vega10-aco-fails.txt index a6a93b564bc..931aa1f54ae 100644 --- a/src/amd/ci/radv-vega10-aco-fails.txt +++ b/src/amd/ci/radv-vega10-aco-fails.txt @@ -10,3 +10,6 @@ dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_geom,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess,Crash dEQP-VK.pipeline.pipeline_library.misc.unused_shader_stages_include_tess_include_geom,Crash + +# New CTS failures in 1.3.8.0. +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail diff --git a/src/amd/ci/radv-vega10-aco-flakes.txt b/src/amd/ci/radv-vega10-aco-flakes.txt index e69de29bb2d..c234d9d1230 100644 --- a/src/amd/ci/radv-vega10-aco-flakes.txt +++ b/src/amd/ci/radv-vega10-aco-flakes.txt @@ -0,0 +1,5 @@ +# New CTS flakes in 1.3.8.0. +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_npot_same_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.partial_image_pot_diff_format_clear +dEQP-VK.api.copy_and_blit.sparse.image_to_image.simple_tests.whole_image_diff_format diff --git a/src/broadcom/ci/broadcom-rpi4-fails.txt b/src/broadcom/ci/broadcom-rpi4-fails.txt index 6f5fcbf2b63..1b48e89c6d3 100644 --- a/src/broadcom/ci/broadcom-rpi4-fails.txt +++ b/src/broadcom/ci/broadcom-rpi4-fails.txt @@ -657,3 +657,6 @@ dEQP-VK.shader_object.misc.state.pipeline.vert_geom_frag.stencil.enabled,Crash # reported and fixed upstream (internal issue #4790), and a fix is available in CTS # since release tag 1.3.7.3. dEQP-VK.dynamic_rendering.complete_secondary_cmd_buff.suballocation.load_store_op_none.depthstencil_d24_unorm_s8_uint_load_op_depth_load_stencil_none_store_op_depth_store_stencil_none_stencil_write_off,Fail + +# New CTS failures in 1.3.8.0 +dEQP-VK.dynamic_state.monolithic.general_state.double_static_bind,Fail diff --git a/src/freedreno/ci/deqp-freedreno-a618-vk-full.toml b/src/freedreno/ci/deqp-freedreno-a618-vk-full.toml index f0435b60bb8..cf7b4cd1eb8 100644 --- a/src/freedreno/ci/deqp-freedreno-a618-vk-full.toml +++ b/src/freedreno/ci/deqp-freedreno-a618-vk-full.toml @@ -1,7 +1,7 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 renderer_check = "Turnip Adreno .* 618" @@ -9,7 +9,7 @@ renderer_check = "Turnip Adreno .* 618" # Autotuner forces sysmem on most CTS tests [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 prefix = "gmem-" fraction = 10 @@ -19,7 +19,7 @@ TU_DEBUG = "gmem,forcebin" # non-binning gmem-forced testing. Takes about 2-5 seconds. [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 prefix = "nobin-" fraction = 10 @@ -30,7 +30,7 @@ TU_DEBUG = "gmem,nobin" # force-sysmem testing [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 include = ["dEQP-VK.renderpass.*"] prefix = "bypass-" diff --git a/src/freedreno/ci/deqp-freedreno-a618-vk.toml b/src/freedreno/ci/deqp-freedreno-a618-vk.toml index 75dccf7fced..646633762dc 100644 --- a/src/freedreno/ci/deqp-freedreno-a618-vk.toml +++ b/src/freedreno/ci/deqp-freedreno-a618-vk.toml @@ -1,7 +1,7 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a618-premerge-skips.txt"] renderer_check = "Turnip Adreno .* 618" fraction = 2 @@ -10,7 +10,7 @@ fraction = 2 # Autotuner forces sysmem on most CTS tests [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a618-premerge-skips.txt"] prefix = "gmem-" fraction = 15 @@ -19,7 +19,7 @@ TU_DEBUG = "gmem,forcebin" [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a618-premerge-skips.txt"] include = ["dEQP-VK.graphicsfuzz.*", "dEQP-VK.subgroups.ballot*"] prefix = "spill-" diff --git a/src/freedreno/ci/deqp-freedreno-a630-vk-asan.toml b/src/freedreno/ci/deqp-freedreno-a630-vk-asan.toml index 32cc302593f..4c3990212ff 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-vk-asan.toml +++ b/src/freedreno/ci/deqp-freedreno-a630-vk-asan.toml @@ -1,7 +1,7 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt", "install/freedreno-a630-asan-skips.txt"] fraction = 1000 renderer_check = "Turnip Adreno .* 630" @@ -12,7 +12,7 @@ ASAN_OPTIONS = "detect_leaks=0" # Force the spiller on one test so we see its memory usage. [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt", "install/freedreno-a630-asan-skips.txt"] include = ["dEQP-VK.graphicsfuzz.barrier-in-loop-with-break"] prefix = "spill-" diff --git a/src/freedreno/ci/deqp-freedreno-a630-vk-full.toml b/src/freedreno/ci/deqp-freedreno-a630-vk-full.toml index b55884802f2..cfd145616b4 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-vk-full.toml +++ b/src/freedreno/ci/deqp-freedreno-a630-vk-full.toml @@ -1,7 +1,7 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 renderer_check = "Turnip Adreno .* 630" @@ -9,7 +9,7 @@ renderer_check = "Turnip Adreno .* 630" # Autotuner forces sysmem on most CTS tests [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 prefix = "gmem-" fraction = 10 @@ -19,7 +19,7 @@ TU_DEBUG = "gmem,forcebin" # force-sysmem testing [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 include = ["dEQP-VK.renderpass.*"] prefix = "bypass-" diff --git a/src/freedreno/ci/deqp-freedreno-a630-vk.toml b/src/freedreno/ci/deqp-freedreno-a630-vk.toml index bf63b1a00c9..556848b5281 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-vk.toml +++ b/src/freedreno/ci/deqp-freedreno-a630-vk.toml @@ -1,7 +1,7 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt"] fraction = 60 renderer_check = "Turnip Adreno .* 630" @@ -10,7 +10,7 @@ renderer_check = "Turnip Adreno .* 630" # Autotuner forces sysmem on most CTS tests [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt"] prefix = "gmem-" fraction = 150 @@ -20,7 +20,7 @@ TU_DEBUG = "gmem,forcebin" # force-gmem with unaligned gmem store testing (~15s) [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt"] include = ["dEQP-VK.renderpass.*"] prefix = "gmem-unaligned-" @@ -31,7 +31,7 @@ TU_DEBUG = "gmem,unaligned_store" # force-sysmem testing (~15s) [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt"] include = ["dEQP-VK.renderpass.*"] prefix = "bypass-" @@ -42,7 +42,7 @@ TU_DEBUG = "sysmem" # force-spilling testing (~10s) [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt"] include = ["dEQP-VK.graphicsfuzz.*"] prefix = "spill-" @@ -53,7 +53,7 @@ IR3_SHADER_DEBUG = "spillall" # dynamic rendering testing using emulated renderpass [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt"] include = ["dEQP-VK.renderpass2.*"] prefix = "dynamic-" @@ -64,7 +64,7 @@ TU_DEBUG = "dynamic" # testing for stale regs usage [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a630-premerge-skips.txt"] prefix = "stale-regs-" fraction = 200 diff --git a/src/freedreno/ci/deqp-freedreno-a660-vk-full.toml b/src/freedreno/ci/deqp-freedreno-a660-vk-full.toml index b625f99f55b..b869fe3a9cc 100644 --- a/src/freedreno/ci/deqp-freedreno-a660-vk-full.toml +++ b/src/freedreno/ci/deqp-freedreno-a660-vk-full.toml @@ -1,7 +1,7 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 renderer_check = "Turnip Adreno .* 660" @@ -9,7 +9,7 @@ renderer_check = "Turnip Adreno .* 660" # Autotuner forces sysmem on most CTS tests [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 prefix = "gmem-" fraction = 10 @@ -19,7 +19,7 @@ TU_DEBUG = "gmem,forcebin" # non-binning gmem-forced testing. Takes about 2-5 seconds. [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 prefix = "nobin-" fraction = 10 @@ -30,7 +30,7 @@ TU_DEBUG = "gmem,nobin" # force-sysmem testing [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] timeout = 300 include = ["dEQP-VK.renderpass.*"] prefix = "bypass-" diff --git a/src/freedreno/ci/deqp-freedreno-a660-vk.toml b/src/freedreno/ci/deqp-freedreno-a660-vk.toml index aa0e146c925..88da8330496 100644 --- a/src/freedreno/ci/deqp-freedreno-a660-vk.toml +++ b/src/freedreno/ci/deqp-freedreno-a660-vk.toml @@ -1,7 +1,7 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a660-premerge-skips.txt"] renderer_check = "Turnip Adreno .* 660" fraction = 2 @@ -10,7 +10,7 @@ fraction = 2 # Autotuner forces sysmem on most CTS tests [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/freedreno-a660-premerge-skips.txt"] prefix = "gmem-" fraction = 15 @@ -20,7 +20,7 @@ TU_DEBUG = "gmem,forcebin" # spillall and stale regs testing disabled due to crashing a ton. #[[deqp]] #deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -#caselists = ["/deqp/mustpass/vk-master.txt"] +#caselists = ["/deqp/mustpass/vk-main.txt"] #skips = ["install/freedreno-a660-premerge-skips.txt"] #include = ["dEQP-VK.graphicsfuzz.*", "dEQP-VK.subgroups.ballot*"] #prefix = "spill-" @@ -30,7 +30,7 @@ TU_DEBUG = "gmem,forcebin" # testing for stale regs usage #[[deqp]] #deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -#caselists = ["/deqp/mustpass/vk-master.txt"] +#caselists = ["/deqp/mustpass/vk-main.txt"] #skips = ["install/freedreno-a660-premerge-skips.txt"] #prefix = "stale-regs-" #fraction = 200 diff --git a/src/freedreno/ci/freedreno-a618-fails.txt b/src/freedreno/ci/freedreno-a618-fails.txt index 158c3728b37..30a2e1725ae 100644 --- a/src/freedreno/ci/freedreno-a618-fails.txt +++ b/src/freedreno/ci/freedreno-a618-fails.txt @@ -342,3 +342,14 @@ 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 + +# New CTS failures in 1.3.8.0 +dEQP-VK.binding_model.descriptor_buffer.basic.limits,Fail +dEQP-VK.binding_model.descriptorset_random.sets4.constant.ubolimithigh.sbolimitlow.sampledimglow.outimgtexlow.iublimitlow.uab.frag.noia.0,Fail +dEQP-VK.info.device_mandatory_features,Fail +dEQP-VK.info.device_properties,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rte_conv_from_uint32_up_frag,Fail +gmem-dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp32.input_args.rounding_rte_conv_from_uint32_up,Fail +gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.line_strip.indirect,Fail +gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.triangle_list_with_adjacency.indirect,Fail +gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.pgq_64bit_xfb_32bit.point_list.draw,Fail diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt index f93aaf2aa0d..107cc0faab5 100644 --- a/src/freedreno/ci/freedreno-a630-fails.txt +++ b/src/freedreno/ci/freedreno-a630-fails.txt @@ -342,3 +342,7 @@ gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_s 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 stale-regs-dEQP-VK.transform_feedback.primitives_generated_query.copy.queue_reset.pgq_64bit_xfb_32bit.tese.xfb.rast.patch_list.pgq_default_xfb_default.single_draw.pqg_first.after_2_queries,Fail + +# New CTS failures in 1.3.8.0 +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 +gmem-dEQP-VK.transform_feedback.primitives_generated_query.concurrent.pipeline_statistics_1.32bit.line_list_with_adjacency.indirect,Fail diff --git a/src/freedreno/ci/freedreno-a630-skips.txt b/src/freedreno/ci/freedreno-a630-skips.txt index 59dbad8e411..f837c1b9156 100644 --- a/src/freedreno/ci/freedreno-a630-skips.txt +++ b/src/freedreno/ci/freedreno-a630-skips.txt @@ -76,3 +76,5 @@ spec@ext_image_dma_buf_import@ext_image_dma_buf_import-modifiers.* spec@egl_khr_gl_colorspace@srgb spec@egl_khr_gl_colorspace@linear +# Timeout +dEQP-VK.memory.mapping.suballocation.full.variable.implicit_unmap diff --git a/src/gallium/frontends/lavapipe/ci/deqp-lvp.toml b/src/gallium/frontends/lavapipe/ci/deqp-lvp.toml index 188d00b8006..bac1da0ff56 100644 --- a/src/gallium/frontends/lavapipe/ci/deqp-lvp.toml +++ b/src/gallium/frontends/lavapipe/ci/deqp-lvp.toml @@ -1,13 +1,13 @@ [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "llvmpipe" fraction = 3 # Do some nir clone/serialize validation, but not on the whole run. [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "llvmpipe" fraction = 100 prefix = "nir-stress=" diff --git a/src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt b/src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt index bc63763af49..88ac42781b5 100644 --- a/src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt +++ b/src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt @@ -23,3 +23,9 @@ dEQP-VK.pipeline.shader_object_linked_spirv.bind_buffers_2.maintenance5.robustne dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_780,Fail dEQP-VK.pipeline.shader_object_linked_spirv.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d24_unorm_s8_uint.random_806,Fail dEQP-VK.ray_tracing_pipeline.acceleration_structures.format.gpu_built.r8g8b8a8_snorm.nopadding.index_uint16,Fail + +# New CTS failures in 1.3.8.0 +dEQP-VK.pipeline.monolithic.multisample.multisampled_render_to_single_sampled.multi_subpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r32g32b32a32_uint_d16_unorm.random_844,Fail +dEQP-VK.pipeline.shader_object_linked_spirv.logic_op.r8g8_uint.or_reverse,Fail +dEQP-VK.pipeline.shader_object_unlinked_binary.multisample.multisampled_render_to_single_sampled.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_839,Fail +dEQP-VK.pipeline.shader_object_unlinked_binary.multisample.multisampled_render_to_single_sampled.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_sint_d32_sfloat_s8_uint.random_839,Fail diff --git a/src/intel/ci/deqp-anv-jsl-full.toml b/src/intel/ci/deqp-anv-jsl-full.toml index 0b6e1a6194c..4fdf7a1528e 100644 --- a/src/intel/ci/deqp-anv-jsl-full.toml +++ b/src/intel/ci/deqp-anv-jsl-full.toml @@ -1,5 +1,5 @@ [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "JSL" timeout = 180 diff --git a/src/intel/ci/deqp-anv-jsl.toml b/src/intel/ci/deqp-anv-jsl.toml index fb0adb592ec..dae4e364ec8 100644 --- a/src/intel/ci/deqp-anv-jsl.toml +++ b/src/intel/ci/deqp-anv-jsl.toml @@ -1,6 +1,6 @@ [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] skips = ["install/anv-jsl-premerge-skips.txt"] fraction = 12 renderer_check = "JSL" diff --git a/src/intel/ci/deqp-anv-tgl-full.toml b/src/intel/ci/deqp-anv-tgl-full.toml index 3e98d748f6d..74ef98b38c3 100644 --- a/src/intel/ci/deqp-anv-tgl-full.toml +++ b/src/intel/ci/deqp-anv-tgl-full.toml @@ -1,5 +1,5 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "TGL GT2" diff --git a/src/intel/ci/deqp-anv-tgl.toml b/src/intel/ci/deqp-anv-tgl.toml index efb161531bb..ae9aa488a39 100644 --- a/src/intel/ci/deqp-anv-tgl.toml +++ b/src/intel/ci/deqp-anv-tgl.toml @@ -1,14 +1,14 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] fraction = 6 renderer_check = "TGL GT2" # Rerun query tests with shader query optimizations (14443 tests) [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "TGL GT2" include = ["dEQP-VK.query_pool.*"] prefix = "shaderquery-" @@ -20,7 +20,7 @@ prefix = "shaderquery-" # (3814 tests) [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "TGL GT2" include = ["dEQP-VK.draw.*indirect*"] prefix = "indirectgen-inplace-" @@ -31,7 +31,7 @@ prefix = "indirectgen-inplace-" # (3814 tests) [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "TGL GT2" include = ["dEQP-VK.draw.*indirect*"] prefix = "indirectgen-inring-" diff --git a/src/intel/ci/deqp-hasvk-hsw.toml b/src/intel/ci/deqp-hasvk-hsw.toml index 1a250e4358d..26f7199fcb3 100644 --- a/src/intel/ci/deqp-hasvk-hsw.toml +++ b/src/intel/ci/deqp-hasvk-hsw.toml @@ -1,5 +1,5 @@ # Basic test set [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "HSW" diff --git a/src/intel/ci/iris-jsl-skips.txt b/src/intel/ci/iris-jsl-skips.txt index 33ce41144c9..9837b1c5a2b 100644 --- a/src/intel/ci/iris-jsl-skips.txt +++ b/src/intel/ci/iris-jsl-skips.txt @@ -3,3 +3,4 @@ KHR-GL46.gpu_shader_fp64.fp64.varyings KHR-GL46.gpu_shader_fp64.builtin.inverse_dmat4 KHR-Single-GL46.enhanced_layouts.xfb_global_buffer KHR-Single-GL46.enhanced_layouts.xfb_override_qualifiers_with_api +dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic diff --git a/src/panfrost/ci/deqp-panfrost-g52-vk.toml b/src/panfrost/ci/deqp-panfrost-g52-vk.toml index f7a9a52f067..35114a6399d 100644 --- a/src/panfrost/ci/deqp-panfrost-g52-vk.toml +++ b/src/panfrost/ci/deqp-panfrost-g52-vk.toml @@ -1,6 +1,6 @@ [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = ["/deqp/mustpass/vk-master.txt"] +caselists = ["/deqp/mustpass/vk-main.txt"] renderer_check = "Mali-G52" include = [ "dEQP-VK.pipeline.blend.*", diff --git a/src/virtio/ci/deqp-venus.toml b/src/virtio/ci/deqp-venus.toml index cf05b3ebd72..178df0f95b1 100644 --- a/src/virtio/ci/deqp-venus.toml +++ b/src/virtio/ci/deqp-venus.toml @@ -1,5 +1,5 @@ [[deqp]] deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" -caselists = [ "/deqp/mustpass/vk-master.txt" ] +caselists = [ "/deqp/mustpass/vk-main.txt" ] timeout = 30.0 # Starting lots of Crosvm instances simultaneously can take some time renderer_check = "Virtio-GPU Venus.*llvmpipe"