Дата публикации:Wed, 05 Feb 2025 09:08:32 +0300
Компания Collabora объявила о реализации в драйвере PanVK поддержки графического API Vulkan 1.1 (ранее поддерживалась только версия Vulkan 1.0). Драйвер обеспечивает поддержку графического API Vulkan на устройствах с GPU ARM на базе архитектуры V10, таких как Mali-G610 и Mali-G310. Помимо совместимости с API Vulkan 1.1 в код PanVK добавлена поддержка многих расширений из более новых версий Vulkan, но полная совместимость с Vulkan 1.2 пока не достигнута. Реализованы следующие расширения:
-
[url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_KHR_map_memory2.html]VK_KHR_map_memory2[/url]
[url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_KHR_zero_initialize_workgroup_memory.html]VK_KHR_zero_initialize_workgroup_memory[/url]
[url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_EXT_global_priority.html]VK_EXT_global_priority[/url]
[url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_EXT_pipeline_robustness.html]VK_EXT_pipeline_robustness[/url]
[url=https://registry.khronos.org/vulkan/specs/latest/man/html/VK_EXT_provoking_vertex.html]VK_EXT_provoking_vertex[/url]
Поддержка Vulkan 1.1 в PanVK уже принята в ветку, на базе которой разрабатывается релиз Mesa 25.0. Кроме того, PanVK включён в список драйверов, доступных для использования в Mesa по умолчанию (ранее PanVK не отображался в списке драйверов и для его использования нужно было выставлять переменную окружения). На системах ARM сборка PanVK включена по умолчанию. Код для поддержки отдельных расширений Vulklan 1.2 передан для включения в основной состав Mesa.
Дополнительно отмечено расширение функциональности открытого OpenGL-драйвера Panfrost, разрабатываемого для GPU ARM Mali параллельно с Vulkan-драйвером PanVK:
- Для повышения эффективности использования пропускной способности в драйвере включён по умолчанию механизм "transaction elimination", отбрасывающий избыточные операции (например, отбрасываются операции перезаписи фрагментов, не изменившимися с прошлой отрисовки).
Добавлена поддержка инкрементальной отрисовки, позволяющая снизить потребление памяти при рендеринге большого числа объектов за счёт раздельной обработки фрагментов (tile).
Добавлена поддержка режима AFBC 32x8, применяемого для оптимизации работы с буфером вывода (scan-out buffer) в некоторых дисплейных контроллерах.
Максимально поддерживаемая ширина и высота текстур увеличена с 8192 до 32768 пикселей.
Добавлена поддержка режима текстурирования MTK_FMT_MOD_TILE_16L32S, при котором фрагментированные данные копируются во временный нефрагментированный буфер перед отрисовкой (используется для работы с аппаратными декодировщиками видео, присутствующими в SoC MediaTek).
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62674