Релиз Mesa 20.0.0 с поддержкой Vulkan 1.2

  • Posted on: 23 February 2020
  • By: Shon

Представлен релиз свободной реализации 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 для 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

Источник

 

Категории: