Adds geometry shader check for test
Components: Vulkan
VK-GL-CTS Issue: 1900
Affects:
dEQP-VK.query_pool.statistics_query.input_assembly*.primary.*adjacency
Change-Id: I6aeb72143231d59711cb1d6ea98bc2cc0264bc84
diff --git a/external/vulkancts/modules/vulkan/query_pool/vktQueryPoolStatisticsTests.cpp b/external/vulkancts/modules/vulkan/query_pool/vktQueryPoolStatisticsTests.cpp
index e3ae572..08f35b2 100644
--- a/external/vulkancts/modules/vulkan/query_pool/vktQueryPoolStatisticsTests.cpp
+++ b/external/vulkancts/modules/vulkan/query_pool/vktQueryPoolStatisticsTests.cpp
@@ -957,6 +957,19 @@
const DeviceInterface& vk = m_context.getDeviceInterface();
const VkDevice device = m_context.getDevice();
+ switch (m_parametersGraphic.primitiveTopology)
+ {
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
+ if (!m_context.getDeviceFeatures().geometryShader)
+ throw tcu::NotSupportedError("Geometry shader are not supported");
+ break;
+ default:
+ break;
+ }
+
// Pipeline
Unique<VkShaderModule> vs(createShaderModule(vk, device, m_context.getBinaryCollection().get("vertex"), 0));
Unique<VkShaderModule> fs(createShaderModule(vk, device, m_context.getBinaryCollection().get("fragment"), 0));