我正在使用libshaderc在运行时编译着色器代码。编译它们时没有任何问题。如果将它们编译为Vulkan 1.0(shaderc_env_version_vulkan_1_0
),则验证没有任何错误,但是,当我将Vulkan 1.1(shaderc_env_version_vulkan_1_1
)用作目标环境时,会收到此验证错误{{1 }}
我正在使用SDK 1.1.97
答案 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模块,因此您会收到该错误。