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) графикалық процессорлары үшін қол жетімді және 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 графикалық процессоры (Raspberry Pi 4).

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

  • Zink драйвері (жүйеде тек Vulkan API қолдауымен шектелген драйверлер болса, аппараттық жеделдетілген OpenGL алуға мүмкіндік беретін Vulkan-ның жоғарғы жағындағы OpenGL API нұсқасы) OpenGL ES 3.2 нұсқасын қолдайды.
  • Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) және Bifrost (Mali G3x, G5x, G7x) микроархитектураларына негізделген графикалық процессорлармен жұмыс істеуге арналған Panfrost драйвері OpenGL ES 3.1 үйлесімділігі үшін ресми түрде сертификатталған.
  • Raspberry Pi 3 үлгісінен бастап пайдаланылатын VideoCore VI графикалық үдеткіші үшін әзірленген v4dv драйвері Vulkan 1.1 графикалық API үшін сертификатталған қолдауға ие, сонымен қатар геометрия шейдерлеріне қолдау қосты. Шейдер компиляторы жасаған кодтың өнімділігі айтарлықтай жақсарды, бұл Unreal Engine 4 негізіндегі ойындар сияқты шейдерлерді белсенді пайдаланатын бағдарламалардың жылдамдығына оң әсер етеді.
  • RADV Vulkan драйвері (AMD) сәулелік бақылау және сәулелік бақылау шейдерлеріне эксперименттік қолдауды қосты. GFX10.3 карталары үшін NGG (Next-Gen Geometry) шейдер қозғалтқыштарын пайдаланып қарапайым жоюға қолдау әдепкі бойынша қосылады.
  • Iris OpenGL драйвері (Intel GPU үшін жаңа драйвер) көп ағынды шейдер құрастыру мүмкіндігін қосты.
  • Vulkan API (llvmpipe-ге ұқсас, бірақ Vulkan API қоңырауларын Gallium API-ге аударатын Vulkan үшін) бағдарламалық құралдың растеризаторын жүзеге асыратын lavapipe драйвері анизотропты текстураны сүзуге қолдауды жүзеге асырды және 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 бейне кодтауын және декодтауды жеделдетуге қолдау көрсетеді.
  • Windows платформасы үшін EGL қолдауы жүзеге асырылды.
  • Wayland үшін EGL_EXT_present_opaque кеңейтіміне қолдау қосылды. Wayland протоколына негізделген орталарда жұмыс істейтін ойындарда мөлдірлікті көрсету мәселелері шешілді.
  • RADV (AMD), ANV (Intel) және lavapipe Vulkan драйверлеріне кеңейтімдерге қолдау қосылды:
    • 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_синхрондау2 (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 (lavapipe).
    • VK_KHR_depth_stencil_resolve (lavapipe).
    • VK_KHR_shader_float16_int8 (жуу құбыры).
    • VK_EXT_color_write_enable(жуғыш құбыр).

Ақпарат көзі: opennet.ru

пікір қалдыру