Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I5830bb9dc3d462de2df81a0af118a40953315102
diff --git a/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp b/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp
index aab8c04..4389698 100644
--- a/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp
+++ b/external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp
@@ -714,6 +714,8 @@
 	tcu::ConstPixelBufferAccess	result	(referenceTextureFormat, imageSize.x(), imageSize.y(), 1, outputBuffer->getAllocation().getHostPtr());
 	const tcu::UVec4 threshold (0u);
 
+	invalidateAlloc(vkd, device, outputBuffer->getAllocation());
+
 	return tcu::intThresholdCompare(context.getTestContext().getLog(), "Compare", "Result comparison", referenceImage, result, threshold, tcu::COMPARE_LOG_RESULT);
 }
 
diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp
index b1be572..2e957be 100644
--- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp
+++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp
@@ -1788,6 +1788,9 @@
 			topLevelRayTracedPtr = topLevelAccelerationStructureCopy.get();
 		}
 
+		const VkMemoryBarrier preTraceMemoryBarrier = makeMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT);
+		cmdPipelineMemoryBarrier(vkd, *cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, &preTraceMemoryBarrier);
+
 		VkWriteDescriptorSetAccelerationStructureKHR	accelerationStructureWriteDescriptorSet	=
 		{
 			VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,	//  VkStructureType						sType;
diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp
index c7652e2..6706f8a 100755
--- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp
+++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp
@@ -741,7 +741,8 @@
 		};
 
 		deUint32 localSizesToTestCount = 5;
-		if (caseDef.pipelineShaderStageCreateFlags & VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT)
+		if (caseDef.pipelineShaderStageCreateFlags & VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
+			|| caseDef.spirvVersion >= SPIRV_VERSION_1_6)
 			localSizesToTestCount = 3;
 
 		struct internalDataStruct internalData =
@@ -754,8 +755,8 @@
 		// Depending on the flag and SPIR-V version we need to run one verification function or another.
 		subgroups::CheckResultCompute							checkResult									= checkCompute;
 
-		if (caseDef.pipelineShaderStageCreateFlags == VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
-			|| caseDef.spirvVersion == SPIRV_VERSION_1_6)
+		if (caseDef.pipelineShaderStageCreateFlags & VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
+			|| caseDef.spirvVersion >= SPIRV_VERSION_1_6)
 			checkResult = checkComputeRequireFull;
 
 		return subgroups::makeComputeTestRequiredSubgroupSize(context,