Всего через неделю после появления Vulkan 1.4.330 с пятью новыми расширениями выходит Vulkan 1.4.331 теперь доступен с еще двумя новыми расширениями для этого высокопроизводительного графического и вычислительного API.
Vulkan (Vulkan API) — это современный кроссплатформенный низкоуровневый графический и вычислительный интерфейс, разработанный консорциумом Khronos Group. Он обеспечивает высокую производительность за счёт прямого контроля над GPU и снижения нагрузки на CPU, поддерживает многопоточность и работу с несколькими GPU, а также позволяет использовать продвинутые функции (например, трассировку лучей). Vulkan кроссплатформенен (работает на Windows, Linux, Android и др.), заменяет OpenGL, конкурирует с DirectX 12 и активно применяется в игровой индустрии, мобильных приложениях, VR/AR и промышленной визуализации.
Что нового в Vulkan 1.4.330 и Vulkan 1.4.331
Vulkan 1.4.331 содержит ряд уточнений и других обновлений существующей спецификации, а также два новых расширения от поставщиков:
- VK_ARM_performance_counters_by_region — это новое расширение Arm позволяет собирать счетчики производительности по регионам/плиткам. VK_ARM_performance_counters_by_region предоставляет перечень доступных счетчиков и средства для запроса тех из них, которые необходимо собирать для каждого экземпляра прохода рендеринга.
- VK_OHOS_external_memory — расширение внешней памяти для использования в ОС Open Harmony от Huawei. В предыдущем обновлении спецификации Vulkan было введено расширение VK_OHOS_native_buffer для поддержки нативных буферов в ОС Open Harmony, а теперь оно дополнено поддержкой внешней памяти, поскольку возможности Vulkan продолжают расширяться для этой китайской ОС.
Помимо обычных изменений в спецификации API Vulkan, пять новых расширений, делающих Vulkan 1.4.330 примечательной, включают:
- VK_KHR_maintenance10: последнее обновление спецификации по обслуживанию различных второстепенных функций. Оно включает в себя новые биты функций формата изображения, добавление информации о вставках ввода в динамический рендеринг, дополнительную функцию, позволяющую приложениям переопределять поведение sRGB по умолчанию, а также другие незначительные изменения. Майк Блуменкранц и Ханс-Кристиан Арнтцен из Valve работали над этими изменениями вместе с Пирсом Дэниеллом из NVIDIA.
- VK_EXT_memory_decompression: расширение VK_EXT_memory_decompression позволяет выполнять декомпрессию из памяти в память. Над этой функцией работали несколько инженеров NVIDIA.
- VK_EXT_shader_64bit_indexing: расширение, позволяющее ослабить ограничение maxStorageBufferRange, чтобы обеспечить доступ к более чем 4 ГБ через привязку буфера. Флаги создания конвейера и шейдера, которые запрашивают поддержку 64-битной адресации и других 64-битных диапазонов. Это дополнение было добавлено Джеффом Болзом из NVIDIA.
- VK_EXT_shader_uniform_buffer_unsized_array: инженеры NVIDIA также добавили VK_EXT_shader_uniform_buffer_unsized_array, чтобы последний элемент блока унифицированного буфера можно было объявить как массив без размера. Цель здесь состоит в том, чтобы приложения могли создавать гибкие макеты буферов, в которых размер массива может варьироваться во время выполнения.
- VK_OHOS_native_buffer: инженеры Huawei внесли это расширение, чтобы приложения могли приобретать права собственности на изображение и использовать его в связи с их ОС OpenHarmony.
Более подробная информация о Vulkan доступна в GitHub commit.







