Kutolewa kwa Mesa 21.2, utekelezaji wa bure wa OpenGL na Vulkan

Baada ya miezi mitatu ya maendeleo, kutolewa kwa utekelezaji wa bure wa OpenGL na Vulkan API - Mesa 21.2.0 - ilichapishwa. Toleo la kwanza la tawi la Mesa 21.2.0 lina hali ya majaribio - baada ya uimarishaji wa mwisho wa msimbo, toleo la 21.2.1 la utulivu litatolewa.

Mesa 21.2 inajumuisha usaidizi kamili wa OpenGL 4.6 kwa viendeshi vya 965, iris (Intel), radeonsi (AMD), zinki na llvmpipe. Usaidizi wa OpenGL 4.5 unapatikana kwa GPU za AMD (r600) na NVIDIA (nvc0), na usaidizi wa OpenGL 4.3 kwa virgl (Virgil3D virtual GPU kwa QEMU/KVM). Usaidizi wa Vulkan 1.2 unapatikana kwa kadi za Intel na AMD, na vile vile katika hali ya emulator (vn), usaidizi wa Vulkan 1.1 unapatikana kwa Qualcomm GPUs na programu ya rasterizer ya lavapipe, na Vulkan 1.0 inapatikana kwa Broadcom VideoCore VI GPUs (Raspberry Pi 4) .

Ubunifu kuu:

  • Dereva ya asahi OpenGL imejumuishwa na usaidizi wa awali wa GPU iliyojumuishwa kwenye chipsi za Apple M1. Dereva hutumia kiolesura cha Gallium na huauni vipengele vingi vya OpenGL 2.1 na OpenGL ES 2.0, lakini bado hakifai kwa kuendesha michezo mingi. Msimbo wa kiendeshi unatokana na kiendeshi cha marejeleo ya Gallium, na msimbo fulani uliowekwa kutoka kwa kiendesha Panfrost unatengenezwa kwa ARM Mali GPU.
  • Dereva ya Crocus OpenGL imejumuishwa na usaidizi wa Intel GPU za zamani (kulingana na usanifu mdogo wa Gen4-Gen7), ambao hautumiki na kiendeshi cha Iris. Tofauti na dereva wa i965, kiendeshi kipya kinategemea usanifu wa Gallium3D, ambao hutoa kazi za usimamizi wa kumbukumbu kwa dereva wa DRI kwenye kernel ya Linux na hutoa tracker ya hali iliyo tayari na usaidizi wa kache ya kutumia tena ya vitu vya pato.
  • Dereva wa PanVk amejumuishwa, kutoa msaada kwa API ya michoro ya Vulkan kwa ARM Mali Midgard na Bifrost GPU. PanVk inatengenezwa na wafanyikazi wa Collabora na imewekwa kama mwendelezo wa mradi wa Panfrost, ambao hutoa msaada kwa OpenGL.
  • Dereva wa Panfrost wa Midgard GPUs (Mali T760 na mpya zaidi) na Bifrost GPUs (Mali G31, G52, G76) hutumia OpenGL ES 3.1. Mipango ya siku zijazo inajumuisha kazi ya kuongeza utendakazi kwenye chip za Bifrost na utekelezaji wa usaidizi wa GPU kulingana na usanifu wa Valhall (Mali G77 na mpya zaidi).
  • 32-bit x86 huunda tumia maagizo ya sse87 badala ya maagizo ya x2 ya hesabu za hesabu.
  • Kiendeshaji cha Nouveau nv50 cha NVIDIA GT21x GPU (GeForce GT 2Γ—0) kinaauni OpenGL ES 3.1.
  • Dereva wa Vulkan TURNIP na kiendeshi cha OpenGL Freedreno, zilizotengenezwa kwa ajili ya Qualcomm Adreno GPU, zina usaidizi wa awali kwa Adreno a6xx gen4 GPU (a660, a635).
  • Dereva wa Vulkan wa RADV (AMD) ameongeza usaidizi kwa ukataji wa awali kwa kutumia injini za shader za NGG (Next-Gen Geometry). Uwezo wa kujenga kiendeshi cha RADV kwenye jukwaa la Windows kwa kutumia mkusanyaji wa MSVC umetekelezwa.
  • Kazi ya maandalizi imefanywa katika kiendeshi cha ANV Vulkan (Intel) na kiendeshi cha Iris OpenGL ili kutoa usaidizi kwa kadi za michoro za Intel Xe-HPG (DG2) zijazo. Hii inajumuisha vipengele vya awali vinavyohusiana na ufuatiliaji wa miale na usaidizi wa vivuli vya kufuatilia miale.
  • Kiendeshaji cha lavapipe, ambacho hutekeleza kiboreshaji programu kwa API ya Vulkan (inayofanana na llvmpipe, lakini kwa Vulkan, kutafsiri simu za Vulkan API kwa API ya Gallium), inasaidia hali ya "WideLines" (hutoa usaidizi kwa mistari yenye upana unaozidi 1.0).
  • Usaidizi wa ugunduzi unaobadilika na upakiaji wa viambajengo mbadala vya GBM (Generic Buffer Manager) umetekelezwa. Mabadiliko hayo yanalenga kuboresha usaidizi wa Wayland kwenye mifumo yenye viendeshi vya NVIDIA.
  • Dereva wa Zink (utekelezaji wa API ya OpenGL juu ya Vulkan, ambayo inakuruhusu kupata kasi ya maunzi ya OpenGL ikiwa mfumo una viendeshaji vidhibiti vya kutumia API ya Vulkan pekee) inaauni viendelezi vya OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote_BL_shahaka_ya_maandishi Virekebishaji vya umbizo la DRM vilivyoongezwa (Kidhibiti cha Utoaji cha Moja kwa Moja, kiendelezi cha VK_EXT_image_drm_format_modifier kimewashwa).
  • Usaidizi wa viendelezi umeongezwa kwa viendeshaji vya Vulkan RADV (AMD), ANV (Intel) na lavapipe:
    • 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(lavapipe);
    • 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).

Chanzo: opennet.ru

Kuongeza maoni