Я написал небольшое тестовое приложение Vulkan, чтобы познакомиться с Vulkan, хотя я столкнулся с проблемой при попытке создать конвейер.
vkCreateGraphicsPipeline вызывает на уровне проверки следующие ошибки: Недействительный объект модуля шейдера 0x8 Недействительный объект модуля шейдера 0x9
И тогда программа вылетает на уровне проверки. Я создал VkShaderModule для вершинного шейдера и фрагментного шейдера и использовал glslangvalidator -V для преобразования их в модули SPIR-V, на которые vkCreateShaderModule не жаловался.
Возможно, я что-нибудь пропустил? Кажется, что в примерах дела обстоят точно так же, как и у меня.
VkShaderModule
дескрипторы по какой-то причине недействительны. Покажи, как ты их создаешь. Возможно, вы забыли проверитьVkResult
наSUCCESS
? Также, возможно, проверьте, включаете ли вы слои в правильном порядке (например, через мета-уровень standard_validation). - person krOoze   schedule 03.10.2016