Vulkan
Re: Vulkan
Мислех да си спретнеме един скандал, кое ще е по-хубаво vulkan или d3d12, но явно никой не проявява интерес.
- Zero_effect
- Sometimes here
- Мнения: 35
- Регистриран: 29 авг 2008 17:49
Re: Vulkan
Тенденцията май е 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
Леле човече от къде имаш толкова информация 

- Zero_effect
- Sometimes here
- Мнения: 35
- Регистриран: 29 авг 2008 17:49
Re: Vulkan
В случая това е публично известна информация, ако изчетеш всички възможни презентации на темата. Иначе повече от това навлиза в NDA територия.
Re: Vulkan
Zero_effect написа:Като цяло не съм фен на descriptor set-ове, защото са някакъв bindless с ужасно неудобен интерфейс, но и за друго по-добро решение не се сещам. Задаването на съответствие между променливите в shader-ите и елементите на descriptor set-овете е проблем, над който все още трябва да се работи и не съм видял добро решение. Вариантът на Microsoft на descriptor set-ове като цяло не е кой знае колко по-добър.
Има ограничения които са поставени от сегашния хардуер и без значение какво е API-то на високо ниво някой трябва да управлява ресурсите на ниско ниво. Вътре хардуера има твърдо зададени слотове, които няма как да разшириш. При по-скъпите карти са повече. При някой са почти неограничено, но на GPU-тата който са масово разпространени числото е много малко. Ако искаш да работиш днес трябва да направиш компромиси. descriptor set-ове са компромис който работи при ограниченията днес и позволява лесно да се разширява за хардуера който ще дойде утре.
Неудобния интерфейс е знак, че си близо до желязото

- Zero_effect
- Sometimes here
- Мнения: 35
- Регистриран: 29 авг 2008 17:49
Re: Vulkan
Не бих казал, че descriptor set-овете са близки до желязото. Това все пак не е директно команда за копиране на стойности в GPU регистрите, но има потенциала да е близко до подобно нещо. В случая те са компромис между старият bindful подход и новият bindless, при който няма фиксирано място, където са записани указатели към самите ресурси (може да са в UBO, SSBO, регистър и т.н.). Тук водещият фактор е, че ако не се поддържа старият хардуер новите API-та няма да са толкова популярни. Това е и основната причина защо D3D11 дълго време се използваше изключително ограничено.Неудобния интерфейс е знак, че си близо до желязото
Тези API-та не целят да дадат достъп на ниско ниво на програмистите. Те целят да намалят неявните операции, които се случват в драйвера. Дори в момента съществува подобен контрол в рамките на OpenGL с тъй наречените AZDO методи, но те се провалят по редица начини на различните драйвери, защото е акумулирана твърде много застаряла абстракция. От тази гледна точка пълното изчистване на интерфейса е голямо предимство, понеже ще е значително по-добре дефинирано как трябва да взаимодействат отделните елементи на API-то.
- Zero_effect
- Sometimes here
- Мнения: 35
- Регистриран: 29 авг 2008 17:49
Re: Vulkan
Между другото, може да спрем ръкомахането - най-после пуснаха API guide-а на Mantle: http://www.amd.com/Documents/Mantle-Pro ... erence.pdf
- Zero_effect
- Sometimes here
- Мнения: 35
- Регистриран: 29 авг 2008 17:49
Re: Vulkan
https://msdn.microsoft.com/en-us/librar ... 85%29.aspx -- и другата половина от дискусията.
Re: Vulkan
https://vulkan-tutorial.com/
Време е да се направо нова дискусия за Vulkan аналогична на тези за DirectX и OpenGL
Време е да се направо нова дискусия за Vulkan аналогична на тези за DirectX и OpenGL