OpenGL-i ja Vulkani tasuta juurutuse Mesa 24.3 väljalase

Pärast kolmekuulist arendustööd avaldati OpenGL-i ja Vulkani API tasuta juurutuse - Mesa 24.3.0 - väljalase. Mesa 24.3.0 haru esimene väljalase on eksperimentaalses olekus – pärast koodi lõplikku stabiliseerimist ilmub stabiilne versioon 24.3.1.

Mesa 24.3 toetab Vulkan 1.3 graafika API-t anv Intel GPU-de jaoks, radv AMD GPU-de jaoks, NVK NVIDIA GPU-de jaoks, tu Qualcommi GPU-de jaoks, lavapipe tarkvara rasteriseerija (lvp), emulaatori režiim (vn) ja v3dv (GPU Broadcom VideoCore Raspberry Pi jaoks 4+). Vulkan 1.0 tugi on rakendatud draiverites dzn (Direct3D 12 peal Vulkani juurutamine) ja panvk (ARM Mali GPU) draiverites.

Mesa pakub ka täielikku OpenGL 4.6 tuge iirise (Intel Gen 8+ GPU), radeonsi (AMD), Crocuse (vanemate Intel Gen4-Gen7 GPU), zinki, llvmpipe, virgl (Virgil3D virtuaalne GPU QEMU/KVM jaoks), freedreno draiveritele ( Qualcomm Adreno), d3d12 (kiht OpenGL-i töö korraldamiseks DirectX 12 peal) ja asahi (Apple M1 ja M2 kiipides kasutatav AGX GPU). OpenGL 4.5 tugi on saadaval AMD (r600) ja NVIDIA (nvc0) GPU-dele. OpenGL 3.3 tugi on olemas softpipe (tarkvara rasteriseerija) ja nv50 (NVIDIA NV50) draiverites.

Peamised uuendused:

  • V3dv draiver pakub Vulkan 1.3 graafika API täielikku tuge Raspberry Pi 4 ja Raspberry Pi 5 plaatidel kasutatavate VideoCore GPU jaoks.
  • Lisatud on uus Vulkani draiver gfxstream-vk, mida saab kasutada Vulkani API virtualiseerimiseks ja sellele graafika API-le ligipääsuks külalissüsteemidest, mis põhinevad Linuxil, Androidil ja Fuksial. Google kasutab draiverit Androidi emulaatoris, Fuchsia emulaatoris, Androidi pilveteenustes ja Android Automotive OS-is (AAOS).
  • Vulkani graafilise API akendesüsteemidega (WSI, Windowing System Integration) integreerimisliidesele on lisatud Vulkani laienduse VK_PRESENT_MODE_FIFO_KHR tugi FIFO protokolli Waylandi-põhistes keskkondades kasutamiseks, mis võimaldab väljundil kasutada valmimist oodates. vertikaalse skannimise (vblank), selle asemel et kasutada tagasihelistamiskõnesid igal uue kaadri kuvamiseks, mis lahendab suure GPU koormuse probleemi VSynci kasutamisel.
  • Xe2 arhitektuuril põhinevate Inteli GPU-dega süsteemides on sügavuspuhvri (z-buffer) tihendamine vaikimisi lubatud.
  • Iris OpenGL-draiver ja ANV Vulkani draiver on lisanud Inteli GPU-dele esialgse toe, mis põhineb Panther Lake'i protsessorites leiduval Xe3 arhitektuuril.
  • NVK (NVIDIA) draiverile on lisatud Vulkani laienduste tugi:
    • VK_EXT_descriptor_buffer
    • VK_EXT_postitus_sügavusekaetus
    • VK_EXT_legacy_vertex_attributes
    • VK_KHR_hooldus7
    • VK_KHR_dynamic_rendering_local_read
    • VK_NV_compute_shader_derivatives
    • VK_KHR_arvuta_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_host_image_copy (GPU Turing+ jaoks)
    • VK_KHR_shader_quad_control
    • VK_KHR_fragment_shading_rate
    • VK_EXT_depth_clamp_zero_one
    • VK_EXT_seadme_genereeritud_käsud
  • RADV (AMD) draiverile on lisatud Vulkani laienduste tugi:
    • VK_KHR_video_hooldus1
    • VK_KHR_pipeline_binary
    • VK_KHR_arvuta_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_seadme_genereeritud_käsud
    • VK_KHR_shader_relaxed_extended_juhend
  • ANV draiverile (Intel) on lisatud Vulkani laienduste tugi
    • VK_KHR_arvuta_shader_derivatives
    • VK_KHR_shader_relaxed_extended_juhend
    • VK_EXT_depth_clamp_control
  • Hasvk-draiver (Intel Ivy Bridge, Haswell ja Broadwell) on lisanud toe Vulkani laiendustele:
    • VK_EXT_depth_clamp_control
    • VK_KHR_shader_relaxed_extended_juhend
  • hk, tu, v3dv ja lvp draiveritele on lisatud Vulkani laienduse VK_KHR_shader_relaxed_extended_instruction tugi.
  • Lisatud tugi uutele OpenGL-i laiendustele:
    • GL_KHR_shader_subgroup radeonsi draiveris
    • GL_OVR_multiview tsinkdraiveris
    • GL_OVR_multiview2 tsinkdraiveris
    • GL_ARB_draw_indirect etnaviv/HALTI5+ draiverile
    • GL_EXT_draw_buffers2 etnaviv/HALTI5+ draiveris
    • GL_ARB_draw_buffers_blend etnaviv/HALTI5+ draiveris
    • GL_ARB_framebuffer_no_attachments etnavivi draiveris
    • GL_ARB_timer_query Panfrosti draiveris
    • GL_EXT_disjoint_timer_query Panfrosti draiveris

Allikas: opennet.ru

Lisa kommentaar