From 4e830b7e271d5b77bc303f91ee11c7f703f14176 Mon Sep 17 00:00:00 2001 From: Sagar Ghuge Date: Mon, 12 Apr 2021 23:06:49 -0700 Subject: [PATCH] Drop unnecessary barrier This extra barrier which does the transition from UNDEFINED-> GENERAL, image data is read immediately after that, which leads to the test failure after enabling the storage image compression. Components: Vulkan VK-GL-CTS Issue: 2884 Affects: dEQP-VK.synchronization.* dEQP-VK.synchronization2.* Change-Id: I2ef7ca40b9c869f69654797872ebabb83bfbec10 --- .../synchronization/vktSynchronizationOperation.cpp | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperation.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperation.cpp index 333f302..959f5ec 100644 --- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperation.cpp +++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperation.cpp @@ -2652,9 +2652,7 @@ public: const DeviceInterface& vk = m_context.getDeviceInterface(); SynchronizationWrapperPtr synchronizationWrapper = getSynchronizationWrapper(m_context.getSynchronizationType(), vk, DE_FALSE); - const VkImageMemoryBarrier2KHR imageMemoryBarriers2[] - { - makeImageMemoryBarrier2( + const VkImageMemoryBarrier2KHR imageMemoryBarriers2 = makeImageMemoryBarrier2( VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, // VkPipelineStageFlags2KHR srcStageMask (VkAccessFlags)0, // VkAccessFlags2KHR srcAccessMask m_pipelineStage, // VkPipelineStageFlags2KHR dstStageMask @@ -2663,18 +2661,7 @@ public: VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout m_outResource.getImage().handle, // VkImage image m_outResource.getImage().subresourceRange // VkImageSubresourceRange subresourceRange - ), - makeImageMemoryBarrier2( - VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, // VkPipelineStageFlags2KHR srcStageMask - (VkAccessFlags)0, // VkAccessFlags2KHR srcAccessMask - m_pipelineStage, // VkPipelineStageFlags2KHR dstStageMask - VK_ACCESS_2_SHADER_READ_BIT_KHR, // VkAccessFlags2KHR dstAccessMask - VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout - VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout - m_inResource.getImage().handle, // VkImage image - m_inResource.getImage().subresourceRange // VkImageSubresourceRange subresourceRange - ) - }; + ); VkDependencyInfoKHR dependencyInfo { VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR, // VkStructureType sType @@ -2684,8 +2671,8 @@ public: DE_NULL, // const VkMemoryBarrier2KHR* pMemoryBarriers 0u, // deUint32 bufferMemoryBarrierCount DE_NULL, // const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers - 2, // deUint32 imageMemoryBarrierCount - imageMemoryBarriers2 // const VkImageMemoryBarrier2KHR* pImageMemoryBarriers + 1, // deUint32 imageMemoryBarrierCount + &imageMemoryBarriers2 // const VkImageMemoryBarrier2KHR* pImageMemoryBarriers }; synchronizationWrapper->cmdPipelineBarrier(cmdBuffer, &dependencyInfo); } -- 2.7.4