Опубликована новая версия API Vulkan 1.3.258 для высокопроизводительной графики и вычислений. В нем много исправлений: последнее обновление спецификации Vulkan вышло в начале июля, но в этом выпуске более заметны два новых расширения.
Наиболее интересным в этом обновлении спецификации является VK_EXT_host_image_copy, над которым работали Ханс-Кристиан Арнтцен из Valve, Фэйт Экстранд из Collabora, Дэниел Стори из Nintendo и другие известные личности. VK_EXT_host_image_copy предназначено для того, чтобы позволить программам копировать данные между памятью хоста и изображениями на хост-процессоре, минуя буфер, доступный для GPU. В свою очередь, использование этого расширения позволяет обойтись без необходимости выделения и управления буфером и связанной с ним памятью. Для некоторых архитектур это также позволяет отказаться от дополнительной операции копирования.
Поскольку над этим расширением работают основные производители, в ближайшее время появится поддержка драйверов, позволяющая копировать данные между образами на хосте.
Новым расширением NVIDIA в этом выпуске является VK_NV_device_generated_commands_compute, над которым также работал Майк Блюменкранц из Valve. VK_NV_device_generated_commands_compute позволяет GPU-устройству генерировать команды для привязки конвейеров вычислений, установки констант push и запуска диспетчеров вычислений. По сути, это вычислительное расширение существующей функциональности NVIDIA Device Generated Commands «DGC». В свою очередь, с прошлого года RADV уже поддерживает расширение NVIDIA DGC, поэтому, предположительно, они также пойдут дальше и реализуют это расширение VK_NV_device_generated_commands_compute.
Полный список изменений в сегодняшнем обновлении спецификации Vulkan 1.3.258 можно найти на GitHub.