From 659626f8244c13c5d97cb90853dbfdf79bd7ff65 Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Wed, 16 Mar 2022 13:08:04 -0700 Subject: [PATCH] Add queue ownership release in modifier tests Queue ownership transfers require a release operation and an acquire operation. Before this patch, this test only performed the acquire operation. Components: Vulkan VK-GL-CTS issue: 3575 Affects: dEQP-VK.drm_format_modifiers.export_import.* Change-Id: I2998d7928d1042d6a159e1173257ee551c1120a5 --- .../modules/vulkan/modifiers/vktModifiersTests.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp b/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp index 9a97ccd..be294da 100644 --- a/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp +++ b/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp @@ -573,6 +573,27 @@ bool exportImportMemoryExplicitModifiersCase (Context& context, const VkFormat f }; vkd.cmdBlitImage(*cmdBuffer, *srcImage, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, *dstImage, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &imageBlit, VK_FILTER_NEAREST); + const VkImageMemoryBarrier exportImageBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags dstAccessMask; + VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags srcAccessMask; + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, // VkImageLayout oldLayout; + VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, // VkImageLayout newLayout; + context.getUniversalQueueFamilyIndex(), // deUint32 dstQueueFamilyIndex; + VK_QUEUE_FAMILY_FOREIGN_EXT, // deUint32 srcQueueFamilyIndex; + *dstImage, // VkImage image; + { // VkImageSubresourceRange subresourceRange; + VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask; + 0u, // deUint32 baseMipLevel; + 1u, // deUint32 mipLevels; + 0u, // deUint32 baseArraySlice; + 1u // deUint32 arraySize; + } + }; + + vkd.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &exportImageBarrier); VK_CHECK(vkd.endCommandBuffer(*cmdBuffer)); submitCommandsAndWait(vkd, device, context.getUniversalQueue(), *cmdBuffer); VkImageDrmFormatModifierPropertiesEXT properties; -- 2.7.4