Ошибка сегментации при вызове vkCreateGraphicsPipelinesC++

Программы на C++. Форум разработчиков
Anonymous
Ошибка сегментации при вызове vkCreateGraphicsPipelines

Сообщение Anonymous »

Я следовал руководству по Vulkan, когда столкнулся с проблемой.

Я почти полностью скопировал и вставил всю функцию CreateGraphicsPipeline() из руководства. код. Однако при вызове я получаю сообщение об ошибке сегментации: vkCreateGraphicsPipelines()

Пока кажется, что эта ошибка имеет тенденцию возникать, когда заявленный размер памяти шейдеров не соответствует Неверно, но я проверял это несколько раз, и мне кажется, все в порядке.

Судя по тому, что мне удалось изучить, проблема, скорее всего, находится внутри модуля шейдера. создание, так как недопустимый шейдер не приведет к любые ошибки или сообщения отладки до создания конвейера. Кто-то предположил, что ошибка может быть в строке:

Код: Выделить всё

createInfo.codeSize = code.size();


И предложил:

Код: Выделить всё

createInfo.codeSize = code.size() * sizeof(uint32_t);
Однако это создает бесконечный цикл внутри vkCreateGraphicsPipelines

My шейдеры идентичны его: вершина, фрагмент

И мои функции (извините за длину, это вулкан, и его трудно уменьшить):

Код: Выделить всё

static std::vector ReadFile(const std::string& filename) {
std::ifstream file(filename, std::ios::ate | std::ios::binary);
if (!file.is_open()) {
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/54976261/segmentation-fault-when-calling-vkcreategraphicspipelines[/url]

Вернуться в «C++»