Fix pipeline barrier for clearing multiview attachment
authorMateusz Zych <Mateusz.Zych@amd.com>
Sat, 14 Apr 2018 00:35:25 +0000 (20:35 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 11 May 2018 11:03:49 +0000 (07:03 -0400)
Specify correct destination access mask (VK_ACCESS_TRANSFER_WRITE_BIT) and
destination pipeline stage (VK_PIPELINE_STAGE_TRANSFER_BIT) for
transfer operation clearing all Views (array layers) of multiview attachment
using vkCmdClearColorImage().

Components: Vulkan

VK-GL-CTS Issue: 1085

Affects:
    dEQP-VK.multiview.*

Change-Id: Ic87cd1d5a4c7373c3678c96fe942a5dde46ea03f

external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp

index 0c719f6..9e1b2ee 100644 (file)
@@ -280,8 +280,8 @@ void MultiViewRenderTestInstance::beforeDraw (void)
        };
        imageBarrier(*m_device, *m_cmdBuffer, m_colorAttachment->getImage(), subresourceRange,
                VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
-               0, 0,
-               VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT);
+               0, VK_ACCESS_TRANSFER_WRITE_BIT,
+               VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT);
 
        const VkClearValue renderPassClearValue = makeClearValueColor(tcu::Vec4(0.0f));
        m_device->cmdClearColorImage(*m_cmdBuffer, m_colorAttachment->getImage(),  VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, &renderPassClearValue.color, 1, &subresourceRange);