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

Үч айлык иштеп чыгуудан кийин OpenGL жана Vulkan API - Mesa 21.2.0 - акысыз ишке ашыруунун релизи жарык көрдү. Mesa 21.2.0 бутагынын биринчи чыгарылышы эксперименталдык статуска ээ - код акыркы турукташтырылгандан кийин 21.2.1 туруктуу версиясы чыгат.

Mesa 21.2 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), Vulkan 1.1 колдоосу Qualcomm GPU жана lavapipe программалык растеризатору үчүн, ал эми Vulkan 1.0 Broadcom VideoCore VI GPU (Raspberry Pi 4) үчүн жеткиликтүү. .

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

  • Asahi OpenGL драйвери Apple M1 чиптерине киргизилген GPU үчүн баштапкы колдоо менен камтылган. Айдоочу Gallium интерфейсин колдонот жана OpenGL 2.1 жана OpenGL ES 2.0 функцияларынын көбүн колдойт, бирок көпчүлүк оюндарды иштетүү үчүн азырынча ылайыктуу эмес. Айдоочу коду ARM Mali GPU үчүн иштелип жаткан Panfrost драйверинен көчүрүлгөн кээ бир код менен Gallium шилтеме noop драйверине негизделген.
  • Crocus OpenGL драйвери Iris драйвери тарабынан колдоого алынбаган эски Intel GPU'ларын (Gen4-Gen7 микроархитектураларынын негизинде) колдоосу менен камтылган. i965 драйверинен айырмаланып, жаңы драйвер Gallium3D архитектурасына негизделген, ал эстутумду башкаруу тапшырмаларын Linux ядросундагы DRI драйверине тапшырат жана чыгаруу объектилеринин кайра колдонуу кэшин колдоосу менен даяр мамлекеттик трекерди камсыз кылат.
  • PanVk драйвери камтылган, ал ARM Mali Midgard жана Bifrost GPU үчүн Vulkan графикалык API колдоосун камсыз кылат. PanVk Collabora кызматкерлери тарабынан иштелип жатат жана OpenGLге колдоо көрсөткөн Panfrost долбоорунун уландысы катары жайгаштырылган.
  • Midgard GPU (Mali T760 жана андан кийинки) жана Bifrost GPU (Mali G31, G52, G76) үчүн Panfrost драйвери OpenGL ES 3.1 колдойт. Келечектеги пландар Bifrost чиптериндеги өндүрүмдүүлүктү жогорулатуу боюнча иштерди жана Valhall архитектурасына негизделген GPU колдоосун ишке ашырууну камтыйт (Mali G77 жана жаңы).
  • 32 биттик x86 түзүмдөрү математикалык эсептөөлөр үчүн x87 нускамаларынын ордуна sse2 нускамаларын колдонушат.
  • NVIDIA GT50x GPU (GeForce GT 21×2) үчүн Nouveau nv0 драйвери OpenGL ES 3.1 колдойт.
  • Qualcomm Adreno GPU үчүн иштелип чыккан Vulkan драйвери TURNIP жана OpenGL драйвери Freedreno, Adreno a6xx gen4 GPU (a660, a635) үчүн баштапкы колдоого ээ.
  • RADV (AMD) Vulkan драйвери NGG (Next-Gen Geometry) шэйдер кыймылдаткычтарын колдонуу менен примитивдүү кыруу үчүн колдоо кошту. MSVC компиляторунун жардамы менен Windows платформасында RADV драйверин куруу мүмкүнчүлүгү ишке ашырылган.
  • ANV Vulkan драйверинде (Intel) жана Iris OpenGL драйверинде алдыдагы Intel Xe-HPG (DG2) графикалык карталарын колдоо үчүн даярдык иштери жүргүзүлдү. Бул нурга байкоо жүргүзүүгө жана нурларды издөө шейдерлерине колдоо көрсөтүүгө байланышкан баштапкы функцияларды камтыйт.
  • Vulkan API үчүн программалык растеризаторду ишке ашырган lavapipe драйвери (llvmpipeге окшош, бирок Vulkan үчүн, Vulkan API чалууларын Gallium API'ге которгон), "wideLines" режимин колдойт (туурасы 1.0ден ашкан сызыктарды колдоону камсыз кылат).
  • Альтернативалык GBM (Жалпы Буфер Менеджери) серверлерин динамикалык табуу жана жүктөө үчүн колдоо ишке ашырылды. Өзгөртүү NVIDIA драйверлери бар системаларда Wayland колдоосун жакшыртууга багытталган.
  • Zink драйвери (Vulkan'дын үстүндөгү OpenGL API'нин ишке ашырылышы, эгерде тутумда Vulkan API гана колдоого чектелген драйверлер бар болсо, OpenGL жабдыктарды тездетүүгө мүмкүнчүлүк берет) OpenGL кеңейтүүлөрүн GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_BLARB_xter, GL_ARB_shader_BARB_group жана G_Lmaxfill. _shader_clock. Кошулган DRM формат өзгөрткүчтөрү (Direct Rendering Manager, VK_EXT_image_drm_format_modifier кеңейтүү иштетилген).
  • Кеңейтүүлөр үчүн колдоо Vulkan драйверлери RADV (AMD), ANV (Intel) жана lavapipe кошулду:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_физикалык_түзмөк_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(lavappipe);
    • 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 (lavapipe).

Source: opennet.ru

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