Liberigo de Mesa 22.3, senpaga efektivigo de OpenGL kaj Vulkan

La liberigo de la senpaga efektivigo de la OpenGL kaj Vulkan APIs - Mesa 22.3.0 - estis publikigita. La unua eldono de la branĉo Mesa 22.3.0 havas eksperimentan statuson - post la fina stabiligo de la kodo, stabila versio 22.3.1 estos publikigita.

Mesa 22.3 provizas subtenon por la grafika API Vulkan 1.3 en anv por Intel GPU-oj, radv por AMD-GPU-oj, tu por Qualcomm-GPU-oj kaj en emulila reĝimo (vn). Vulkan 1.1-subteno estas efektivigita en la lavapipe (lvp) programara rasterigilo, kaj Vulkan 1.0 en la v3dv-ŝoforo (Broadcom VideoCore VI GPU de Raspberry Pi 4).

Mesa ankaŭ disponigas plenan OpenGL 4.6 subtenon por la 965, iriso (Intel), radeonsi (AMD), zink, kaj llvmpipe-ŝoforoj. OpenGL 4.5-subteno disponeblas por AMD (r600), NVIDIA (nvc0) kaj Qualcomm Adreno (freedreno) GPUoj, OpenGL 4.3 por virgl (virgil3D virtuala GPU por QEMU/KVM), kaj OpenGL 4.2 por la d3d12-ŝoforo (tavolo por organizi OpenGL). labori aldone al DirectX 12).

Ĉefaj novigoj:

  • La freedreno-ŝoforo por Qualcomm Adreno-GPU-oj provizas subtenon por la grafika API OpenGL 4.5, kaj la emulila ŝoforo (vn) subtenas la Vulkan 1.3 API.
  • La Panfrost-ŝoforo efektivigas la kapablon kaŝmemorigi ombrantojn sur disko kaj aldonas subtenon por la Mali T620 GPU. La ŝoforo estas kongrua kun la specifo OpenGL 3.1 kaj OpenGL ES 3.1.
  • La RADV (AMD) Vulkan-ŝoforo aldonis subtenon por GFX11/RDNA3 GPU-oj (Radeon RX 7000-serio). La kodo por radio-spurado estis optimumigita. Aldonita subteno por R8G8B8, B8G8R8 kaj R16G16B16 pikselaj formatoj, same kiel 64-bitajn verticajn bufroformatojn. Aldonita subteno por la flago extendedDynamicState2PatchControlPoints, kiu determinas subtenon por la etendaĵo VK_EXT_extended_dynamic_state2. Radeon Raytracing Analizilo integrita.
  • La pako inkluzivas la Rusticle-ŝoforon kun la efektivigo de la specifo OpenCL 3.0, kiu difinas la API kaj etendaĵojn de la C-lingvo por organizi transplatforman paralelan komputadon. La ŝoforo estas skribita en Rust, evoluigita uzante la Gallium-interfacon disponigitan en Mesa kaj funkcias kiel analogo de la Clover OpenCL fasado ĉeestanta en Mesa. Trifolio estis forlasita dum longa tempo kaj rusticl estas poziciigita kiel ĝia estonta anstataŭaĵo. Subteno por Rust kaj rusticl estas malŝaltita defaŭlte kaj postulas konstruon kun eksplicitaj opcioj "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Dum konstruado, la rustc-kompililo, bindgen-liga generatoro, LLVM, SPIRV-Tools kaj SPIRV-LLVM-Translator estas postulataj kiel kromaj dependencajoj.
  • La RadeonSI-ŝoforo inkluzivas subtenon por plurfadena bildigo per OpenGL defaŭlte.
  • Enkondukis Mesa-DB, novan specon de ombra kaŝmemoro, kiu stokas datumojn en ununura dosiero.
  • Aldonita subteno por OpenGL-etendaĵoj:
    • GL_ARB_shader_clock por llvmpipe.
    • GL_KHR_blend_equation_advanced_koherent por zink.
    • GL_NV_shader_atomic_float por llvmpipe.
  • Aldonita subteno por Vulkan-etendaĵoj:
    • VK_KHR_shader_clock por lavapipo.
    • VK_EXT_attachment_feedback_loop_layout por RADV, lavapipe.
    • VK_KHR_global_priority por RADV.
    • VK_EXT_load_store_op_none por RADV.
    • VK_EXT_ŝanĝebla_descriptor_type por RADV.
    • VK_EXT_shader_atomic_float por lvp.
    • VK_EXT_shader_atomic_float2 por lvp.
    • VK_EXT_image_robusteco por v3dv.
    • VK_EXT_extended_dynamic_state3 por lavapipo, RADV kaj ANV.
    • VK_EXT_extended_dynamic_state2 por RADV.
    • VK_EXT_pipeline_robustness por v3dv.
    • VK_EXT_mesh_shader por ANV.

fonto: opennet.ru

Aldoni komenton