Fix PIPELINE_STAGE_TOP_OF_PIPE_BIT usage in api tests
authorPaavo Pessi <paavo.pessi@siru.fi>
Tue, 14 Nov 2017 12:56:41 +0000 (14:56 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 30 Nov 2017 09:33:56 +0000 (04:33 -0500)
Test cases using PIPELINE_STAGE_TOP_OF_PIPE_BIT with nonzero access
mask were modified to use proper pipeline stage flags.

The dstAccessMask mask of a buffer memory barrier created by
ComputeInstanceResultBuffer class was changed from
VK_ACCESS_SHADER_WRITE_BIT to VK_ACCESS_HOST_READ_BIT to better
represent its usage.

Memory barrier structure members were renamed to match the current
specification.

Affects:

dEQP-VK.api.buffer_view.access.*
dEQP-VK.api.command_buffers.render_pass_continue
dEQP-VK.api.command_buffers.order_bind_pipeline
dEQP-VK.api.copy_and_blit.core.image_to_buffer.*
dEQP-VK.api.copy_and_blit.core.buffer_to_buffer.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.buffer_to_buffer.*

VK-GL-CTS issue: 806

Change-Id: Ifaff60b1cd615889fa4b1fc175a78bdbc00be50c

external/vulkancts/modules/vulkan/api/vktApiBufferViewAccessTests.cpp
external/vulkancts/modules/vulkan/api/vktApiCommandBuffersTests.cpp
external/vulkancts/modules/vulkan/api/vktApiComputeInstanceResultBuffer.cpp
external/vulkancts/modules/vulkan/api/vktApiCopiesAndBlittingTests.cpp

index 172551a..809136d 100644 (file)
@@ -635,8 +635,8 @@ BufferViewTestInstance::BufferViewTestInstance                                                      (Context&                                       context,
                {
                        VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,                                         // VkStructureType                      sType;
                        DE_NULL,                                                                                                        // const void*                          pNext;
-                       0,                                                                                                                      // VkMemoryOutputFlags          outputMask;
-                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                           // VkMemoryInputFlags           inputMask;
+                       0,                                                                                                                      // VkAccessFlags                        srcAccessMask;
+                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                           // VkAccessFlags                        dstAccessMask;
                        VK_IMAGE_LAYOUT_UNDEFINED,                                                                      // VkImageLayout                        oldLayout;
                        VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,                                       // VkImageLayout                        newLayout;
                        VK_QUEUE_FAMILY_IGNORED,                                                                        // deUint32                                     srcQueueFamilyIndex;
@@ -667,8 +667,8 @@ BufferViewTestInstance::BufferViewTestInstance                                                      (Context&                                       context,
                {
                        VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,                                         // VkStructureType                      sType;
                        DE_NULL,                                                                                                        // const void*                          pNext;
-                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                           // VkMemoryOutputFlags          outputMask;
-                       VK_ACCESS_TRANSFER_READ_BIT,                                                            // VkMemoryInputFlags           inputMask;
+                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                           // VkAccessFlags                        srcAccessMask;
+                       VK_ACCESS_TRANSFER_READ_BIT,                                                            // VkAccessFlags                        dstAccessMask;
                        VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,                                       // VkImageLayout                        oldLayout;
                        VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,                                           // VkImageLayout                        newLayout;
                        VK_QUEUE_FAMILY_IGNORED,                                                                        // deUint32                                     srcQueueFamilyIndex;
@@ -687,8 +687,8 @@ BufferViewTestInstance::BufferViewTestInstance                                                      (Context&                                       context,
                {
                        VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,                                        // VkStructureType                      sType;
                        DE_NULL,                                                                                                        // const void*                          pNext;
-                       VK_ACCESS_TRANSFER_WRITE_BIT,                                                           // VkMemoryOutputFlags          outputMask;
-                       VK_ACCESS_HOST_READ_BIT,                                                                        // VkMemoryInputFlags           inputMask;
+                       VK_ACCESS_TRANSFER_WRITE_BIT,                                                           // VkAccessFlags                        srcAccessMask;
+                       VK_ACCESS_HOST_READ_BIT,                                                                        // VkAccessFlags                        dstAccessMask;
                        VK_QUEUE_FAMILY_IGNORED,                                                                        // deUint32                                     srcQueueFamilyIndex;
                        VK_QUEUE_FAMILY_IGNORED,                                                                        // deUint32                                     destQueueFamilyIndex;
                        *m_resultBuffer,                                                                                        // VkBuffer                                     buffer;
@@ -712,7 +712,7 @@ BufferViewTestInstance::BufferViewTestInstance                                                      (Context&                                       context,
 
                vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &imageBarrier);
                vk.cmdCopyImageToBuffer(*m_cmdBuffer, *m_colorImage, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, *m_resultBuffer, 1, &copyRegion);
-               vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &bufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
+               vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &bufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
 
                VK_CHECK(vk.endCommandBuffer(*m_cmdBuffer));
        }
index 52ee3b2..cb69791 100644 (file)
@@ -464,7 +464,7 @@ de::MovePtr<tcu::TextureLevel> CommandBufferRenderPassTestEnvironment::readColor
        beginPrimaryCommandBuffer(0);
        m_vkd.cmdPipelineBarrier(m_primaryCommandBuffers[0], VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &imageBarrier);
        m_vkd.cmdCopyImageToBuffer(m_primaryCommandBuffers[0], *m_colorImage, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, *buffer, 1, &copyRegion);
-       m_vkd.cmdPipelineBarrier(m_primaryCommandBuffers[0], VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &bufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
+       m_vkd.cmdPipelineBarrier(m_primaryCommandBuffers[0], VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &bufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
        VK_CHECK(m_vkd.endCommandBuffer(m_primaryCommandBuffers[0]));
 
        submitPrimaryCommandBuffer();
@@ -4029,8 +4029,8 @@ tcu::TestStatus orderBindPipelineTest(Context& context)
                {
                        VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
                        DE_NULL,
-                       VK_ACCESS_HOST_WRITE_BIT,                                                                       // outputMask
-                       inputBit,                                                                                                       // inputMask
+                       VK_ACCESS_HOST_WRITE_BIT,                                                                       // srcAccessMask
+                       inputBit,                                                                                                       // dstAccessMask
                        VK_QUEUE_FAMILY_IGNORED,                                                                        // srcQueueFamilyIndex
                        VK_QUEUE_FAMILY_IGNORED,                                                                        // destQueueFamilyIndex
                        *bufferA,                                                                                                       // buffer
@@ -4040,8 +4040,8 @@ tcu::TestStatus orderBindPipelineTest(Context& context)
                {
                        VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
                        DE_NULL,
-                       VK_ACCESS_HOST_WRITE_BIT,                                                                       // outputMask
-                       inputBit,                                                                                                       // inputMask
+                       VK_ACCESS_HOST_WRITE_BIT,                                                                       // srcAccessMask
+                       inputBit,                                                                                                       // dstAccessMask
                        VK_QUEUE_FAMILY_IGNORED,                                                                        // srcQueueFamilyIndex
                        VK_QUEUE_FAMILY_IGNORED,                                                                        // destQueueFamilyIndex
                        *bufferB,                                                                                                       // buffer
@@ -4107,13 +4107,13 @@ tcu::TestStatus orderBindPipelineTest(Context& context)
        vk.cmdBindDescriptorSets(*cmd, VK_PIPELINE_BIND_POINT_COMPUTE, *pipelineLayout, 0, numDescriptorSets, descriptorSets, numDynamicOffsets, dynamicOffsets);
 
        if (numPreBarriers)
-               vk.cmdPipelineBarrier(*cmd, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, (VkDependencyFlags)0,
+               vk.cmdPipelineBarrier(*cmd, VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, (VkDependencyFlags)0,
                                                          0, (const VkMemoryBarrier*)DE_NULL,
                                                          numPreBarriers, bufferBarriers,
                                                          0, (const VkImageMemoryBarrier*)DE_NULL);
 
        vk.cmdDispatch(*cmd, numWorkGroups.x(), numWorkGroups.y(), numWorkGroups.z());
-       vk.cmdPipelineBarrier(*cmd, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, (VkDependencyFlags)0,
+       vk.cmdPipelineBarrier(*cmd, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0,
                                                  0, (const VkMemoryBarrier*)DE_NULL,
                                                  numPostBarriers, postBarriers,
                                                  0, (const VkImageMemoryBarrier*)DE_NULL);
index 6157f77..8441e73 100644 (file)
@@ -98,8 +98,8 @@ VkBufferMemoryBarrier ComputeInstanceResultBuffer::createResultBufferBarrier(VkB
        {
                VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
                DE_NULL,
-               VK_ACCESS_SHADER_WRITE_BIT,                                                                     // outputMask
-               VK_ACCESS_SHADER_READ_BIT,                                                                      // inputMask
+               VK_ACCESS_SHADER_WRITE_BIT,                                                                     // srcAccessMask
+               VK_ACCESS_HOST_READ_BIT,                                                                        // dstAccessMask
                VK_QUEUE_FAMILY_IGNORED,                                                                        // srcQueueFamilyIndex
                VK_QUEUE_FAMILY_IGNORED,                                                                        // destQueueFamilyIndex
                buffer,                                                                                                         // buffer
index c852274..db628c1 100644 (file)
@@ -569,7 +569,7 @@ void CopiesAndBlittingTestInstance::uploadImageAspect (const tcu::ConstPixelBuff
        vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL,
                                                  1, &preBufferBarrier, (skipPreImageBarrier ? 0 : 1), (skipPreImageBarrier ? DE_NULL : &preImageBarrier));
        vk.cmdCopyBufferToImage(*m_cmdBuffer, *buffer, image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, (deUint32)copyRegions.size(), &copyRegions[0]);
-       vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &postImageBarrier);
+       vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &postImageBarrier);
        VK_CHECK(vk.endCommandBuffer(*m_cmdBuffer));
 
        submitCommandsAndWait(vk, vkDevice, queue, *m_cmdBuffer);
@@ -1306,7 +1306,7 @@ tcu::TestStatus CopyBufferToBuffer::iterate (void)
        VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
        vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &srcBufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
        vk.cmdCopyBuffer(*m_cmdBuffer, m_source.get(), m_destination.get(), (deUint32)m_params.regions.size(), &bufferCopies[0]);
-       vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &dstBufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
+       vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &dstBufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
        VK_CHECK(vk.endCommandBuffer(*m_cmdBuffer));
        submitCommandsAndWait(vk, vkDevice, queue, *m_cmdBuffer);
 
@@ -1496,7 +1496,7 @@ tcu::TestStatus CopyImageToBuffer::iterate (void)
        VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
        vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &imageBarrier);
        vk.cmdCopyImageToBuffer(*m_cmdBuffer, m_source.get(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, m_destination.get(), (deUint32)m_params.regions.size(), &bufferImageCopies[0]);
-       vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &bufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
+       vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &bufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
        VK_CHECK(vk.endCommandBuffer(*m_cmdBuffer));
 
        submitCommandsAndWait (vk, vkDevice, queue, *m_cmdBuffer);