Add missing barrier in synchronization tests

The *read_vertex_input* tests write to a storage
buffer in the vertex stage, which will later
be mapped by the host to read and verify the
results. Add a barrier before attemptig to read
the data from the host.

Components: Vulkan
Vk-GL-CTS issue: 266

Affected tests:
dEQP-VK.synchronization.op.single_queue.semaphore.*read_vertex_input*

Change-Id: Ibda3c54aaa0ba82bdb29422aadcf5df90101411d
diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperation.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperation.cpp
index 1a32c2e..bff2201 100644
--- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperation.cpp
+++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperation.cpp
@@ -3252,6 +3252,10 @@
 		}
 
 		vk.cmdDraw(cmdBuffer, static_cast<deUint32>(dataSizeBytes / sizeof(tcu::UVec4)), 1u, 0u, 0u);
+
+		const VkBufferMemoryBarrier	barrier = makeBufferMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, **m_outputBuffer, 0u, m_resource.getBuffer().size);
+		vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0u, DE_NULL, 1u, &barrier, 0u, DE_NULL);
+
 		endRenderPass(vk, cmdBuffer);
 	}