我使用libshaderc在运行时编译Shader代码。当我编译它们时,我没有任何问题。如果我将它们编译到Vulkan1.0 (shaderc_env_version_vulkan_1_0),我的验证没有任何错误,但是,当我使用Vulkan1.1 (shaderc_env_version_vulkan_1_1)作为目标环境时,我得到这个验证错误SPIR-V module not valid: Invalid SPIR-V binary version 1.3 for target environment SPIR-V 1.0 (under Vulkan 1.0 semantics)
我使用的是SDK 1.1.97
发布于 2019-02-05 01:51:48
验证层使用您的目标API版本来验证SPIR-V模块。因此,如果您使用将VkApplicatinInfo::apiVersion设置为VK_API_VERSION_1_0 (或者不提供VkApplicationInfo,因为默认值为1.0),那么验证将检查您正在使用的内容是否在1.0以下有效,即使设备支持1.1。因为Vulkan1.0不支持SPIR-V1.3模块,所以你会得到这个错误。
https://stackoverflow.com/questions/54513830
复制相似问题