diff --git a/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp b/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp
index fb1d586..6063a9d 100644
--- a/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp
+++ b/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp
@@ -1590,7 +1590,13 @@
 		}
 
 		if (x == NUM_SUBMITS - 1)
+		{
 			vk.cmdCopyBuffer(*cmdBuffer, **buffers[2], **copyBuffer, 1, &copyParams);
+			memBarrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT;
+			memBarrier.dstAccessMask = VK_ACCESS_HOST_READ_BIT;
+			vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT,
+				0, 1, &memBarrier, 0, DE_NULL, 0, DE_NULL);
+		}
 
 		endCommandBuffer(vk, *cmdBuffer);
 
diff --git a/external/vulkancts/modules/vulkan/rasterization/vktRasterizationTests.cpp b/external/vulkancts/modules/vulkan/rasterization/vktRasterizationTests.cpp
index 173dc2b..e199808 100644
--- a/external/vulkancts/modules/vulkan/rasterization/vktRasterizationTests.cpp
+++ b/external/vulkancts/modules/vulkan/rasterization/vktRasterizationTests.cpp
@@ -1106,7 +1106,17 @@
 		// set hand picked sizes
 		m_lineWidths.push_back(5.0f);
 		m_lineWidths.push_back(10.0f);
-		m_lineWidths.push_back(range[1]);
+
+		// Do not pick line width with 0.5 fractional value as rounding direction is not defined.
+		if (deFloatFrac(range[1]) == 0.5f)
+		{
+			m_lineWidths.push_back(range[1] - context.getDeviceProperties().limits.lineWidthGranularity);
+		}
+		else
+		{
+			m_lineWidths.push_back(range[1]);
+		}
+
 		DE_ASSERT((int)m_lineWidths.size() == m_iterationCount);
 
 		m_maxLineWidth = range[1];
