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

Change-Id: Icc350abe29e7c1545a65d99884a281cd63239fc4
diff --git a/external/vulkancts/modules/vulkan/memory/vktMemoryExternalMemoryHostTests.cpp b/external/vulkancts/modules/vulkan/memory/vktMemoryExternalMemoryHostTests.cpp
index e23046a..d5d3e50 100644
--- a/external/vulkancts/modules/vulkan/memory/vktMemoryExternalMemoryHostTests.cpp
+++ b/external/vulkancts/modules/vulkan/memory/vktMemoryExternalMemoryHostTests.cpp
@@ -335,6 +335,11 @@
 	// Verify image format properties before proceeding.
 	verifyFormatProperties(m_testParams.m_format, tiling, usageFlags);
 
+	VkFormatProperties formatProperties;
+	m_vki.getPhysicalDeviceFormatProperties(m_physicalDevice, m_testParams.m_format, &formatProperties);
+	if ((formatProperties.linearTilingFeatures & VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT) != VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT)
+		TCU_THROW(NotSupportedError, "Format does not support linear tiling for color attachment");
+
 	// Create image with external host memory.
 	m_image = createImage(m_testParams.m_format, tiling, usageFlags);
 
diff --git a/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelSharedLayoutCase.cpp b/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelSharedLayoutCase.cpp
index be47515..3432110 100644
--- a/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelSharedLayoutCase.cpp
+++ b/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelSharedLayoutCase.cpp
@@ -362,6 +362,7 @@
 	const vk::VkDevice							device						= m_context.getDevice();
 	const vk::VkQueue							queue						= m_context.getUniversalQueue();
 	const deUint32								queueFamilyIndex			= m_context.getUniversalQueueFamilyIndex();
+	vk::Allocator&								allocator					= m_context.getDefaultAllocator();
 	const deUint32								bufferSize					= 4;
 
 	// Create descriptor set
@@ -378,12 +379,12 @@
 	};
 
 	vk::Move<vk::VkBuffer>						buffer						(vk::createBuffer(vk, device, &params));
-
-	de::MovePtr<vk::Allocation>					bufferAlloc					(vk::bindBuffer (m_context.getDeviceInterface(), m_context.getDevice(),
-																			m_context.getDefaultAllocator(), *buffer, vk::MemoryRequirement::HostVisible));
+	vk::VkMemoryRequirements					requirements				= getBufferMemoryRequirements(vk, device, *buffer);
+	de::MovePtr<vk::Allocation>					bufferAlloc					(allocator.allocate(requirements, vk::MemoryRequirement::HostVisible));
+	VK_CHECK(vk.bindBufferMemory(device, *buffer, bufferAlloc->getMemory(), bufferAlloc->getOffset()));
 
 	deMemset(bufferAlloc->getHostPtr(), 0, bufferSize);
-	flushMappedMemoryRange(vk, device, bufferAlloc->getMemory(), bufferAlloc->getOffset(), bufferSize);
+	flushMappedMemoryRange(vk, device, bufferAlloc->getMemory(), bufferAlloc->getOffset(), requirements.size);
 
 	vk::DescriptorSetLayoutBuilder				setLayoutBuilder;
 	vk::DescriptorPoolBuilder					poolBuilder;
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
index f782c9b..749f04d 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
@@ -305,6 +305,7 @@
 			"void main (void)\n"
 			"{\n"
 			"	gl_Position = position;\n"
+			"	gl_PointSize = 1.0f;\n"
 			"}\n");
 	}
 }
diff --git a/external/vulkancts/modules/vulkan/texture/vktTextureCompressedFormatTests.cpp b/external/vulkancts/modules/vulkan/texture/vktTextureCompressedFormatTests.cpp
index 65a2b14..9ad6857 100644
--- a/external/vulkancts/modules/vulkan/texture/vktTextureCompressedFormatTests.cpp
+++ b/external/vulkancts/modules/vulkan/texture/vktTextureCompressedFormatTests.cpp
@@ -272,7 +272,7 @@
 	const ParameterType&				m_testParameters;
 	const tcu::CompressedTexFormat		m_compressedFormat;
 	TestTexture3DSp						m_texture3D;
-	TextureRenderer						m_renderer3D;
+	TextureRenderer						m_renderer2D;
 };
 
 Compressed3DTestInstance::Compressed3DTestInstance (Context&				context,
@@ -281,9 +281,9 @@
 	, m_testParameters		(testParameters)
 	, m_compressedFormat	(mapVkCompressedFormat(testParameters.format))
 	, m_texture3D			(TestTexture3DSp(new pipeline::TestTexture3D(m_compressedFormat, testParameters.width, testParameters.height, testParameters.depth)))
-	, m_renderer3D			(context, testParameters.sampleCount, testParameters.width, testParameters.height, testParameters.depth, makeComponentMappingRGBA(), VK_IMAGE_TYPE_3D, VK_IMAGE_VIEW_TYPE_3D)
+	, m_renderer2D			(context, testParameters.sampleCount, testParameters.width, testParameters.height, 1, makeComponentMappingRGBA(), VK_IMAGE_TYPE_2D, VK_IMAGE_VIEW_TYPE_2D)
 {
-	m_renderer3D.add3DTexture		(m_texture3D, testParameters.aspectMask, testParameters.backingMode);
+	m_renderer2D.add3DTexture		(m_texture3D, testParameters.aspectMask, testParameters.backingMode);
 
 	VkPhysicalDeviceFeatures		physicalFeatures;
 	context.getInstanceInterface().getPhysicalDeviceFeatures(context.getPhysicalDevice(), &physicalFeatures);
@@ -312,12 +312,12 @@
 tcu::TestStatus Compressed3DTestInstance::iterate (void)
 {
 	tcu::TestLog&					log				= m_context.getTestContext().getLog();
-	const pipeline::TestTexture3D&	texture			= m_renderer3D.get3DTexture(0);
+	const pipeline::TestTexture3D&	texture			= m_renderer2D.get3DTexture(0);
 	const tcu::TextureFormat		textureFormat	= texture.getTextureFormat();
 	const tcu::TextureFormatInfo	formatInfo		= tcu::getTextureFormatInfo(textureFormat);
 
 	ReferenceParams					sampleParams	(TEXTURETYPE_3D);
-	tcu::Surface					rendered		(m_renderer3D.getRenderWidth(), m_renderer3D.getRenderHeight());
+	tcu::Surface					rendered		(m_renderer2D.getRenderWidth(), m_renderer2D.getRenderHeight());
 	vector<float>					texCoord;
 
 	// Setup params for reference.
@@ -376,10 +376,10 @@
 		// Render texture.
 		z = ((float)sliceNdx + 0.5f) / (float)m_testParameters.depth;
 		computeQuadTexCoord3D(texCoord, tcu::Vec3(0.0f, 0.0f, z), tcu::Vec3(1.0f, 1.0f, z), tcu::IVec3(0,1,2));
-		m_renderer3D.renderQuad(rendered, 0, &texCoord[0], sampleParams);
+		m_renderer2D.renderQuad(rendered, 0, &texCoord[0], sampleParams);
 
 		// Compute reference.
-		tcu::Surface referenceFrame	(m_renderer3D.getRenderWidth(), m_renderer3D.getRenderHeight());
+		tcu::Surface referenceFrame	(m_renderer2D.getRenderWidth(), m_renderer2D.getRenderHeight());
 		sampleTexture(tcu::SurfaceAccess(referenceFrame, pixelFormat), m_texture3D->getTexture(), &texCoord[0], sampleParams);
 
 		// Compare and log.