Merge branch 'vulkan-cts-1.2.5' into vulkan-cts-1.2.6

Change-Id: Ia705e141206a3751d4abc2d6eccd958d7e3f2f0e
diff --git a/android/cts/master/src/vk-master-2019-03-01.txt b/android/cts/master/src/vk-master-2019-03-01.txt
index 34d7656..9fc179a 100644
--- a/android/cts/master/src/vk-master-2019-03-01.txt
+++ b/android/cts/master/src/vk-master-2019-03-01.txt
@@ -359242,14 +359242,14 @@
 dEQP-VK.multiview.index.geometry_shader.5_10_5_10
 dEQP-VK.multiview.index.geometry_shader.1_2_4_8_16_32
 dEQP-VK.multiview.index.geometry_shader.max_multi_view_view_count
-dEQP-VK.multiview.index.tesellation_shader.15
-dEQP-VK.multiview.index.tesellation_shader.8
-dEQP-VK.multiview.index.tesellation_shader.1_2_4_8
-dEQP-VK.multiview.index.tesellation_shader.15_15_15_15
-dEQP-VK.multiview.index.tesellation_shader.8_1_1_8
-dEQP-VK.multiview.index.tesellation_shader.5_10_5_10
-dEQP-VK.multiview.index.tesellation_shader.1_2_4_8_16_32
-dEQP-VK.multiview.index.tesellation_shader.max_multi_view_view_count
+dEQP-VK.multiview.index.tessellation_shader.15
+dEQP-VK.multiview.index.tessellation_shader.8
+dEQP-VK.multiview.index.tessellation_shader.1_2_4_8
+dEQP-VK.multiview.index.tessellation_shader.15_15_15_15
+dEQP-VK.multiview.index.tessellation_shader.8_1_1_8
+dEQP-VK.multiview.index.tessellation_shader.5_10_5_10
+dEQP-VK.multiview.index.tessellation_shader.1_2_4_8_16_32
+dEQP-VK.multiview.index.tessellation_shader.max_multi_view_view_count
 dEQP-VK.multiview.renderpass2.masks.15
 dEQP-VK.multiview.renderpass2.masks.8
 dEQP-VK.multiview.renderpass2.masks.1_2_4_8
@@ -359404,14 +359404,14 @@
 dEQP-VK.multiview.renderpass2.index.geometry_shader.5_10_5_10
 dEQP-VK.multiview.renderpass2.index.geometry_shader.1_2_4_8_16_32
 dEQP-VK.multiview.renderpass2.index.geometry_shader.max_multi_view_view_count
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.15
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.8
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.1_2_4_8
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.15_15_15_15
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.8_1_1_8
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.5_10_5_10
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.1_2_4_8_16_32
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.max_multi_view_view_count
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.15
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.8
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.1_2_4_8
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.15_15_15_15
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.8_1_1_8
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.5_10_5_10
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.1_2_4_8_16_32
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.max_multi_view_view_count
 dEQP-VK.subgroups.builtin_var.graphics.subgroupsize
 dEQP-VK.subgroups.builtin_var.graphics.subgroupinvocationid
 dEQP-VK.subgroups.builtin_var.compute.subgroupsize_compute
diff --git a/android/cts/master/vk-master-2019-03-01.txt b/android/cts/master/vk-master-2019-03-01.txt
index a3183ec..2a26d0f 100644
--- a/android/cts/master/vk-master-2019-03-01.txt
+++ b/android/cts/master/vk-master-2019-03-01.txt
@@ -359242,14 +359242,14 @@
 dEQP-VK.multiview.index.geometry_shader.5_10_5_10
 dEQP-VK.multiview.index.geometry_shader.1_2_4_8_16_32
 dEQP-VK.multiview.index.geometry_shader.max_multi_view_view_count
-dEQP-VK.multiview.index.tesellation_shader.15
-dEQP-VK.multiview.index.tesellation_shader.8
-dEQP-VK.multiview.index.tesellation_shader.1_2_4_8
-dEQP-VK.multiview.index.tesellation_shader.15_15_15_15
-dEQP-VK.multiview.index.tesellation_shader.8_1_1_8
-dEQP-VK.multiview.index.tesellation_shader.5_10_5_10
-dEQP-VK.multiview.index.tesellation_shader.1_2_4_8_16_32
-dEQP-VK.multiview.index.tesellation_shader.max_multi_view_view_count
+dEQP-VK.multiview.index.tessellation_shader.15
+dEQP-VK.multiview.index.tessellation_shader.8
+dEQP-VK.multiview.index.tessellation_shader.1_2_4_8
+dEQP-VK.multiview.index.tessellation_shader.15_15_15_15
+dEQP-VK.multiview.index.tessellation_shader.8_1_1_8
+dEQP-VK.multiview.index.tessellation_shader.5_10_5_10
+dEQP-VK.multiview.index.tessellation_shader.1_2_4_8_16_32
+dEQP-VK.multiview.index.tessellation_shader.max_multi_view_view_count
 dEQP-VK.multiview.renderpass2.masks.15
 dEQP-VK.multiview.renderpass2.masks.8
 dEQP-VK.multiview.renderpass2.masks.1_2_4_8
@@ -359404,14 +359404,14 @@
 dEQP-VK.multiview.renderpass2.index.geometry_shader.5_10_5_10
 dEQP-VK.multiview.renderpass2.index.geometry_shader.1_2_4_8_16_32
 dEQP-VK.multiview.renderpass2.index.geometry_shader.max_multi_view_view_count
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.15
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.8
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.1_2_4_8
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.15_15_15_15
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.8_1_1_8
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.5_10_5_10
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.1_2_4_8_16_32
-dEQP-VK.multiview.renderpass2.index.tesellation_shader.max_multi_view_view_count
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.15
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.8
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.1_2_4_8
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.15_15_15_15
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.8_1_1_8
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.5_10_5_10
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.1_2_4_8_16_32
+dEQP-VK.multiview.renderpass2.index.tessellation_shader.max_multi_view_view_count
 dEQP-VK.subgroups.builtin_var.graphics.subgroupsize
 dEQP-VK.subgroups.builtin_var.graphics.subgroupinvocationid
 dEQP-VK.subgroups.builtin_var.compute.subgroupsize_compute
diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt
index 1990bd4..1b5eb58 100644
--- a/android/cts/master/vk-master.txt
+++ b/android/cts/master/vk-master.txt
Binary files differ
diff --git a/external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp b/external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp
index 607501b..d3e1cba 100644
--- a/external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp
+++ b/external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp
@@ -3621,7 +3621,7 @@
 		"vertex_shader",
 		"fragment_shader",
 		"geometry_shader",
-		"tesellation_shader",
+		"tessellation_shader",
 		"input_attachments",
 		"input_attachments_geometry",
 		"instanced",
diff --git a/external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemStorageBufferTests.cpp b/external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemStorageBufferTests.cpp
index 6f8113f..8b02f46 100644
--- a/external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemStorageBufferTests.cpp
+++ b/external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemStorageBufferTests.cpp
@@ -117,24 +117,25 @@
 							  deUint32						queueFamilyIndex,
 							  vk::VkBuffer					srcBuffer,
 							  vk::VkBuffer					dstBuffer,
-							  deUint32						copySize)
+							  deUint32						copySize,
+							  bool							dstFragment)
 {
 	const vk::VkBufferMemoryBarrier		dstWriteStartBarrier	=
 	{
 		vk::VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,		// VkStructureType		sType
 		DE_NULL,											// const void*			pNext
-		0,													// VkAccessFlags		srcAccessMask
+		vk::VK_ACCESS_HOST_WRITE_BIT,						// VkAccessFlags		srcAccessMask
 		vk::VK_ACCESS_SHADER_WRITE_BIT,						// VkAccessFlags		dstAccessMask
 		queueFamilyIndex,									// uint32_t				srcQueueFamilyIndex
 		queueFamilyIndex,									// uint32_t				dstQueueFamilyIndex
-		dstBuffer,											// VkBuffer				buffer
+		srcBuffer,											// VkBuffer				buffer
 		0u,													// VkDeviceSize			offset
 		VK_WHOLE_SIZE,										// VkDeviceSize			size
 	};
 
 	vk.cmdPipelineBarrier(cmdBuffer,
-						  vk::VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,	// srcStageMask
-						  vk::VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,	// dstStageMask
+						  vk::VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, // srcStageMask
+						  vk::VK_PIPELINE_STAGE_TRANSFER_BIT,	 // dstStageMask
 						  (vk::VkDependencyFlags)0,
 						  0, (const vk::VkMemoryBarrier*)DE_NULL,
 						  1, &dstWriteStartBarrier,
@@ -160,9 +161,11 @@
 		0u,													// VkDeviceSize			offset
 		VK_WHOLE_SIZE,										// VkDeviceSize			size
 	};
+
 	vk.cmdPipelineBarrier(cmdBuffer,
-						  vk::VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,		// srcStageMask
-						  vk::VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,	// dstStageMask
+						  vk::VK_PIPELINE_STAGE_TRANSFER_BIT,			// srcStageMask
+						  dstFragment ? vk::VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :
+						  vk::VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,	// dstStageMask
 						  (vk::VkDependencyFlags)0,
 						  0, (const vk::VkMemoryBarrier*)DE_NULL,
 						  1, &dstWriteEndBarrier,
@@ -452,7 +455,7 @@
 	if (m_testType == SSBO_READ || m_testType == SSBO_ATOMIC)
 	{
 		vk::VkBuffer targetBuffer = (m_testType == SSBO_ATOMIC) ? **testBuffer : **testBufferSource;
-		addBufferCopyCmd(vk, *cmdBuffer, queueFamilyIndex, **testUniform, targetBuffer, testUniformSize);
+		addBufferCopyCmd(vk, *cmdBuffer, queueFamilyIndex, **testUniform, targetBuffer, testUniformSize, true);
 	}
 
 	// Start image barrier
@@ -612,7 +615,6 @@
 			.update(vk, device);
 	}
 
-
 	// Build and execute test
 	{
 		const vk::Unique<vk::VkFence>		fence				(vk::createFence(vk, device));
@@ -627,7 +629,7 @@
 		if (m_testType == SSBO_READ || m_testType == SSBO_ATOMIC)
 		{
 			vk::VkBuffer targetBuffer = (m_testType == SSBO_ATOMIC) ? **testBuffer : **testBufferSource;
-			addBufferCopyCmd(vk, *cmdBuffer, queueFamilyIndex, **testUniform, targetBuffer, testUniformSize);
+			addBufferCopyCmd(vk, *cmdBuffer, queueFamilyIndex, **testUniform, targetBuffer, testUniformSize, false);
 		}
 
 		vk.cmdBindPipeline(*cmdBuffer, vk::VK_PIPELINE_BIND_POINT_COMPUTE, *SSBOPipeline);
diff --git a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp
index 9d77014..573a831 100644
--- a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp
+++ b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryAccelerationStructuresTests.cpp
@@ -1554,6 +1554,18 @@
 			TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipeline");
 	}
 
+	switch (m_data.shaderSourceType)
+	{
+	case SST_VERTEX_SHADER:
+	case SST_TESSELATION_CONTROL_SHADER:
+	case SST_TESSELATION_EVALUATION_SHADER:
+	case SST_GEOMETRY_SHADER:
+		context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_VERTEX_PIPELINE_STORES_AND_ATOMICS);
+		break;
+	default:
+		break;
+	}
+
 	const VkPhysicalDeviceAccelerationStructureFeaturesKHR&	accelerationStructureFeaturesKHR = context.getAccelerationStructureFeatures();
 	if (m_data.buildType == VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR && accelerationStructureFeaturesKHR.accelerationStructureHostCommands == DE_FALSE)
 		TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceAccelerationStructureFeaturesKHR.accelerationStructureHostCommands");
diff --git a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryCullRayFlagsTests.cpp b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryCullRayFlagsTests.cpp
index a383e54..ada6059 100644
--- a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryCullRayFlagsTests.cpp
+++ b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryCullRayFlagsTests.cpp
@@ -1221,6 +1221,18 @@
 		features2.features.geometryShader == DE_FALSE )
 		TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceFeatures2.geometryShader");
 
+	switch (m_data.shaderSourceType)
+	{
+	case SST_VERTEX_SHADER:
+	case SST_TESSELATION_CONTROL_SHADER:
+	case SST_TESSELATION_EVALUATION_SHADER:
+	case SST_GEOMETRY_SHADER:
+		context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_VERTEX_PIPELINE_STORES_AND_ATOMICS);
+		break;
+	default:
+		break;
+	}
+
 	if ( m_data.shaderSourceType == SST_RAY_GENERATION_SHADER ||
 		 m_data.shaderSourceType == SST_INTERSECTION_SHADER ||
 		 m_data.shaderSourceType == SST_ANY_HIT_SHADER ||
diff --git a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryTraversalControlTests.cpp b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryTraversalControlTests.cpp
index e36d68a..d51f05f 100644
--- a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryTraversalControlTests.cpp
+++ b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryTraversalControlTests.cpp
@@ -1278,6 +1278,18 @@
 		features2.features.geometryShader == DE_FALSE )
 		TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceFeatures2.geometryShader");
 
+	switch (m_data.shaderSourceType)
+	{
+	case SST_VERTEX_SHADER:
+	case SST_TESSELATION_CONTROL_SHADER:
+	case SST_TESSELATION_EVALUATION_SHADER:
+	case SST_GEOMETRY_SHADER:
+		context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_VERTEX_PIPELINE_STORES_AND_ATOMICS);
+		break;
+	default:
+		break;
+	}
+
 	if (m_data.shaderSourceType == SST_RAY_GENERATION_SHADER ||
 		m_data.shaderSourceType == SST_INTERSECTION_SHADER ||
 		m_data.shaderSourceType == SST_ANY_HIT_SHADER ||
diff --git a/external/vulkancts/mustpass/master/vk-default.txt b/external/vulkancts/mustpass/master/vk-default.txt
index 817d8960..81275e2 100644
--- a/external/vulkancts/mustpass/master/vk-default.txt
+++ b/external/vulkancts/mustpass/master/vk-default.txt
Binary files differ
diff --git a/scripts/android/build_apk.py b/scripts/android/build_apk.py
index 1c9cec9..e170364 100644
--- a/scripts/android/build_apk.py
+++ b/scripts/android/build_apk.py
@@ -206,7 +206,7 @@
 		androidBuildTools = ["aapt", "zipalign", "dx"]
 		for tool in androidBuildTools:
 			if which(tool, [self.env.sdk.getBuildToolsPath()]) == None:
-				raise Exception("Missing Android build tool: %s" % toolPath)
+				raise Exception("Missing Android build tool: %s" % tool)
 
 		requiredToolsInPath = ["javac", "jar", "jarsigner", "keytool"]
 		for tool in requiredToolsInPath: