Vrystelling van Mesa 21.2, 'n gratis implementering van OpenGL en Vulkan

Na drie maande se ontwikkeling is die vrystelling van 'n gratis implementering van die OpenGL en Vulkan API - Mesa 21.2.0 - gepubliseer. Die eerste vrystelling van die Mesa 21.2.0-tak het 'n eksperimentele status - na die finale stabilisering van die kode, sal 'n stabiele weergawe 21.2.1 vrygestel word.

Mesa 21.2 sluit volle ondersteuning in vir OpenGL 4.6 vir die 965, iris (Intel), radeonsi (AMD), sink en llvmpipe drywers. OpenGL 4.5-ondersteuning is beskikbaar vir AMD (r600) en NVIDIA (nvc0) GPU's, en OpenGL 4.3-ondersteuning vir virgl (Virgil3D virtuele GPU vir QEMU/KVM). Vulkan 1.2-ondersteuning is beskikbaar vir Intel- en AMD-kaarte, sowel as in emulatormodus (vn), Vulkan 1.1-ondersteuning is beskikbaar vir Qualcomm GPU's en die lavapipe-sagteware-rasterizer, en Vulkan 1.0 is beskikbaar vir Broadcom VideoCore VI GPU's (Raspberry Pi 4) .

Belangrikste innovasies:

  • Die asahi OpenGL-bestuurder is ingesluit met aanvanklike ondersteuning vir die GPU wat in Apple M1-skyfies ingesluit is. Die bestuurder gebruik die Gallium-koppelvlak en ondersteun die meeste van die kenmerke van OpenGL 2.1 en OpenGL ES 2.0, maar is nog nie geskik om die meeste speletjies te laat loop nie. Die bestuurderkode is gebaseer op die Gallium-verwysingsnoop-bestuurder, met 'n paar kode wat van die Panfrost-bestuurder oorgedra word vir die ARM Mali GPU.
  • Die Crocus OpenGL-bestuurder is ingesluit by ondersteuning vir ouer Intel GPU's (gebaseer op Gen4-Gen7 mikroargitekture), wat nie deur die Iris-bestuurder ondersteun word nie. Anders as die i965-bestuurder, is die nuwe drywer gebaseer op die Gallium3D-argitektuur, wat geheuebestuurstake aan die DRI-bestuurder in die Linux-kern uitkontrakteer en 'n klaargemaakte toestandspoorder voorsien met ondersteuning vir 'n hergebruikkas van uitsetvoorwerpe.
  • Die PanVk-bestuurder is ingesluit, wat ondersteuning bied vir die Vulkan-grafiese API vir ARM Mali Midgard en Bifrost GPU's. PanVk word ontwikkel deur Collabora-werknemers en is geposisioneer as 'n voortsetting van die ontwikkeling van die Panfrost-projek, wat ondersteuning bied vir OpenGL.
  • Die Panfrost-bestuurder vir Midgard GPU's (Mali T760 en nuwer) en Bifrost GPU's (Mali G31, G52, G76) ondersteun OpenGL ES 3.1. Toekomstige planne sluit in werk om werkverrigting op Bifrost-skyfies te verhoog en die implementering van GPU-ondersteuning gebaseer op die Valhall-argitektuur (Mali G77 en nuwer).
  • 32-bis x86-bouwerk gebruik sse87-instruksies in plaas van x2-instruksies vir wiskundige berekeninge.
  • Die Nouveau nv50-bestuurder vir die NVIDIA GT21x GPU (GeForce GT 2×0) ondersteun OpenGL ES 3.1.
  • Die Vulkan-bestuurder TURNIP en die OpenGL-bestuurder Freedreno, ontwikkel vir die Qualcomm Adreno GPU, het aanvanklike ondersteuning vir die Adreno a6xx gen4 GPU (a660, a635).
  • Die RADV (AMD) Vulkan-bestuurder het ondersteuning bygevoeg vir primitiewe uitdunning met behulp van NGG (Next-Gen Geometry) skadu-enjins. Die vermoë om die RADV-bestuurder op die Windows-platform te bou deur die MSVC-samesteller te gebruik, is geïmplementeer.
  • Voorbereidende werk is uitgevoer in die ANV Vulkan-bestuurder (Intel) en die Iris OpenGL-bestuurder om ondersteuning te bied vir die komende Intel Xe-HPG (DG2) grafiese kaarte. Dit sluit aanvanklike kenmerke in wat verband hou met straalopsporing en ondersteuning vir straalopsporingskadu's.
  • Die lavapipe-bestuurder, wat 'n sagteware rasteriseerder vir die Vulkan API implementeer (analoog aan llvmpipe, maar vir Vulkan, vertaal Vulkan API-oproepe na die Gallium API), ondersteun die "wideLines"-modus (verskaf ondersteuning vir lyne met 'n breedte van meer as 1.0).
  • Ondersteuning vir dinamiese ontdekking en laai van alternatiewe GBM (Generic Buffer Manager) backends is geïmplementeer. Die verandering is daarop gemik om Wayland-ondersteuning op stelsels met NVIDIA-bestuurders te verbeter.
  • Die Zink-drywer ('n implementering van die OpenGL API bo-op Vulkan, wat jou toelaat om hardeware versnelde OpenGL te kry as die stelsel drywers het wat beperk is tot die ondersteuning van slegs die Vulkan API) ondersteun OpenGL uitbreidings GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_filter_ARB_maxure en _filter_ARB_maxure. Bygevoeg DRM-formaat wysigers (Direct Rendering Manager, VK_EXT_image_drm_format_modifier uitbreiding geaktiveer).
  • Ondersteuning vir uitbreidings is bygevoeg by die Vulkan-bestuurders RADV (AMD), ANV (Intel) en 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(lavapyp);
    • VK_EXT_line_rasterization(lavapyp);
    • VK_EXT_multi_draw(ANV, lawapipe, RADV);
    • VK_KHR_afsonderlike_diepte_stensil_uitlegte(lavapyp);
    • VK_EXT_apart_stensil_gebruik(lavapyp);
    • VK_EXT_extended_dynamic_state2 (lavapyp).

Bron: opennet.ru

Voeg 'n opmerking