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

Երեք ամիս մշակումից հետո հրապարակվել է OpenGL և Vulkan API-ների անվճար ներդրման թողարկումը՝ Mesa 21.2.0: Mesa 21.2.0 մասնաճյուղի առաջին թողարկումն ունի փորձնական կարգավիճակ. կոդի վերջնական կայունացումից հետո կթողարկվի կայուն տարբերակը 21.2.1:

Mesa 21.2-ն ունի 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 քարտերի համար, ինչպես նաև emulator (vn) ռեժիմում, Vulkan 1.1-ի աջակցությունը հասանելի է Qualcomm GPU-ների և lavapipe ծրագրային rastizer-ի համար, իսկ Vulkan 1.0-ը՝ Broadcom VideoCore VI (Raspberry Pi 4) GPU-ների համար:

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

  • Asahi OpenGL դրայվերը ներառված է Apple M1 չիպերում մատակարարված GPU-ի նախնական աջակցությամբ: Վարորդը օգտագործում է Gallium ինտերֆեյսը և աջակցում է OpenGL 2.1-ի և OpenGL ES 2.0-ի գործառույթների մեծ մասը, սակայն դեռ հարմար չէ խաղերի մեծ մասի գործարկման համար: Վարորդի կոդը հիմնված է noop հղումային Gallium դրայվերի վրա, որոշ կոդով տեղափոխված է Panfrost դրայվերից, որը մշակվել է ARM Mali GPU-ի համար:
  • Crocus OpenGL վարորդը ներառված է ավելի հին Intel GPU-ների աջակցությամբ (հիմնված Gen4-Gen7 միկրոճարտարապետությունների վրա), որոնք չեն աջակցվում Iris վարորդի կողմից: Ի տարբերություն i965 դրայվերի՝ նոր դրայվերը հիմնված է Gallium3D ճարտարապետության վրա, որը հիշողության կառավարման առաջադրանքները փոխանցում է Linux միջուկի DRI դրայվերին և ապահովում է պատրաստի վիճակի հետքեր՝ ելքային օբյեկտի վերաօգտագործման քեշի աջակցությամբ:
  • PanVk դրայվերը ներառված է Vulkan գրաֆիկական API-ին աջակցություն տրամադրելու համար ARM Mali Midgard և Bifrost GPU-ների համար: PanVk-ը մշակվել է Collabora-ի աշխատակիցների կողմից և դիրքավորվում է որպես Panfrost նախագծի զարգացման շարունակություն, որն աջակցություն է տրամադրում OpenGL-ին:
  • Panfrost վարորդը GPU Midgard-ի (Mali T760 և ավելի նոր) և GPU Bifrost-ի (Mali G31, G52, G76) համար աջակցում է OpenGL ES 3.1: Հետագա ծրագրերը ներառում են աշխատանք՝ բարձրացնելու աշխատանքը Bifrost չիպերի վրա և աջակցություն GPU-ներին, որոնք հիմնված են Valhall ճարտարապետության վրա (Mali G77 և ավելի նոր):
  • x32 ճարտարապետության համար 86-բիթանոց կառուցվածքները մաթեմատիկական հաշվարկների համար x87 հրահանգների փոխարեն օգտագործում են sse2 հրահանգներ:
  • Nouveau nv50 վարորդը NVIDIA GT21x GPU-ի համար (GeForce GT 2x0) աջակցում է OpenGL ES 3.1:
  • TURNIP Vulkan դրայվերը և Qualcomm Adreno GPU-ների համար մշակված Freedreno OpenGL դրայվերը նախնական աջակցություն ունեն Adreno a6xx gen4 (a660, a635) GPU-ների համար:
  • RADV (AMD) Vulkan դրայվերին ավելացվել է NGG (Next-Gen Geometry) shader շարժիչների միջոցով պարզունակ ոչնչացման աջակցությունը: Իրականացրել է RADV դրայվերը Windows պլատֆորմի վրա MSVC կոմպիլյատորի միջոցով ստեղծելու հնարավորությունը:
  • ANV Vulkan դրայվերը (Intel) և Iris OpenGL դրայվերը նախապատրաստվել են առաջիկա Intel Xe-HPG (DG2) գրաֆիկական քարտերին աջակցելու համար: Սա ներառում է ճառագայթների հետագծման հետ կապված նախնական առանձնահատկությունները և ճառագայթների հետագծման ստվերային աջակցությունը:
  • Lavapipe դրայվերը Vulkan API-ի համար ծրագրաշարի ռաստերիզատորի ներդրմամբ (նման է llvmpipe-ին, բայց Vulkan-ի համար, որը թարգմանում է Vulkan API-ի զանգերը Gallium API-ին) աջակցում է «wideLines» ռեժիմին (ապահովում է 1.0-ից մեծ լայնություն ունեցող գծերի աջակցություն: )
  • Իրականացված աջակցություն այլընտրանքային GBM (Generic Buffer Manager) հետին պլանների դինամիկ հայտնաբերման և բեռնման համար: Փոփոխության նպատակն է բարելավել Wayland-ի աջակցությունը NVIDIA-ի վարորդներով համակարգերում:
  • Zink դրայվերը (OpenGL API-ի ներդրում Vulkan-ի վերևում, որը թույլ է տալիս ստանալ ապարատային արագացված OpenGL, երբ համակարգն ունի միայն Vulkan API-ի աջակցությամբ սահմանափակված դրայվերներ) աջակցում է OpenGL ընդլայնումները GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_te_texL_ARB և GL_ARB_shader_texL_Min _shader_clock: Ավելացվել են DRM ձևաչափի փոփոխիչներ (Ուղիղ մատուցման կառավարիչ, ներառված է VK_EXT_image_drm_format_modifier ընդլայնումը):
  • Ավելացվել է RADV (AMD), ANV (Intel) և lavapipe Vulkan վարորդների ընդլայնումների աջակցություն.
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state (լավապիպ);
    • VK_EXT_line_rasterization (lavapipe);
    • VK_EXT_multi_draw (ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts (lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (լավապիպ):

Source: opennet.ru

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