Die vrystelling van die gratis implementering van die OpenGL en Vulkan API's - Mesa 24.1.0 is gepubliseer. Die eerste vrystelling van die Mesa 24.1.0-tak het 'n eksperimentele status - na die finale stabilisering van die kode, sal 'n stabiele weergawe 24.1.1 vrygestel word.
Mesa 24.0 bied ondersteuning vir die Vulkan 1.3 grafiese API in anv vir Intel GPU's, radv vir AMD GPU's, NVK vir NVIDIA GPU's, tu vir Qualcomm GPU's, in die lavapipe sagteware rasterizer (lvp), en in emulatormodus (vn). Vulkan 1.0-ondersteuning word geΓ―mplementeer in die v3dv (Broadcom VideoCore VI GPU van Raspberry Pi 4) en dzn (Vulkan-implementering bo-op Direct3D 12) drywers.
Mesa bied ook volledige OpenGL 4.6-ondersteuning vir iris (Intel Gen 8+ GPU's), radeonsi (AMD), Crocus (ouer Intel Gen4-Gen7 GPU's), sink, llvmpipe, virgl (Virgil3D virtuele GPU vir QEMU/KVM), freedreno-bestuurders ( Qualcomm Adreno), d3d12 ('n laag om OpenGL-werk bo-op DirectX 12 te organiseer) en asahi (AGX GPU wat in Apple M1- en M2-skyfies gebruik word). OpenGL 4.5-ondersteuning is beskikbaar vir AMD (r600) en NVIDIA (nvc0) GPU's. OpenGL 3.3-ondersteuning is teenwoordig in die softpipe (sagteware rasteriseerder) en nv50 (NVIDIA NV50) drywers.
Belangrikste innovasies:
- Die asahi-bestuurder, ontwikkel vir die AGX GPU wat in Apple ARM-skyfies gebruik word, bied ondersteuning vir OpenGL 4.6 en OpenGL ES 3.2.
- Aansienlik verbeterde werkverrigting van die NVK-bestuurder vir NVIDIA GPU's gebaseer op Turing (GeForce GTX 16xx, RTX 20xx en Quadro RTX-reeks), Ampere (GeForce RTX 30xx en RTX A2000/4000/5000/6000-reeks) en Ada (GeForce RTX 4, RTX 4000 reeks) mikroargitekture 4 SFF, RTX 5000xxx/6000/1.3 Ada). Die bestuurder word beskou as gereed vir alledaagse gebruik deur 'n wye verskeidenheid gebruikers. Vulkan 3-ondersteuning in NVK is gesertifiseer deur die Khronos-konsortium. Verbeterde werk bo-op die NVK DXVK-laag, wat 'n implementering van Direct9D 10, 11 en XNUMX verskaf.
- Het 'n verandering bygevoeg wat jou toelaat om die Zink-bestuurder (OpenGL-implementering bo-op Vulkan) te gebruik om ondersteuning te bied vir OpenGL 4.6 op stelsels met 'n nuwe reeks NVIDIA-videokaarte (begin met GeForce RTX 20xx), wat probleme in die voorraad Nouveau kan ervaar OpenGL-bestuurder (NVC0). Om Zink te aktiveer, in plaas van NVC0, stel die omgewingsveranderlike "NOUVEAU_USE_ZINK=1".
- Panfrost-bestuurder voeg ondersteuning by vir Mali G610, Mali G310 en Mali T600 GPU's.
- Alle Vulkan-bestuurders ondersteun Explicit Sync vir Wayland en X11. Eksplisiete sinchronisasie laat toepassings toe om die saamgestelde bestuurder in te lig wanneer 'n raam gereed is om op die skerm vertoon te word, wat help om latensie te verminder en artefakte uit te skakel wanneer grafika vertoon word.
- Die vermoΓ«ns van die d3d12-bestuurder is uitgebrei en bied 'n laag met 'n OpenGL-implementering bo-op DirectX 12.
- Die V3DV-bestuurder, ontwikkel vir die Broadcom VideoCore GPU (gebruik in Raspberry Pi-borde), het ondersteuning vir dinamiese weergawe bygevoeg.
- Die ANV Vulkan-bestuurder (Intel) is omgeskakel om asinchroniese videogeheue-kartering (Asynchronous VM_BIND) te gebruik. Vir GPU's gebaseer op die Intel Xe-argitektuur, wat in Intel Arc-grafiese kaarte en geΓ―ntegreerde grafika gebruik word, begin met Tiger Lake-verwerkers, is die vermoΓ« om toestandstortings terug te stel bygevoeg om GPU-vries te ontfout. Voorbereidings is gemaak vir GPU-ondersteuning vir Intel LunarLake (Xe 2)-skyfies.
- Bygevoeg ondersteuning vir nuwe Vulkan uitbreidings:
- VK_EXT_map_memory_placed vir RADV, ANV en NVK bestuurders
- VK_KHR_shader_subgroup_rotate vir RADV, ANV en NVK
- VK_KHR_load_store_op_none vir RADV, ANV, NVK en Raap
- VK_KHR_line_rasterization vir RADV, ANV, NVK en Raap
- VK_KHR_index_type_uint8 vir RADV, ANV, NVK en Raap
- VK_KHR_shader_expect_assume vir alle Vulkan-bestuurders
- VK_KHR_shader_maximal_reconvergence vir RADV, ANV en NVK
- VK_KHR_shader_quad_control vir RADV
- VK_KHR_shader_subgroup_uniform_control_flow vir NVK
- VK_EXT_device_address_binding_report vir RADV
- VK_EXT_external_memory_dma_buf vir lawapipe
- VK_EXT_queue_family_foreign vir lawapipe
- VK_EXT_shader_object vir RADV
- VK_EXT_nested_command_buffer vir NVK en RADV
- VK_EXT_queue_family_foreign vir NVK
- VK_EXT_image_drm_format_modifier vir NVK
Bron: opennet.ru
