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

Как примерно работает `VK_NVX_device_generated_commands`?

#0
15:00, 26 ноя. 2019

Не так давно тронулся вопросами по поводу `VK_NVX_device_generated_commands`... Да, Ray-Tracing пока в тех еще планах, но мы его уже знаем фактически...
Скажите, а это правда что команды генерируются прямо в GPU? Хранятся ли аргументы команд в каком-нибудь отдельном буфере? Как GPU понимает по какому принципу именно отбирать данные для комманд?
Просто задумался, потому что даже на хосте планирую генерировать команды по указателю C++ и специальном идентификатору перед ним... весомый думаю повод чтобы включить поддержку и на уровне устройств...
То ли API, то ли библиотека планируется которая несколько похожа по некоторым принципам на DirectX 12, но точно не она... (хотя в теории может быть, если заполнить `vulkan.hpp` именно D3D12)

#1
(Правка: 15:03) 15:02, 26 ноя. 2019
а это правда что команды генерируются прямо в GPU

Правда.
Читай примеры  NVIDIA.
У меня AMD.
#2
15:17, 26 ноя. 2019

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

#3
15:32, 26 ноя. 2019

/A\
> Как-то так, я поэкспериментировал, словил крэш, так и не понял почему и забил.
> Слои валидации под него не работают так как экспериментальное расширение.
Эх... а ведь здорово было бы... под каждую возможную команду иметь структуру вроде... {token,pointer} и из-под-pointer {аргументы...}

#4
16:05, 26 ноя. 2019

Там большое ограничение в том, что нужно заполнять таблицы объектов соответствия идентификаторов на стороне CPU. Т.е. полностью автономной генерации комманд на стороне GPU вы таки все равно не получите. И еще не известно в каком месте у этого расширения будет бутылочное горлышко.

А оно таки будет, что сведет все ништяки от такой идеи на нет.

#5
18:49, 26 ноя. 2019

Как еще Дуров не подал в суд на вулкан за абривиатуру vk...

#6
11:42, 27 ноя. 2019

nes
> Как еще Дуров не подал в суд на вулкан за абривиатуру vk
У нас же `vk` превратилось в `api`... и дело здесь не в Дурове, а в том, что даже Vulkan-HPP должен быть нейтральным как обертка т.е. быть совместимым с как оригинальный Vulkan на языке `C`, так и с DirectX 12...

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