Выпуск свободной реализации OpenGL - Mesa 11.2.0

Состоялся релиз свободной реализации OpenGL API — Mesa 11.2. Первый выпуск ветки Mesa 11.2.0 имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 11.2.1. Статус поддержки версий OpenGL не изменился: драйверы RadeonSI (HD 7700–7900, HD 8000, Rx 240–290, Rx 300), r600 и Nouveau (GeForce 400/500/600 на базе GPU Fermi и Kepler) поддерживают OpenGL 4.1, а драйвер Intel i965 поддерживает специфичные расширения OpenGL 4.2, но пока реализованы не все расширения OpenGL 4.0 и 4.1.

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

  • Примерно на 15% уменьшен размер библиотеки libGL.so;
  • В драйвер i965 добавлены новые PCI-идентификаторы карт, проведена подготовка к поддержке API Vulkan;
  • В драйвере Nouveau добавлена начальная поддержка GPU GM20x (GeForce 900). Выполнено переименование различных структур для их приведения к схеме наименования, используемой компанией NVIDIA. Реализован бэкенд для st/va. Продолжена работа над поддержкой вычислительных шейдеров;
  • В драйверах для GPU Radeon прекращена поддержка LLVM 3.5, отключен MPEG1 (UVD), обеспечена поддержка ETC для семейства Stoney;
  • В классический интерфейс OSMesa добавлена функция OSMesaCreateContextAttribs (), позволяющая определить профиль и версию GL для создания контекста базового профиля;
  • Проведена подготовка к реализации расширения GL_OES_geometry_shader;
  • Большая порция исправлений, связанных с работой GLSL. Проведена значительная переработка кодовой базы в преддверие поддержки GL_ARB_enhanced_layouts
  • Добавлен файл конфигурации для системы непрерывной интеграции Travis-CI;
  • Документированы дополнительные переменные окружения;
  • Налажено применение блокировок для объектов GLsync;
  • В трекер состояния Nine, обеспечивающий поддержку API Direct3D 9 для Unix-подобных систем, внесена большая порция исправлений;
  • Добавлена поддержка расширения WGL_ARB_render_texture, которое позволяет использовать один цветовой буфер и для рендиренга и для текстурирования;
  • В EGL добавлена поддержка расширений ANDROID_framebuffer_target и ANDROID_recordable. Для Wayland реализовано использование wl_surface.damage_buffer для SwapBuffersWithDamage;
  • В видеобэкенде VAAPI по умолчанию отключен MPEG4, реализован адаптивный деинтерлейсинг и добавлена возможность использования в многопоточных приложениях (thread safe);
  • В virgl (драйвер для виртуального GPU эмулятора QEMU) добавлены идентификаторы карт virtio 1.0 PCI;
  • Для платформы Android включена сборка virgl;
  • Добавлена поддержка платформы ARM64;
  • Улучшена поддержка операционной системы DragonFly BSD;
  • Для сборки под Windows теперь необходим компилятор Visual Studio 2013 или более новая версия (ранее поддерживался Visual Studio 2008+);
  • Поддержка новых расширений OpenGL:
    • GL_ARB_arrays_of_arrays во всех gallium-драйверах, поддерживающих GLSL 1.30
    • GL_ARB_base_instance во freedreno/a4xx
    • GL_ARB_compute_shader в i965
    • GL_ARB_copy_image в r600
    • GL_ARB_indirect_parameters в nvc0
    • GL_ARB_query_buffer_object в nvc0
    • GL_ARB_shader_atomic_counters в nvc0
    • GL_ARB_shader_draw_parameters в i965, nvc0
    • GL_ARB_shader_storage_buffer_object в nvc0
    • GL_ARB_tessellation_shader в i965 и r600 (только evergreen/cayman)
    • GL_ARB_texture_buffer_object_rgb32 во freedreno/a4xx
    • GL_ARB_texture_buffer_range во freedreno/a4xx
    • GL_ARB_texture_query_lod во freedreno/a4xx
    • GL_ARB_texture_rgb10_a2ui во freedreno/a4xx
    • GL_ARB_texture_view во freedreno/a4xx
    • GL_ARB_vertex_type_10f_11f_11f_rev во freedreno/a4xx
    • GL_KHR_texture_compression_astc_ldr во freedreno/a4xx
    • GL_AMD_performance_monitor в radeonsi (только CIK+)
    • GL_ATI_meminfo вr600, radeonsi
    • GL_NVX_gpu_memory_info в r600, radeonsi

© OpenNet