Require geometry shaders for adjacency topologies
authorSean Risser <srisser@google.com>
Fri, 30 Apr 2021 17:02:57 +0000 (13:02 -0400)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 20 Jan 2022 17:01:18 +0000 (17:01 +0000)
Clipping tests would use adjacency topologies with drivers that didn't
support geometry shaders.

Components: Vulkan

Affects: dEQP-VK.clipping.clip_volume.depth_clip.*
VK-GL-CTS Issue: 2906

Change-Id: I7a41e62dcbcdcab46ce4f8b04bfe322c688fbcac

external/vulkancts/modules/vulkan/clipping/vktClippingTests.cpp

index 178b699..d797377 100644 (file)
@@ -656,21 +656,25 @@ tcu::TestStatus testPrimitivesDepthClip (Context& context, const VkPrimitiveTopo
                        caseMinPixels[1] = caseMinPixels[3] = 2;
                        break;
 
-               case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
-               case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
                case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
                case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
+                       requireFeatures(context.getInstanceInterface(), context.getPhysicalDevice(), FEATURE_GEOMETRY_SHADER);
+                       // Fallthrough
+               case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
+               case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
                        caseMinPixels[0] = regionPixels;
                        caseMinPixels[1] = RENDER_SIZE - 2;
                        caseMinPixels[2] = regionPixels;
                        caseMinPixels[3] = 2 * (RENDER_SIZE - 2);
                        break;
 
+               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
+               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
+                       requireFeatures(context.getInstanceInterface(), context.getPhysicalDevice(), FEATURE_GEOMETRY_SHADER);
+                       // Fallthrough
                case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
                case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
                case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
-               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
-               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
                        caseMinPixels[0] = caseMinPixels[1] = caseMinPixels[2] = caseMinPixels[3] = regionPixels;
                        break;