Skip dEQP-VK.transform_feedback.fuzz.*.geometry if geometry not supported.

Affects: dEQP-VK.transform_feedback.fuzz.*.geometry

Components: Vulkan
VK-GL-CTS issue: 2267

Change-Id: Ifb0d29c049ccaa686132e2bb9c24fe7c797f5f6c
diff --git a/external/vulkancts/modules/vulkan/transform_feedback/vktTransformFeedbackFuzzLayoutCase.cpp b/external/vulkancts/modules/vulkan/transform_feedback/vktTransformFeedbackFuzzLayoutCase.cpp
index f0f617d..23c659f 100644
--- a/external/vulkancts/modules/vulkan/transform_feedback/vktTransformFeedbackFuzzLayoutCase.cpp
+++ b/external/vulkancts/modules/vulkan/transform_feedback/vktTransformFeedbackFuzzLayoutCase.cpp
@@ -1657,6 +1657,7 @@
 	const deUint32											componentsRequired			= m_locationsRequired * componentsPerLocation;
 	const InstanceInterface&								vki							= m_context.getInstanceInterface();
 	const VkPhysicalDevice									physDevice					= m_context.getPhysicalDevice();
+	const VkPhysicalDeviceFeatures							features					= getPhysicalDeviceFeatures(vki, physDevice);
 	const VkPhysicalDeviceTransformFeedbackFeaturesEXT&		transformFeedbackFeatures	= m_context.getTransformFeedbackFeaturesEXT();
 	const VkPhysicalDeviceLimits							limits						= getPhysicalDeviceProperties(vki, physDevice).limits;
 	VkPhysicalDeviceTransformFeedbackPropertiesEXT			transformFeedbackProperties;
@@ -1690,6 +1691,9 @@
 
 	if (m_testStageFlags == TEST_STAGE_GEOMETRY)
 	{
+		if (!features.geometryShader)
+			TCU_THROW(NotSupportedError, "Missing feature: geometryShader");
+
 		if (limits.maxGeometryOutputComponents < componentsRequired)
 			TCU_THROW(NotSupportedError, "maxGeometryOutputComponents=" + de::toString(limits.maxGeometryOutputComponents) + " is less than required (" + de::toString(componentsRequired) + ")");
 	}