Войти
ПрограммированиеФорумГрафика

Vulkan API (вышел!) (488 стр)

Страницы: 1487 488 489 490498 Следующая »
#7305
14:19, 22 сен. 2020

Suslik
> почему оно не работает?
наоборот, удивляюсь что оно работает на ноуте


#7306
18:41, 22 сен. 2020

war_zes
> наоборот, удивляюсь что оно работает на ноуте
у меня все работает даже на линуксе на ноуте с внешней гпу, а у тебя в идеальных условиях не хочет работать

#7307
18:57, 22 сен. 2020

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

#7308
10:34, 23 сен. 2020

war_zes
> Короче, я тут даже не знаю - как это вообще используют в промышленности? Оно же
> не рабочее, даже

запусти DOOM

#7309
13:10, 23 сен. 2020
Изображение
#7310
19:54, 23 сен. 2020

капнул на 3 страницы назад)

ufna
> но раскатить код где только пуш дескрипторы я на этот девайс не могу для прода.
а для чего используются пуш дескрипторы? в теории я знаю, интересно что на практике.

innuendo
> работал с RGP?
пару раз запускал, у меня слабая карта от амд и вроде не все фичи профайлера есть

#7311
8:44, 24 сен. 2020

/A\
> вроде не все фичи профайлера есть
не понял -шо не  так?

#7312
9:00, 24 сен. 2020

innuendo
> не понял -шо не так?
так в 5700 все что есть в RGP поддерживается, а в более ранних уже не все

#7313
(Правка: 10:46) 10:04, 24 сен. 2020

/A\
> так в 5700 все что есть в RGP поддерживается, а в более ранних уже не все

бывает, да

а в чём,конкретно, проблема?

#7314
(Правка: 10:25) 10:15, 3 окт. 2020

Все еще в туториале - собственно вопрос по ошибке и что у меня не так.
Дошел досюда >> https://vulkan-tutorial.com/Drawing_a_triangle/Drawing/Rendering_… _presentation
А конкретно точно до того момента где получаем 1ый треугольник.
Я вывожу треугольник на 1 кадр и меня вываливает валидатор...
То есть следующий кадр НЕ рисует.

Выбивает ошибку >>

Validation Error: [ VUID-vkQueueSubmit-pCommandBuffers-00071 ] Object 0: handle = 0x242448a8bb8, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x2e2f4d65 | VkCommandBuffer 0x2424ae13ed8[] is already in use and is not marked for simultaneous use. The Vulkan spec states: If any element of the pCommandBuffers member of any element of pSubmits was not recorded with the VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not be in the pending state (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html… Buffers-00071)

Код - пометил комментарием "// draw frame", 695 строка >>
https://pastebin.com/1Xnx1Ac4

#7315
(Правка: 10:36) 10:35, 3 окт. 2020

Redee
> Я вывожу треугольник на 1 кадр и меня вываливает валидатор...
Буфер команд неправильно настроен или синхронизация поломалась.
Ты, случайно, не вызываешь каждый раз создание буфера в основном цикле?

#7316
(Правка: 10:42) 10:40, 3 окт. 2020

MikeNew - нет, не вызываю.
В основном цикле сие, все остальное выше ранее созданное.

    uint32_t imageIndex;
    func = "vk Acquire Next Image KHR";
    res = vkAcquireNextImageKHR(device, swapChain, UINT64_MAX, imageAvailableSemaphore, VK_NULL_HANDLE, &imageIndex);
    if (res)
      Print_Result(func, res);

    VkSubmitInfo submitInfo{};
    submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;

    VkSemaphore waitSemaphores[] = { imageAvailableSemaphore };
    VkPipelineStageFlags waitStages[] = { VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT };
    submitInfo.waitSemaphoreCount = 1;
    submitInfo.pWaitSemaphores = waitSemaphores;
    submitInfo.pWaitDstStageMask = waitStages;

    submitInfo.commandBufferCount = 1;
    submitInfo.pCommandBuffers = &commandBuffers[imageIndex];

    VkSemaphore signalSemaphores[] = { renderFinishedSemaphore };
    submitInfo.signalSemaphoreCount = 1;
    submitInfo.pSignalSemaphores = signalSemaphores;

    func = "vk Queue Submit";
    res = vkQueueSubmit(graphicsQueue, 1, &submitInfo, VK_NULL_HANDLE);
    if (res)
      Print_Result(func, res);

    VkPresentInfoKHR presentInfo{};
    presentInfo.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;

    presentInfo.waitSemaphoreCount = 1;
    presentInfo.pWaitSemaphores = signalSemaphores;

    VkSwapchainKHR swapChains[] = { swapChain };
    presentInfo.swapchainCount = 1;
    presentInfo.pSwapchains = swapChains;
    presentInfo.pImageIndices = &imageIndex;
    presentInfo.pResults = nullptr; // Optional
    vkQueuePresentKHR(presentQueue, &presentInfo);
#7317
(Правка: 10:52) 10:52, 3 окт. 2020

Redee
ну тебе валидатор прямо написал, что нужно сделать:
поставь своим коммандным буферам при создании флаг: VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT

#7318
14:44, 4 окт. 2020

HolyDel
Примного благодарен! Прокатило !)
Может была смена версии вулкана, а там туторе не было той ошибки...(уже времени прошло несколько...)
Сейчас точно проверю кстати... Ага у них нет - то поле структуры "нулевое".

VkCommandBufferBeginInfo beginInfo{};
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;

Ну все поздравляйте - 1ый треугольник на силу родился хаааааааах )).

2020-10-04_143957 | Vulkan API (вышел!)
#7319
17:26, 4 окт. 2020

Redee
внимание, вопрос - а кто мешал сразу найти рабочий пример треугольника?

Страницы: 1487 488 489 490498 Следующая »
ПрограммированиеФорумГрафика