From 3c14cad136ea7dd1ee4bcc86c6dab8c0da3e5fc3 Mon Sep 17 00:00:00 2001 From: Arkadiusz Sarwa Date: Mon, 25 Jun 2018 09:52:17 +0200 Subject: [PATCH] Fix: add extensions checking Affects: dEQP-VK.spirv_assembly.instruction.compute.* Components: Vulkan VK-GL-CTS issue: 1235 Change-Id: I816d832f4834fe61570f49648a9f92ebaca31a94 --- .../modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp index c6285ea..87f1bf4 100644 --- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp +++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp @@ -496,6 +496,13 @@ VkImageUsageFlags getMatchingComputeImageUsageFlags (VkDescriptorType dType) tcu::TestStatus SpvAsmComputeShaderInstance::iterate (void) { + // Check all required extensions are supported + for (std::vector::const_iterator i = m_shaderSpec.extensions.begin(); i != m_shaderSpec.extensions.end(); ++i) + { + if (!de::contains(m_context.getDeviceExtensions().begin(), m_context.getDeviceExtensions().end(), *i)) + TCU_THROW(NotSupportedError, (std::string("Extension not supported: ") + *i).c_str()); + } + const VkPhysicalDeviceFeatures& features = m_context.getDeviceFeatures(); if ((m_features == COMPUTE_TEST_USES_INT16 || m_features == COMPUTE_TEST_USES_INT16_INT64) && !features.shaderInt16) -- 2.7.4