Страница 1 от 1

Vulkan

Публикувано: 06 мар 2015 17:08
от themean
Нико нищо не каза по въпроса. Аз лично съм доста развълнуван.
link

Re: Vulkan

Публикувано: 12 мар 2015 00:46
от themean
Мислех да си спретнеме един скандал, кое ще е по-хубаво vulkan или d3d12, но явно никой не проявява интерес.

Re: Vulkan

Публикувано: 15 мар 2015 22:32
от Zero_effect
Тенденцията май е D3D12 да няма листи от алокации за целите на определяне на residency на ресурси, докато Vulkan като наследник на Mantle все още ги пази. Е, на Microsoft като цяло им е по-лесно да пробутат нова операционна система, за да решат тези проблеми на DWM, но като цяло Vulkan би трябвало да обхваща повече платформи. Самият факт, че Imagination имат вече работещ драйвер говори доста добре за стандарта. Интерфейсът, ако достатъчно наподобява Mantle, би трябвало да е доста изчистен. Като цяло не съм фен на descriptor set-ове, защото са някакъв bindless с ужасно неудобен интерфейс, но и за друго по-добро решение не се сещам. Задаването на съответствие между променливите в shader-ите и елементите на descriptor set-овете е проблем, над който все още трябва да се работи и не съм видял добро решение. Вариантът на Microsoft на descriptor set-ове като цяло не е кой знае колко по-добър. Добавя някакви доста странни ограничения, които я имат значение след 5 години, я не. Те също така си държат на интерфейс като този на D3D11 и не премахват напълно COM бозата. Хубавото е, че поне reference counting-а до някаква степен е премахнат - напълно безсмислен, имайки в предвид, че всеки engine си има собствен начин за управление на ресурсите.

Re: Vulkan

Публикувано: 17 мар 2015 12:59
от themean
Леле човече от къде имаш толкова информация :)

Re: Vulkan

Публикувано: 18 мар 2015 00:23
от Zero_effect
В случая това е публично известна информация, ако изчетеш всички възможни презентации на темата. Иначе повече от това навлиза в NDA територия.

Re: Vulkan

Публикувано: 18 мар 2015 04:31
от gemicha
Zero_effect написа:Като цяло не съм фен на descriptor set-ове, защото са някакъв bindless с ужасно неудобен интерфейс, но и за друго по-добро решение не се сещам. Задаването на съответствие между променливите в shader-ите и елементите на descriptor set-овете е проблем, над който все още трябва да се работи и не съм видял добро решение. Вариантът на Microsoft на descriptor set-ове като цяло не е кой знае колко по-добър.

Има ограничения които са поставени от сегашния хардуер и без значение какво е API-то на високо ниво някой трябва да управлява ресурсите на ниско ниво. Вътре хардуера има твърдо зададени слотове, които няма как да разшириш. При по-скъпите карти са повече. При някой са почти неограничено, но на GPU-тата който са масово разпространени числото е много малко. Ако искаш да работиш днес трябва да направиш компромиси. descriptor set-ове са компромис който работи при ограниченията днес и позволява лесно да се разширява за хардуера който ще дойде утре.

Неудобния интерфейс е знак, че си близо до желязото ;)

Re: Vulkan

Публикувано: 18 мар 2015 20:27
от Zero_effect
Неудобния интерфейс е знак, че си близо до желязото ;)
Не бих казал, че descriptor set-овете са близки до желязото. Това все пак не е директно команда за копиране на стойности в GPU регистрите, но има потенциала да е близко до подобно нещо. В случая те са компромис между старият bindful подход и новият bindless, при който няма фиксирано място, където са записани указатели към самите ресурси (може да са в UBO, SSBO, регистър и т.н.). Тук водещият фактор е, че ако не се поддържа старият хардуер новите API-та няма да са толкова популярни. Това е и основната причина защо D3D11 дълго време се използваше изключително ограничено.

Тези API-та не целят да дадат достъп на ниско ниво на програмистите. Те целят да намалят неявните операции, които се случват в драйвера. Дори в момента съществува подобен контрол в рамките на OpenGL с тъй наречените AZDO методи, но те се провалят по редица начини на различните драйвери, защото е акумулирана твърде много застаряла абстракция. От тази гледна точка пълното изчистване на интерфейса е голямо предимство, понеже ще е значително по-добре дефинирано как трябва да взаимодействат отделните елементи на API-то.

Re: Vulkan

Публикувано: 19 мар 2015 10:35
от Zero_effect
Между другото, може да спрем ръкомахането - най-после пуснаха API guide-а на Mantle: http://www.amd.com/Documents/Mantle-Pro ... erence.pdf

Re: Vulkan

Публикувано: 19 мар 2015 12:10
от stoiko

Re: Vulkan

Публикувано: 26 мар 2015 10:04
от Zero_effect
https://msdn.microsoft.com/en-us/librar ... 85%29.aspx -- и другата половина от дискусията.

Re: Vulkan

Публикувано: 18 юли 2016 14:12
от themean
https://vulkan-tutorial.com/
Време е да се направо нова дискусия за Vulkan аналогична на тези за DirectX и OpenGL