Нова версія Vulkan 1.3 вже вийшла і це її новини

Після двох років роботи, Khronos оголосив про випуск нової версії специфікації Vulkan 1.3. Нова специфікація включає виправлення та доповнення, накопичені протягом двох років.

Окрім цього було подано план впровадження підтримки нової специфікації і додаткові розширення в графічних картах і драйверах пристроїв. Intel, AMD, ARM і NVIDIA готують продукти, сумісні з Vulkan 1.3.

Наприклад, AMD оголосила, що незабаром буде доступна підтримка Vulkan 1.3 на відеокартах серії AMD Radeon RX Vega, а також на всіх картах на основі архітектури AMD RDNA. NVIDIA готується випустити драйвери, сумісні з Vulkan 1.3 для Linux і Windows, а ARM додасть підтримку Vulkan 1.3 до графічних процесорів Mali.

Для тих, хто не знає Vulkan, вони повинні знати, що це є API, який виділяється своїм кардинальним спрощенням контролерів, видалення команд GPU на стороні програми, можливість підключати рівні налагодження, уніфікація API для різних платформ і використання попередньо скомпільованого проміжного рендерингу коду для виконання на стороні GPU.

Щоб забезпечити високу продуктивність і передбачуваність, Vulkan надає додаткам прямий контроль над операціями GPU та вбудованою підтримкою багатопотокової роботи GPU., що мінімізує накладні витрати на контролер і робить можливості на стороні контролера набагато простішими та більш передбачуваними. Наприклад, такі операції, як керування пам’яттю та обробка помилок, реалізовані в OpenGL на стороні драйвера, переміщуються на прикладний рівень у Vulkan.

Vulkan охоплює всі доступні платформи та надає єдиний API для настільних комп’ютерів, мобільних пристроїв та Інтернету, що дозволяє використовувати загальний API для кількох графічних процесорів і програм. Завдяки багаторівневій архітектурі Vulkan створюються інструменти, які працюють з будь-яким графічним процесором, OEM-виробники можуть використовувати загальні інструменти для перегляду коду, налагодження та профілювання під час розробки.

Основні нові можливості Vulkan 1.3

У цій новій версії Vulkan 1.3, яка представлена, це підкреслюєтьсяe Специфікація SPIR-V 1.6 була оновлена визначити проміжне представлення шейдерів, яке є універсальним для всіх платформ і можна використовувати як для графіки, так і для паралельних обчислень. SPIR-V передбачає поділ окремої фази компіляції шейдерів на проміжне представлення, що дозволяє створювати інтерфейси для різних мов високого рівня. На основі кількох реалізацій високого рівня генерується окремо один проміжний код, який можна використовувати драйверами OpenGL, Vulkan і OpenCL без використання вбудованого компілятора шейдерів.

Інша зміна, яка виділяється, полягає в тому, що se пропонує концепцію профілів сумісності. Google є першим, хто розробив базовий профіль для платформи Android що полегшить визначення рівня підтримки розширених функцій Vulkan на пристрої, що виходить за межі специфікації Vulkan 1.0. Для більшості пристроїв можна надати підтримку профілю без встановлення оновлень OTA.

Файл реалізована підтримка спрощених проходів візуалізації (Упорядкування проходів візуалізації, VK_KHR_dynamic_rendering), які дозволяють розпочати візуалізацію без створення проходів візуалізації та об’єктів фреймбуфера.

Крім того, були додані нові розширення, щоб полегшити керування компіляцією конвеєра графіка:

  • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 – додає додаткові динамічні стани, щоб зменшити кількість скомпільованих і приєднаних об’єктів стану.
  • VK_EXT_pipeline_creation_cache_control : Надає розширений контроль над тим, коли і як будувати конвеєри.
  • VK_EXT_pipeline_creation_feedback : Надає інформацію про скомпільовані конвеєри для полегшення профілювання та налагодження.

З іншого боку, також виділено кілька функцій, які були переміщені з необов’язкових на обов’язкові. Наприклад, тепер є обов’язковим реалізувати буферні посилання (VK_KHR_buffer_device_address) і модель пам’яті Vulkan, яка визначає, як паралельні потоки можуть отримати доступ до спільних даних і операцій синхронізації.

Окрім цього передбачено детальний підгруповий контроль (VK_EXT_subgroup_size_control), де постачальники можуть підтримувати кілька розмірів підгруп, а розробники можуть вибрати будь-який розмір, який вони забажають.

Надано продовження VK_KHR_shader_integer_dot_product що можна використовувати для оптимізації продуктивності фреймворків машинного навчання за допомогою апаратних прискорених операцій точкового продукту.

Насамкінець слід зазначити, що вимоги до специфікації Vulkan 1.3 розроблені для графічного обладнання класу OpenGL ES 3.1, що забезпечить підтримку нового графічного API на всіх графічних процесорах, які підтримують Vulkan 1.2.

Набір інструментів Vulkan SDK планується випустити в середині лютого. На додаток до основної специфікації, в рамках Vulkan Milestone Edition планується підтримувати додаткові розширення для настільних і мобільних пристроїв середнього та високого класу.

Нарешті, якщо ви зацікавлені в тому, щоб дізнатися більше про це, ви можете ознайомитися з деталями в наступне посилання.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.