Релиз Mesa 20.0.0 с поддержкой Vulkan 1.2
Представлен релиз свободной реализации API OpenGL и Vulkan — Mesa 20.0.0. Первый выпуск ветки Mesa 20.0.0 имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 20.0.1. В Mesa 20.0 реализована полная поддержка OpenGL 4.6 для GPU Intel (драйверы i965, iris) и AMD (radeonsi), поддержка OpenGL 4.5 для GPU AMD (r600) и NVIDIA (nvc0), а также поддержка Vulkan 1.2 для карт Intel и AMD.
Среди изменений:
- В драйвере RadeonSI (для GPU AMD) обеспечена поддержка OpenGL 4.6 (OpenGL 4.6 ранее поддерживался в Mesa только для GPU Intel) и промежуточного представления шейдеров SPIR-V.
- В драйверах RADV и ANV для GPU AMD и Intel реализована поддержка графического API Vulkan 1.2;
- Для GPU Intel на базе микроархитектуры Broadwell и Skylake (Gen8+) по умолчанию задействован новый драйвер Iris, который по своим возможностям достиг паритета с драйвером i965. Драйвер Iris основан на архитектуре Gallium3D, выносящей задачи управления памятью на сторону DRI-драйвера в ядре Linux и предоставляющей готовый трекер состояний с поддержкой кэша повторного использования выводимых объектов. Для чипов на базе старых микроархитектур, до Haswell включительно, оставлен драйвер i965;
- В RADV (Vulkan-драйвер для чипов AMD) и бэкенд для компиляции шейдеров «ACO», который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM, добавлена поддержка GPU поколений GCN 1.0/GFX6 (Southern Islands) и GCN 1.1/GFX7 (Sea Islands);
- В RADV и ACO обеспечена компиляция геометрических шейдеров;
- В RADV и ACO для GPU GFX10 (Navi) реализована поддержка режима Wave32 (объединение 32 потоков в одну «волну» для одновременного выполнения);
- Драйверы LLVMpipe и RadeonSI переведены на использование бестипового промежуточного представление (IR) шейдеров NIR, нацеленного на работу на самом нижнем уровне, под GLSL IR и внутренним IR Mesa. Проведена оптимизация производительности NIR;
- В драйвер RadeonSI добавлена поддержка live-кэша, обеспечивающего отсеивание дубликатов скомпилированных объектов шейдеров;
- В OpenGL и Vulkan драйверы для GPU Intel добавлена поддержка чипов Gen11 (Jasper Lake);
- В драйвер V3D (для Raspberry Pi) добавлена поддержка геометрическеих шейдеров, соответствующих OpenGL ES 3.2, и обеспечена полная поддержка OpenGL ES 3.1;
- Проведена оптимизация производительности Vulkan-драйвера TURNIP для GPU Qualcomm Adreno;
- Добавлены новые расширения OpenGL:
- GL_ARB_gl_spirv.txt для radeonsi.
- GL_ARB_spirv_extensions для radeonsi.
- GL_EXT_direct_state_access для профиля совместимости.
- GL_INTEL_shader_integer_functions2 для драйверов i965 и iris.
- В Vulkan-драйвер RADV (для карт AMD) добавлены расширения:
- VK_AMD_device_coherent_memory
- VK_AMD_mixed_attachment_samples
- VK_AMD_shader_explicit_vertex_parameter
- VK_AMD_shader_image_load_store_lod
- VK_AMD_shader_fragment_mask
- VK_EXT_subgroup_size_control
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_swapchain_mutable_format
- VK_KHR_shader_float_controls
- В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:
- VK_INTEL_shader_integer_functions2.
- VK_KHR_separate_depth_stencil_layouts
Источник: http://www.opennet.ru/opennews/art.shtml? num=52401
© OpenNet