Mesa 21.3-ի թողարկում, OpenGL-ի և Vulkan-ի անվճար իրականացում

Չորս ամիս մշակումից հետո հրապարակվեց OpenGL և Vulkan API-ների անվճար ներդրման թողարկումը՝ Mesa 21.3.0: Mesa 21.3.0 մասնաճյուղի առաջին թողարկումն ունի փորձնական կարգավիճակ՝ կոդի վերջնական կայունացումից հետո կթողարկվի կայուն 21.3.1 տարբերակը:

Mesa 21.3-ը ներառում է OpenGL 4.6-ի ամբողջական աջակցություն 965, iris (Intel), radeonsi (AMD), zink և llvmpipe վարորդների համար: OpenGL 4.5-ի աջակցությունը հասանելի է AMD (r600) և NVIDIA (nvc0) GPU-ների համար, իսկ OpenGL 4.3-ի աջակցությունը virgl-ի համար (Virgil3D վիրտուալ GPU QEMU/KVM-ի համար): Vulkan 1.2-ի աջակցությունը հասանելի է Intel և AMD քարտերի համար, ինչպես նաև էմուլատորի ռեժիմում (vn) և լավափիփ ծրագրաշարի ռաստերիզատորում, Vulkan 1.1-ի աջակցությունը հասանելի է Qualcomm GPU-ի և lavapipe ծրագրաշարի ռաստերիզատորի համար, իսկ Vulkan 1.0-ը հասանելի է Broadcom-ի համար: VideoCore VI GPU (Raspberry Pi 4):

Հիմնական նորամուծությունները.

  • Zink դրայվերը (OpenGL API-ի ներդրում Vulkan-ի վերևում, որը թույլ է տալիս ստանալ ապարատային արագացված OpenGL, եթե համակարգն ունի միայն Vulkan API-ի աջակցությամբ սահմանափակված դրայվերներ) աջակցում է OpenGL ES 3.2:
  • Panfrost դրայվերը, որը նախատեսված է Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) և Bifrost (Mali G3x, G5x, G7x) միկրոճարտարապետությունների վրա հիմնված GPU-ների հետ աշխատելու համար, պաշտոնապես հավաստագրված է OpenGL ES 3.1-ի հետ համատեղելիության համար:
  • V3dv դրայվերը, որը մշակվել է VideoCore VI գրաֆիկական արագացուցիչի համար, որն օգտագործվում է սկսած Raspberry Pi 4 մոդելից, ունի վավերացված աջակցություն Vulkan 1.1 գրաֆիկական API-ի համար, ինչպես նաև ավելացրել է աջակցություն երկրաչափական ստվերների համար: Շեյդեր կոմպիլյատորի կողմից ստեղծված կոդի կատարումը զգալիորեն բարելավվել է, ինչը դրական է ազդում ծրագրերի արագության վրա, որոնք ակտիվորեն օգտագործում են շեյդերներ, օրինակ՝ Unreal Engine 4-ի վրա հիմնված խաղերը:
  • RADV Vulkan դրայվերը (AMD) ավելացրել է փորձնական աջակցություն ճառագայթների հետագծման և ճառագայթների հետագծման ստվերների համար: GFX10.3 քարտերի համար լռելյայն միացված է NGG (Next-Gen Geometry) ստվերային շարժիչների միջոցով պարզունակ ոչնչացման աջակցությունը:
  • Iris OpenGL դրայվերը (նոր դրայվեր Intel GPU-ների համար) ավելացրել է բազմաշերտ ստվերային կոմպիլյացիայի հնարավորություն:
  • Լավափիփ դրայվերը, որն իրականացնում է ծրագրաշարի ռաստերիզատոր Vulkan API-ի համար (նման է llvmpipe-ին, բայց Vulkan-ի համար՝ թարգմանելով Vulkan API-ի զանգերը Gallium API-ին), ներդրել է անիզոտրոպ հյուսվածքների զտման աջակցություն և ավելացրել է աջակցություն Vulkan 1.2-ին:
  • OpenGL դրայվեր llvmpipe-ը, որը նախատեսված է ծրագրային ապահովման մատուցման համար, 2-3 անգամ ավելացրել է կատարումը 2D գործողությունների հետ կապված գործողություններ կատարելիս: Ավելացվել է FP16 գործողությունների աջակցություն, անիզոտրոպ հյուսվածքային զտիչ (GL_ARB_texture_filter_anisotropic) և ամրացված հիշողության տարածքներ (GL_AMD_pinned_memory): Աջակցություն OpenGL 4.5 համատեղելիության պրոֆիլին տրամադրվում է:
  • VA-API (Video Acceleration API) վիճակային թրեյքերն ապահովում է AV1 վիդեո կոդավորման և ապակոդավորման արագացման աջակցություն AMD GPU դրայվերներ օգտագործելիս:
  • EGL-ի աջակցությունն իրականացվել է Windows հարթակի համար:
  • Ավելացված է աջակցություն Wayland-ի EGL_EXT_present_opaque ընդլայնման համար: Վեյլենդի արձանագրության վրա հիմնված միջավայրերում աշխատող խաղերում թափանցիկության ցուցադրման հետ կապված խնդիրները լուծվել են:
  • Ավելացվել է 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_synchronization2 (Intel):
    • VK_KHR_maintenance4 (RADV):
    • VK_KHR_format_feature_flags2 (RADV):
    • VK_KHR_shader_subgroup_extended_types (lavapipe):
    • VK_KHR_spirv_1_4 (լավապիպ):
    • VK_KHR_timeline_semaphore (լավապիպ):
    • VK_EXT_external_memory_host (լավապիպ):
    • VK_KHR_depth_stencil_resolve (լավապիպ):
    • VK_KHR_shader_float16_int8 (լավապիպ):
    • VK_EXT_color_write_enable (լավապիպ):

Source: opennet.ru

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