Mesa 25.0 väljaanne, avatud OpenGL ja Vulkani teostus

Ava pärast kolme kuu arendust on välja antud tasuta OpenGL ja Vulkan API realiseerimise versioon — Mesa 25.0.0. Esimene versioon harust Mesa 25.0.0 on eksperimentaalse staatusega — pärast koodi lõppstabiliseerimist toimub stabiilse versiooni 25.0.1 väljalaskmine.

Mesa 25.0-s on saadaval graafika API Vulkan 1.4 tugi Intel GPU-de ANV, AMD GPU-de RADV, NVIDIA GPU-de NVK, Apple GPU-de Asahi, Qualcomm GPU-de Turnip ja lavapipe (lvp) tarkvaralise rasteriseerija jaoks. Emulaatorirežiimis (vn) on tugi Vulkan 1.3 API-le, ARM Mali GPU PanVK draiveris on tugi Vulkan 1.1 ja Broadcom VideoCore GPU-de v3dv (Raspberry Pi 4+) ja dzn (Vulkan rakendamine Direct3D 12 peal) draiverites on tugi Vulkan 1.0.

Mesa tagab ka täieliku OpenGL 4.6 toe draiveritele iris (Intel Gen 8+ GPU), radeonsi (AMD), Crocus (vanemad Intel Gen4-Gen7 GPU-d), zink, llvmpipe, virgl (virtuaalne GPU Virgil3D QEMU/KVM jaoks), freedreno (Qualcomm Adreno), d3d12 (OpenGL töötamise korraldamiseks DirectX 12 peal) ja asahi (Apple M1 ja M2 kiipide AGX GPU). OpenGL 4.5 tuge on saadaval AMD (r600) ja NVIDIA (nvc0) GPU-de jaoks. OpenGL 3.3 tuge pakuvad draiverid softpipe (programmiline rasteriseerija) ja nv50 (NVIDIA NV50).

Põhilised uuendused:

  • Vulkan-draiverites ANV (Intel), RADV (AMD), NVK (NVIDIA), Asahi (Apple), PanVK (ARM Mali) ja Turnip (Qualcomm), samuti tarkvaralises rasteriseerijas lavapipe (lvp) on deklareeritud tugi API-le Vulkan 1.4 (varem toetas versioon Vulkan 1.3).
  • Vulkan-draiveris RADV on lisatud algne tugi AMD RDNA4 GPU-le (GFX12, AMD Radeon RX 9000 seeria).
  • RadeonSI draiver on üleminekul ACO shaderi kompilaatori tagavarale, mille on loonud Valve LLVM shaderi kompilaatori alternatiivina. ACO tagavara on suunatud koodigeneratsioonile, mis on nii optimeeritud mängu rakenduste shaderite jaoks kui ka väga kiire kompileerimiskiirus. ACO on kirjutatud C++ keeles, arendatud silmas pidades JIT-kompileerimise rakendatavust ja kasutab andmestruktuure, mis on kiire otsingute jaoks, vältides osutajapõhiseid struktuure.
  • Lisatud on amdgpu_virtio draiver, mis võimaldab külalistel süsteemidel kasutada host-ümbruses pakutavaid OpenGL- ja Vulkan-draivereid radeonsi, radeonsi_drv_video ja radv. Juurdepääs toimub VirtIO kaudu, mis tagab 3D-kiirenduse kõrge jõudluse. virtuaalmasinas. Väidetakse, et amdgpu_virtio jõudlus on parem kui virgl ja venus draiverite kasutamisel, mis olid varem välja töötatud Vulkanile ja OpenGL-ile külalissüsteemidest juurdepääsuks.
  • Panfrosti OpenGL draiveri võimalusi on laiendatud ARM Mali GPU jaoks.
    • Vaikimisi on lubatud "tehingute elimineerimise" mehhanism, mis eemaldab liigsed toimingud (nt eemaldatakse kordusoperatsioonid, kui fragmendid ei ole pärast viimast joonistamist muutunud).
    • Lisatud on järkjärgulise renderdamise tugi, mis võimaldab vähendada mälu tarbimist suure arvu objektide renderdamisel, töötlemisel fragmentide kaupa (tile).
    • AFBC 32×8 režiimi tugi on lisatud, et optimeerida väljundipuhvri (scan-out buffer) tööd mõnedes kuvarikontrollerites.
    • Maksimaalne toetatud tekstuuride laius ja kõrgus on suurenenud 8192 pikslilt 32768 pikslini.
    • Lisatud tugi tekstuuride režiimile MTK_FMT_MOD_TILE_16L32S, kus killustatud andmed kopeeritakse joonistamise eel ajutisse killustamata puhvri (kasutatakse MediaTek SoC-s olevate riistvarade videodekooderite jaoks).
  • ANV (Intel) draiverisse on lisatud tugi Vulkani laiendustele video dekodeerimiseks AV1 formaadis.
  • Vulkan draiveris PanVK ARM Mali V10 arhitektuuril põhinevale GPU-le, nagu Mali-G610 ja Mali-G310, on rakendatud API Vulkan 1.1 tuge (varem toetati Vulkan 1.0 versiooni). PanVK on vaikimisi saadaval olevate draiverite nimekirjas Mesas (varasemalt ei kuvatud PanVK draiverite nimekirjas ja selle kasutamiseks tuli seada keskkonnamuutuja). ARM-süsteemides on PanVK vaikimisi lubatud.
  • PanVK draiveris on rakendatud Vulkani laiendused:
    • VK_KHR_8bit_storage
    • VK_KHR_dedicated_allocation
    • VK_KHR_global_priority 
    • VK_KHR_index_type_uint8
    • VK_KHR_map_memory2 
    • VK_KHR_multiview
    • VK_KHR_shader_draw_parameters
    • VK_KHR_shader_float16_int8
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_KHR_shader_subgroup_rotate
    • VK_KHR_vertex_attribute_divisor
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_global_priority_query
    • VK_EXT_global_priority 
    • VK_EXT_host_query_reset
    • VK_EXT_image_robustness 
    • VK_EXT_pipeline_robustness
    • VK_EXT_provoking_vertex 
    • VK_EXT_queue_family_foreign
    • VK_EXT_sampler_filter_minmax
    • VK_EXT_scalar_block_layout
    • VK_EXT_subgroup_size_control
    • VK_EXT_tooling_info
    • VK_EXT_subgroup_size_control
  • RADV (AMD) draiverisse on lisatud tugi Vulkani laiendustele VK_KHR_maintenance8 ja VK_KHR_depth_clamp_zero_one.
  • Rusticl draiverisse on lisatud tugi OpenCL laiendusele cl_khr_depth_images.

    Allikas: opennet.ru

  • Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster