Fix checkSupport for pipeline bind point tests

Ray tracing tests are unconditionally skipped if VK_KHR_push_descriptor
or VK_KHR_descriptor_update_template is not supported by the
implementation, as the support check logic is mistakenly checking only
the graphics and compute pipeline usages. Fix the support checks by
first checking which pipelines are used in the test.

Affects:
dEQP-VK.pipeline.monolithic.bind_point.*

Components: Vulkan

VK-GL-CTS issue: 3820

Change-Id: Ic6f0b78ca2d4d5415db03ca1186100494201548f
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp
index ae95208..152934e 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp
@@ -180,12 +180,18 @@
 
 void BindPointTest::checkSupport (Context& context) const
 {
-	if (m_params.graphicsSetUpdateType != SetUpdateType::WRITE || m_params.computeSetUpdateType != SetUpdateType::WRITE)
+	if ((m_params.hasGraphics() && m_params.graphicsSetUpdateType != SetUpdateType::WRITE) ||
+		(m_params.hasCompute() && m_params.computeSetUpdateType != SetUpdateType::WRITE) ||
+		(m_params.hasRayTracing() && m_params.rayTracingSetUpdateType != SetUpdateType::WRITE))
 	{
 		context.requireDeviceFunctionality("VK_KHR_push_descriptor");
 
-		if (m_params.graphicsSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE || m_params.computeSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE)
+		if ((m_params.hasGraphics() && m_params.graphicsSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE) ||
+			(m_params.hasCompute() && m_params.computeSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE) ||
+			(m_params.hasRayTracing() && m_params.rayTracingSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE))
+		{
 			context.requireDeviceFunctionality("VK_KHR_descriptor_update_template");
+		}
 	}
 
 	if (m_params.hasRayTracing())