Релиз Mesa 17.1.0

После трёх месяцев разработки опубликован релиз свободной реализации OpenGL API - Mesa 17.1. По сравнению с прошлым выпуском внесено около 3000 изменений от примерно 140 разработчиков. Первый выпуск ветки Mesa 17.1.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 17.1.1.

Наиболее заметные изменения:

  • В драйвере i965 для чипов Intel Ivy Bridge обеспечена поддержка OpenGL 4.2, что позволило добиться паритета функциональности с OpenGL-драйверами для Windows, macOS и Android;
  • Реализована поддержка кэширования шейдеров на диске, что позволяет ускорить запуск и сократить время компиляции шейдеров в некоторых играх;
  • Существенно увеличена производительность игр компании Feral Interactive, которая также предоставила разработчикам Mesa ключи для бесплатного доступ ко всем своим Linux-играм в Steam;
  • В разработанном компанией Intel высокопроизводительном программном растеризаторе SWR, предоставляющем средства для программной отрисовки OpenGL силами центрального процессора, без привлечения GPU, включена поддержка геометрических шейдеров и технологии сглаживания MSAA (Multi-Sample AntiAliasing). Для работы SWR теперь требуется как минимум LLVM 3.9.0 и компилятор, поддерживающий стандарт C++14;
  • Для EGL реализован интерфейс libglvnd. Для Android добавлена поддержка расширения EGL_EXT_buffer_age;
  • Добавлена экспериментальная поддержка многопоточной диспетчеризации OpenGL;
  • Реализовано расширение EXT_compressed_ETC1_RGB8_sub_texture;
  • Через файл конфигурации DRIRC добавлены настройки для обхода ошибок в играх Worms WMD, Crookz - The Big Heist, Tropico 5 и The Culling;
  • В драйвер nouveau добавлена поддержка карт Pascal второго поколения и внесена порция оптимизаций;
  • В radeonsi расширена поддержка карт Polaris10/12, включено декодирование 10bit HEVC. Для работы драйвера radeonsi теперь требуется LLVM 3.8.0;
  • Vulkan-драйвер RADV, развиваемый для карт AMD, успешно прошёл все тесты Khronos CTS, но пока официально не ратифицирован. Добавлена поддержка GPU POLARIS10 и POLARIS12, возможность использования геометрических и тесселяционных шейдров, средства работы с несколькими физическими устройствами;
  • В Vulkan-драйвере ANV, развиваемом для карт Intel, обеспечена возможности сборки для платформы Android и обособленной сборки без привязки к драйверу i965;
  • В драйверах RADV и ANV добавлена поддержка расширений Vulkan:
    • VK_KHR_get_physical_device_properties2
    • VK_KHR_descriptor_update_template
    • VK_KHR_incremental_present
    • VK_KHR_maintenance1
    • VK_KHR_push_descriptor
    • VK_KHR_shader_draw_parameters
    • PipelineStatisticsQuery
    • ShaderStorageImageWriteWithoutFormat
    • ShaderFloat64
    • InheritedQueries
  • Добавлена поддержка новых расширений OpenGL:
    • GL_ARB_gpu_shader_fp64 в i965/ivybridge
    • GL_ARB_gpu_shader_int64 в i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe
    • GL_ARB_shader_ballot вnvc0, radeonsi
    • GL_ARB_shader_clock в nv50, nvc0, radeonsi
    • GL_ARB_shader_group_vote в radeonsi
    • GL_ARB_shader_precision в i965/ivb
    • GL_ARB_shader_viewport_layer_array в radeonsi
    • GL_ARB_sparse_buffer в radeonsi/CIK+
    • GL_ARB_transform_feedback2 в i965/gen6
    • GL_ARB_transform_feedback_overflow_query в i965/gen6+
    • GL_ARB_vertex_attrib_64bit в i965/ivb
    • GL_NV_fill_rectangle в nvc0
  • Из поставки удалён gallium-драйвер ilo;
  • Сборочная опция "--enable-gallium-llvm" заменена на "--enable-llvm". Опция "--with-egl-platforms" объявлена устаревшей, вместо неё следует использовать "--with-platforms";
  • Прекращена поддержка переменных окружения "MESA_GLSL=opt" и "MESA_GLSL=no_opt";
  • Прекращена поддержка Android 4.4 (KitKat).

Источник: OpenNET