Fix checks for multiviewGeometryShader
authorAlojz Kovacik <alojz.kovacik@arm.com>
Tue, 27 Jun 2017 09:20:46 +0000 (11:20 +0200)
committerAlexander Galazin <alexander.galazin@arm.com>
Tue, 27 Jun 2017 13:57:39 +0000 (15:57 +0200)
Don't compile geometry multiview shaders if
multiview is not supported allong with geometry shaders.

Affects: dEQP-VK.multiview.*
Components: Vulkan
VK-GL-CTS issue: 536

Change-Id: Ib3f1cfb4a1be56f7b7a8b55db3d242c73f0d6174

external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp

index ae397e6..f1f4111 100644 (file)
@@ -424,7 +424,12 @@ void MultiViewRenderTestInstance::createMultiViewDevices (void)
        if (!multiviewFeatures.multiview)
                TCU_THROW(NotSupportedError, "MultiView not supported");
 
-       if (TEST_TYPE_VIEW_INDEX_IN_GEOMETRY == m_parameters.viewIndex && !multiviewFeatures.multiviewGeometryShader)
+       bool requiresGeomShader = (TEST_TYPE_VIEW_INDEX_IN_GEOMETRY == m_parameters.viewIndex) ||
+                                                               (TEST_TYPE_INPUT_ATTACHMENTS == m_parameters.viewIndex) ||
+                                                               (TEST_TYPE_SECONDARY_CMD_BUFFER == m_parameters.viewIndex) ||
+                                                               (TEST_TYPE_CLEAR_ATTACHMENTS == m_parameters.viewIndex);
+
+       if (requiresGeomShader && !multiviewFeatures.multiviewGeometryShader)
                TCU_THROW(NotSupportedError, "Geometry shader is not supported");
 
        if (TEST_TYPE_VIEW_INDEX_IN_TESELLATION == m_parameters.viewIndex && !multiviewFeatures.multiviewTessellationShader)