我复制并粘贴了这个Vulkan教程中的代码,试图拆解它并理解Vulkan API。但是我无法使其在没有错误的情况下运行。
如果我禁用验证,代码可以按照预期运行。但是,如果启用验证,我会得到以下错误:
validation layer: SPIR-V module not valid: Codesize must be a multiple of 4 but is 421. The Vulkan spec states: If pCode points to SPIR-V code, codeSize must be a multiple of 4 (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkShaderModuleCreateInfo-pCode-01376
如果我理解正确的话,这是LunarSDK验证检查之一。
因此,我认为我必须请求一个Vulkan扩展来处理GLSL着色器,而不是Spir-v,但我不确定如何做到这一点,因为这是我第一次处理API,我不知道我要寻找什么代码。我尝试阅读教程和文档,但我找不到如何解决问题。