Vulkan 1.1,SPIR-V 1.3,libshaderc,验证层错误

时间:2019-02-04 10:06:24

标签: vulkan

我正在使用libshaderc在运行时编译着色器代码。编译它们时没有任何问题。如果将它们编译为Vulkan 1.0(shaderc_env_version_vulkan_1_0),则验证没有任何错误,但是,当我将Vulkan 1.1(shaderc_env_version_vulkan_1_1)用作目标环境时,会收到此验证错误{{1 }}

我正在使用SDK 1.1.97

1 个答案:

答案 0 :(得分:1)

验证层使用您要定位的API版本来验证SPIR-V模块。因此,如果您将VkApplicatinInfo::apiVersion设置为VK_API_VERSION_1_0(或者不提供VkApplicationInfo,因为默认值为1.0),那么验证将检查您使用的内容在1.0以下是否有效,即使设备支持1.1。由于Vulkan 1.0不支持SPIR-V 1.3模块,因此您会收到该错误。