Выпуск Mesa 18.2.0, свободной реализации OpenGL и Vulkan
Состоялся релиз свободной реализации API OpenGL и Vulkan — Mesa 18.2. С прошлого выпуска внесено около 2200 изменений от примерно 130 разработчиков. Первый выпуск ветки Mesa 18.2.0 имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 18.2.1. В Mesa 18.2 предоставляется полная поддержка OpenGL 4.5 для драйверов i965, radeonsi и nvc0, поддержка Vulkan 1.1 для карт Intel и AMD, а также частичная поддержка стандарта OpenGL 4.6.
Наиболее заметные изменения:
- В драйвере radeonsi (для карт AMD) предложен дополнительный профиль совместимости с OpenGL 4.4 (OpenGL 4.4 Compatibility);
- В драйверы radeonsi и radv добавлена поддержка GPU AMD Vega 20;
- В драйвер virgl (для виртуального GPU эмулятора QEMU) добавлена поддержка OpenGL 4.3;
- Для драйверов radeonsi и virgl реализована поддержка OpenGL ES 3.2. В radeonsi дополнительно добавлена поддержка не входящего в основную спецификацию расширения GL_ARB_ES3_2_compatibility;
- В radeonsi обеспечена поддержка алгоритма адаптивного сжатия текстур ASTC (Adaptive Scalable Texture Compression);
- В драйвер i965 (для карт Intel) добавлена поддержка расширения GL_ARB_fragment_shader_interlock и улучшена поддержка шейдеров SPIR-V;
- В драйвер nvc0 для карт NVIDIA c GPU GM200+ добавлена поддержка расширений GL_ARB_sample_locations, GL_NV_sample_locations, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate. Для чипов GP102+ добавлена поддержка расширения GL_NV_conservative_raster_pre_snap_triangles;
- В nvc0 для GM100+ (Maxwell+) добавлена поддержка групповой обработки изображения (multisampled);
- В драйвер radeonsi добавлена поддержка расшириений GL_ANDROID_extension_pack_es31a и GL_KHR_texture_compression_astc_ldr;
- Во всех OpenGL-драйверах добавлена поддержка расширений GL_OES_EGL_image_external и GL_OES_EGL_image_external_essl3;
- В систему кэширования шейдеров на диске добавлена поддержка вычислительных шейдеров для драйвера radeonsi;
- Драйвер vc5 (для GPU Broadcom Video Core V) переименован в v3d и включён в основной состав Mesa;
- В Vulkan-драйвер ANV (для карт Intel) добавлены расширения, развиваемые для следующей версии API Vulkan и уже используемые в SteamVR:
- VK_KHR_bind_memory2.
- VK_KHR_external_fence.
- VK_KHR_external_fence_capabilities.
- VK_KHR_external_semaphore.
- VK_KHR_external_semaphore_capabilities.
- VK_KHR_maintenance2.
- VK_KHR_maintenance3.
- VK_KHR_multiview.
- VK_KHR_relaxed_block_layout.
- VK_KHR_sampler_ycbcr_conversion.
- VK_KHR_8bit_storage.
- VK_KHR_create_renderpass2.
- VK_KHR_display.
- VK_KHR_display_swapchain.
- VK_KHR_external_fence_fd.
- VK_KHR_external_semaphore_fd.
- VK_KHR_get_display_properties2.
- VK_KHR_image_format_list.
- В Vulkan-драйвер RADV (для карт AMD) добавлен набор расширений:
- VK_KHR_bind_memory2.
- VK_KHR_external_fence.
- VK_KHR_external_fence_capabilities.
- VK_KHR_maintenance2.
- VK_KHR_maintenance3.
- VK_KHR_multiview.
- VK_KHR_relaxed_block_layout.
- VK_KHR_create_renderpass2.
- VK_KHR_display.
- VK_KHR_display_swapchain.
- VK_KHR_draw_indirect_count.
- VK_KHR_external_fence_fd.
- VK_KHR_get_display_properties2.
- VK_KHR_get_surface_capabilities2.
- VK_KHR_image_format_list.
- В драйвере freedreno (для графической подсистемы чипов Qualcomm) для GPU Adreno a5xx добавлена поддержка метода сглаживания MSAA (Multisample anti-aliasing) и связанного с ним расширения GL_ARB_texture_multisample. Кроме того в драйвере улучшены средства обработки текстур и добавлена поддержка расширений GL_OES_texture_buffer и GL_ARB_seamless_cubemap_per_texture;
- В драйверы r600 и radeonsi добавлена поддержка расширения GL_EXT_texture_norm16;
- В драйвере i965 обеспечена поддержка OpenGL-расширений GL_OES_texture_view on (для gen8+) и GL_EXT_texture_norm16;
- В драйвер nouveau добавлена поддержка расширений GL_ARB_post_depth_coverage, GL_ARB_sample_locations и GL_EXT_texture_norm16;
- В драйвер virgl добавлена поддержка расширений GL_ARB_seamless_cubemap_per_texture и GL_ARB_shader_stencil_export;
- Удалена реализация расширения GL_EXT_polygon_offset, вместо которого следует использовать вызов glPolygonOffset;
- Увеличена скорость компиляции шейдеров с использованием LLVM;
- Из Mesa удалена библиотека libwayland-egl, которая теперь поставляется в составе Wayland.
© OpenNet