From 9324d7c3861c914ea4ea49f48c4df906a4744dbc Mon Sep 17 00:00:00 2001 From: weihuoya Date: Thu, 30 Aug 2018 22:51:55 +0800 Subject: [PATCH] glslang options for vulkan --- Common/Vulkan/VulkanContext.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Common/Vulkan/VulkanContext.cpp b/Common/Vulkan/VulkanContext.cpp index 3b43e80c02..aeb29f20ea 100644 --- a/Common/Vulkan/VulkanContext.cpp +++ b/Common/Vulkan/VulkanContext.cpp @@ -1040,6 +1040,8 @@ bool GLSLtoSPV(const VkShaderStageFlagBits shader_type, glslang::TProgram program; const char *shaderStrings[1]; + EProfile profile = ECoreProfile; + int defaultVersion = 450; TBuiltInResource Resources; init_resources(Resources); @@ -1052,7 +1054,7 @@ bool GLSLtoSPV(const VkShaderStageFlagBits shader_type, shaderStrings[0] = pshader; shader.setStrings(shaderStrings, 1); - if (!shader.parse(&Resources, 100, false, messages)) { + if (!shader.parse(&Resources, defaultVersion, profile, false, true, messages)) { puts(shader.getInfoLog()); puts(shader.getInfoDebugLog()); if (errorMessage) { @@ -1076,7 +1078,11 @@ bool GLSLtoSPV(const VkShaderStageFlagBits shader_type, } // Can't fail, parsing worked, "linking" worked. - glslang::GlslangToSpv(*program.getIntermediate(stage), spirv); + glslang::SpvOptions options; + options.disableOptimizer = false; + options.optimizeSize = false; + options.generateDebugInfo = false; + glslang::GlslangToSpv(*program.getIntermediate(stage), spirv, &options); return true; }