Релиз Mesa 17.0.0

После трёх месяцев разработки сформирован релиз свободной реализации OpenGL API — Mesa 17.0. Это первый выпуск в рамках новой нумерации версий, в которой первая цифра указывает на год выпуска, вторая цифра является порядковым номером значительного выпуска за указанный год, а третья цифра отражает корректирующие выпуски. Причиной введения новой схемы является потеря актуальности прошлой нумерации, первая цифра в которой увеличивалась при обеспечении поддержки очередной версии стандарта OpenGL (теперь в Mesa реализована самая свежая спецификация OpenGL 4.5). Как и раньше первый выпуск новой ветки Mesa имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 17.0.1.

В новом выпуске можно отметить следующие изменения:

  • Добавлен новый драйвер etnaviv с поддержкой GPU Vivante, поставляемых в некоторых ARM-платформах Marvell Armada, Rockchip и Freescale;
  • В драйвере freedreno реализована поддержка пятого поколения GPU Adreno (A5XX), задействованных в SoC Snapdragon 820 и 821 и поддерживающих OpenGL ES 3.2, Vulkan 1.0 и OpenCL 2.0. Данные GPU используются в таких смартфонах, как Xiaomi Mi5, LG G5, Lenovo Zuk Z2/Z2Pro, One Plus 3, HTC 10 и Sony Xperia X/ZX, для видеоподсистем которых ранее были доступны только проприетарные драйверы;
  • В драйвере i965 для чипов Intel Haswell обеспечена поддержка OpenGL 4.2;
  • В драйвере nouveau для GPU NVIDIA Maxwell (GeForce 400/500/600/700) обеспечена поддержка OpenGL 4.3 и проведена работа по увеличению производительности;
  • В драйверах r600/radeonsi добавлена поддержка ещё не поступивших в продажу графических карт AMD Polaris12. Появилась возможность обработки H.264 уровня 5.2 через движки VCE. Внесена порция оптимизаций производитетельности;
  • В драйверах с реализацией графического API Vulkan добавлна поддержка расширения VK_KHR_sampler_mirror_clamp_to_edge и обеспечено использование распространяемого консорциумом Khoronos файла vk.xml для генерации точек входа (готовые заголовочные файлы vk_platform.h и vulkan.h исключены из поставки);
  • В Vulkan-драйвере ANV, развиваемом для карт Intel, добавлена поддержка тесселяционных шейдеров и типа Float64, проведена работа по увеличению производительности;
  • В Vulkan-драйвере RADV, развиваемом для карт AMD, добавлена возможность работы, одновременно с несколькими видеокартами, обеспечена поддержка расширений K_AMD_draw_indirect_count и VK_AMD_negative_viewport_height. Сборка RADV теперь требует включения опциии »--enable-gallium-llvm»;
  • В EGL внесены улучшения, связанные с работой бэкенда для платформы Android: добавлен вызов gralloc: lock_ycbcr для определения форматов YUV и обеспечена поддержка поверхностей на основе пиксельных буферов (pbuffer);
  • Проведён рефакторинг кэширования GLSL-шейдеров;
  • Подготовлены элементы для поддержки типа int64;
  • В подсистеме Gallium устранена серия утечек памяти и состояний гонки;
  • В VDPAU задействован интерфейс dri3 для прямой отправки буфера в X;
  • В трекер состояний Clover c реализацией OpenCL добавлена поддержка clGetExtensionFunctionAddres;
  • Прекращена поддержка сборочных опций »--with-sha1» и »--disable-shader-cache»;
  • Добавлена поддержка новых расширений OpenGL:
    • GL_ARB_post_depth_coverage в i965/gen9+
    • GL_KHR_blend_equation_advanced в nvc0
    • GL_INTEL_conservative_rasterization в i965/gen9+
    • GL_NV_image_formats во всех драйверах с поддержкой GL_ARB_shader_image_load_store (i965, nvc0, radeonsi, softpipe)
    • GL_ARB_gpu_shader_fp64 в i965/haswell
    • GL_ARB_vertex_attrib_64bit в i965/haswell
    • GL_ARB_shader_precision в i965/haswell
    • GL_OES_geometry_shader в i965/haswell
    • GL_OES_texture_cube_map_array в i965/haswell
    • GL_OES_viewport_array в i965/haswell

© OpenNet