From 2347570712a958926e60ab3e97a1170b5d9cd138 Mon Sep 17 00:00:00 2001 From: Mohd Faisal Date: Wed, 26 Aug 2020 11:51:25 +0100 Subject: [PATCH] Allowing spirv1.4 shaders compilation Components: Vulkan VK-GL-CTS Issue: 2560 Affects: dEQP-VK.spirv_assembly.instruction.spirv1p4.* Change-Id: Icbfe3ad623da98968eee401d08df5ed6b3b2db1e (cherry picked from commit c96d524d079fdada26b3548effd1539174415be6) --- .../vulkancts/modules/vulkan/amber/vktAmberTestCase.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/external/vulkancts/modules/vulkan/amber/vktAmberTestCase.cpp b/external/vulkancts/modules/vulkan/amber/vktAmberTestCase.cpp index 299752b..e17d3fd 100644 --- a/external/vulkancts/modules/vulkan/amber/vktAmberTestCase.cpp +++ b/external/vulkancts/modules/vulkan/amber/vktAmberTestCase.cpp @@ -209,37 +209,40 @@ void AmberTestCase::initPrograms(vk::SourceCollections& programCollection) const } else if (shader.format == amber::kShaderFormatGlsl) { + vk::SpirvVersion target = m_asm_options.targetVersion; + bool allowSpirv14 = (target == vk::SpirvVersion::SPIRV_VERSION_1_4); + switch (shader.type) { case amber::kShaderTypeCompute: programCollection.glslSources.add(shader.shader_name) << glu::ComputeSource(shader.shader_source) - << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_0, 0u); + << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, target, 0u, allowSpirv14); break; case amber::kShaderTypeGeometry: programCollection.glslSources.add(shader.shader_name) << glu::GeometrySource(shader.shader_source) - << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_0, 0u); + << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, target, 0u, allowSpirv14); break; case amber::kShaderTypeFragment: programCollection.glslSources.add(shader.shader_name) << glu::FragmentSource(shader.shader_source) - << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_0, 0u); + << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, target, 0u, allowSpirv14); break; case amber::kShaderTypeVertex: programCollection.glslSources.add(shader.shader_name) << glu::VertexSource(shader.shader_source) - << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_0, 0u); + << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, target, 0u, allowSpirv14); break; case amber::kShaderTypeTessellationControl: programCollection.glslSources.add(shader.shader_name) << glu::TessellationControlSource(shader.shader_source) - << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_0, 0u); + << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, target, 0u, allowSpirv14); break; case amber::kShaderTypeTessellationEvaluation: programCollection.glslSources.add(shader.shader_name) << glu::TessellationEvaluationSource(shader.shader_source) - << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_0, 0u); + << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, target, 0u, allowSpirv14); break; case amber::kShaderTypeMulti: DE_ASSERT(false && "Multi shaders not supported"); -- 2.7.4