Mesa 21.3 чыгаруу, OpenGL жана Vulkan акысыз ишке ашыруу

Төрт ай иштеп чыккандан кийин, OpenGL жана Vulkan API'лерин акысыз ишке ашыруунун - Mesa 21.3.0 - жарыяланды. Mesa 21.3.0 бутагынын биринчи чыгарылышы эксперименталдык статуска ээ - код акыркы турукташтырылгандан кийин 21.3.1 туруктуу версиясы чыгарылат.

Mesa 21.3 4.6, iris (Intel), radeonsi (AMD), zink жана llvmpipe драйверлери үчүн OpenGL 965 үчүн толук колдоону камтыйт. OpenGL 4.5 колдоосу AMD (r600) жана NVIDIA (nvc0) GPU'лары үчүн жеткиликтүү жана virgl үчүн OpenGL 4.3 колдоосу (QEMU/KVM үчүн Virgil3D виртуалдык GPU). Vulkan 1.2 колдоосу Intel жана AMD карталары үчүн, ошондой эле эмулятор режиминде (vn) жана lavapipe программалык растеризаторунда, Vulkan 1.1 колдоосу Qualcomm GPU жана lavapipe программалык растеризатору үчүн, ал эми Vulkan 1.0 Broadcom үчүн жеткиликтүү. VideoCore VI GPU (Raspberry Pi 4).

Негизги инновациялар:

  • Zink драйвери (Vulkanдын үстүндөгү OpenGL APIнин ишке ашырылышы, эгерде системада Vulkan API гана колдоого чектелген драйверлер болсо, OpenGL жабдыктарды тездетүүгө мүмкүндүк берет) OpenGL ES 3.2. колдойт.
  • Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) жана Bifrost (Mali G3x, G5x, G7x) микроархитектураларынын негизинде GPU менен иштөө үчүн иштелип чыккан Panfrost драйвери OpenGL ES 3.1 менен шайкештиги үчүн расмий түрдө тастыкталган.
  • Raspberry Pi 3 моделинен баштап колдонулган VideoCore VI графикалык тездеткичи үчүн иштелип чыккан v4dv драйвери Vulkan 1.1 графикалык API үчүн тастыкталган колдоого ээ, ошондой эле геометрия шейдерлери үчүн колдоо кошот. Шейдер компилятору тарабынан түзүлгөн коддун иштеши кыйла жакшырды, бул Unreal Engine 4 негизиндеги оюндар сыяктуу шейдерлерди активдүү колдонгон программалардын ылдамдыгына оң таасирин тийгизет.
  • RADV Vulkan драйвери (AMD) нурларды көзөмөлдөө жана нурларды издөө шейдерлери үчүн эксперименталдык колдоону кошту. GFX10.3 карталары үчүн демейки боюнча NGG (Кийинки муундагы геометрия) шэйдер кыймылдаткычтарын колдонуу менен примитивдик тазалоону колдоо иштетилген.
  • Iris OpenGL драйвери (Intel GPUs үчүн жаңы драйвер) көп жиптүү шейдер компиляция мүмкүнчүлүгүн кошту.
  • Vulkan API үчүн программалык растеризаторду ишке ашырган lavapipe драйвери (llvmpipeге окшош, бирок Vulkan API чалууларын Gallium APIге которуу) анизотроптук текстураны чыпкалоо үчүн колдоону ишке ашырды жана Vulkan 1.2.
  • Программалык камсыздоону көрсөтүү үчүн иштелип чыккан OpenGL драйвери llvmpipe 2D операцияларына байланыштуу иш-аракеттерди аткарууда аткарууну 3-2 эсеге жогорулатты. FP16 операциялары, анизотроптук текстура чыпкалоо (GL_ARB_texture_filter_anisotropic) жана кадалган эстутум аймактары (GL_AMD_pinned_memory) үчүн кошумча колдоо. OpenGL 4.5 шайкештик профилине колдоо көрсөтүлөт.
  • VA-API (Video Acceleration API) штаттык трекери AMD GPU драйверлерин колдонууда AV1 видео коддоосун жана декоддоону тездетүүгө колдоо көрсөтөт.
  • EGL колдоосу Windows платформасы үчүн ишке ашырылган.
  • Wayland үчүн EGL_EXT_present_opaque кеңейтүүсү үчүн колдоо кошулду. Wayland протоколуна негизделген чөйрөлөрдө иштеп жаткан оюндарда айкындуулукту көрсөтүү көйгөйлөрү чечилди.
  • Кеңейтүүлөр үчүн колдоо Vulkan драйверлери RADV (AMD), ANV (Intel) жана lavapipe кошулду:
    • VK_EXT_shader_atomic_float2 (Intel, RADV).
    • VK_EXT_vertex_input_dynamic_state (RADV).
    • VK_EXT_primitive_topology_list_restart (RADV, lavapipe).
    • VK_KHR_shader_integer_dot_product (RADV).
    • VK_KHR_synchronization2 (Intel).
    • VK_KHR_maintenance4 (RADV).
    • VK_KHR_format_feature_flags2 (RADV).
    • VK_KHR_shader_subgroup_extended_types (lavapipe).
    • VK_KHR_spirv_1_4 (lavappipe).
    • VK_KHR_timeline_semaphore (жуу түтүгү).
    • VK_EXT_external_memory_host (lavappipe).
    • VK_KHR_depth_stencil_resolve (lavappipe).
    • VK_KHR_shader_float16_int8 (жуу түтүгү).
    • VK_EXT_color_write_enable (lavappipe).

Source: opennet.ru

Комментарий кошуу