diff options
author | Nanley Chery <nanley.g.chery@intel.com> | 2022-03-16 13:08:04 -0700 |
---|---|---|
committer | Matthew Netsch <quic_mnetsch@quicinc.com> | 2022-04-07 17:23:49 +0000 |
commit | 659626f8244c13c5d97cb90853dbfdf79bd7ff65 (patch) | |
tree | 95152e9af858f2f5c4862518c69d110646b0e0ae | |
parent | bc75df5fb3388ed2b2ab2f1ffc4c896810ba7a35 (diff) | |
download | deqp-upstream-vulkan-cts-1.2.4.tar.gz |
Add queue ownership release in modifier testsupstream-vulkan-cts-1.2.4
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
-rw-r--r-- | external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp b/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp index 9a97ccdfa..be294da66 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; |