Релиз Mesa 20.2.0, свободной реализации OpenGL и Vulkan

Представлен релиз свободной реализации API OpenGL и Vulkan — Mesa 20.2.0. В Mesa 20.2 реализована полная поддержка OpenGL 4.6 для GPU Intel (драйверы i965, iris) и AMD (radeonsi), поддержка OpenGL 4.5 для GPU AMD (r600), NVIDIA (nvc0) и llvmpipe, OpenGL 4.3 для virgl (виртуальный GPU Virgil3D для QEMU/KVM), а также поддержка Vulkan 1.2 для карт Intel и AMD.

Среди изменений:

  • В драйвере llvmpipe, предназначенном для программной отрисовки, обеспечена поддержка OpenGL 4.5.
  • В Vulkan-драйвере RADV (для карт AMD) по умолчанию задействован компилятор шейдеров «ACO«, который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM. ACO написан на языке С++, разрабатывается с оглядкой на возможность применения для JIT-компиляции и нацелен на обеспечение генерации кода, насколько это возможно оптимального для шейдеров игровых приложений, а также на достижение очень высокой скорости компиляции.
  • Добавлена начальная поддержка GPU AMD Navi 21 (Navy Flounder) и Navi 22 (Sienna Cichlid).
  • В драйверах для GPU Intel улучшена поддержка чипов на базе микроархитектуры Rocket Lake и добавлена начальная поддержка дискретных карт Intel Xe DG1.
  • Расширены возможности Gallium3D-драйвера Zink, реализующего API OpenGL поверх Vulkan. Zink позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan.
  • В Gallium3D-дрвйвер Nouveau NVC0 задействован HMM (heterogeneous memory management) для поддержки OpenCL SVM (Shared Virtual Memory).
  • В драйвере Panfrost стабилизирована поддержка 3D-рендеринга для GPU Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx).
  • В RadeonSI внесены улучшения, связанные с виртуализацией GPU.
  • Добавлена поддержка кэширования на диске промежуточного представления TGSI (Tungsten Graphics Shader Infrastructure).
  • Добавлены новые расширения OpenGL:
    • GL_ARB_compute_variable_group_size для Intel Iris.
    • GL_ARB_gl_spirv для Nouveau nvc0.
    • GL_NV_half_float для Nouveau nvc0.
    • GL_NV_copy_depth_to_color для Nouveau nvc0.
    • GL_ARB_spirv_extensions для Nouveau nvc0.
    • GL_EXT_shader_group_vote для llvmpipe.
    • GL_ARB_gpu_shader5 для llvmpipe.
    • GL_ARB_post_depth_coverage для llvmpipe.
    • GL_EXT_texture_shadow_lod для llvmpipe.
  • Добавлена поддержка EGL-расширения EGL_KHR_swap_buffers_with_damage (для X11 DRI3), а также GLX-расширений GLX_EXT_swap_control (DRI2, DRI3) и GLX_EXT_swap_control_tear (DRI3).
  • В Vulkan-драйвер RADV (для карт AMD) добавлены расширения:
    • VK_EXT_4444_formats
    • VK_KHR_memory_model
    • VK_AMD_texture_gather_bias_lod
    • VK_AMD_gpu_shader_half_float
    • VK_AMD_gpu_shader_int16
    • VK_EXT_extended_dynamic_state
    • VK_EXT_image_robustness
    • VK_EXT_private_data
    • VK_EXT_custom_border_color
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_subgroup_size_control
    • VK_GOOGLE_user_type
    • VK_KHR_shader_subgroup_extended_types
  • В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:
    • VK_EXT_image_robustness
    • VK_EXT_shader_atomic_float
    • VK_EXT_4444_formats
    • VK_EXT_extended_dynamic_state
    • VK_EXT_private_data
    • VK_EXT_custom_border_color
    • VK_EXT_pipeline_creation_cache_control

Источник: opennet.ru

Добавить комментарий