Pagpagawas sa Mesa 22.3, usa ka libre nga pagpatuman sa OpenGL ug Vulkan

Ang pagpagawas sa libre nga pagpatuman sa OpenGL ug Vulkan APIs - Mesa 22.3.0 gipatik na. Ang una nga pagpagawas sa sanga sa Mesa 22.3.0 adunay eksperimento nga kahimtang - pagkahuman sa katapusan nga pagpalig-on sa code, usa ka lig-on nga bersyon 22.3.1 ipagawas.

Sa Mesa 22.3, ang suporta alang sa Vulkan 1.3 graphics API anaa sa anv para sa Intel GPUs, radv para sa AMD GPUs, tu para sa Qualcomm GPUs, ug sa emulator mode (vn). Ang suporta alang sa Vulkan 1.1 gipatuman sa lavapipe (lvp) software rasterizer, ug Vulkan 1.0 sa v3dv driver (GPU Broadcom VideoCore VI gikan sa Raspberry Pi 4).

Naghatag usab ang Mesa og bug-os nga suporta sa OpenGL 4.6 para sa 965, iris (Intel), radeonsi (AMD), zink, ug llvmpipe nga mga drayber. Ang suporta sa OpenGL 4.5 magamit alang sa AMD (r600), NVIDIA (nvc0) ug Qualcomm Adreno (freedreno) nga mga GPU, OpenGL 4.3 alang sa virgl (Virgil3D virtual GPU alang sa QEMU/KVM), ug OpenGL 4.2 alang sa d3d12 driver (layer alang sa pagpadagan sa OpenGL sa DirectX 12).

Panguna nga mga inobasyon:

  • Ang freedreno driver para sa Qualcomm Adreno GPUs naghatag og suporta para sa OpenGL 4.5 graphics API, ug ang emulator driver (vn) nagsuporta sa Vulkan 1.3 API.
  • Ang drayber sa Panfrost nagpatuman sa abilidad sa pag-cache sa mga shaders sa disk ug nagdugang suporta alang sa Mali T620 GPU. Ang drayber compatible sa OpenGL 3.1 specification ug OpenGL ES 3.1.
  • Ang drayber sa RADV (AMD) nga Vulkan nagdugang suporta para sa GFX11/RDNA3 GPUs (Radeon RX 7000 series). Ang code para sa ray tracing na-optimize. Gidugang nga suporta alang sa R8G8B8, B8G8R8 ug R16G16B16 pixel nga mga format, ingon man sa 64-bit vertex buffer format. Gidugang nga suporta alang sa extendedDynamicState2PatchControlPoints nga bandila, nga nagtino sa suporta alang sa extension sa VK_EXT_extended_dynamic_state2. Nahiusa ang Radeon Raytracing Analyzer.
  • Ang package naglakip sa drayber sa Rusticle nga adunay pagpatuman sa OpenCL 3.0 nga detalye, nga naghubit sa API ug mga extension sa C nga pinulongan alang sa pag-organisar sa cross-platform parallel computing. Ang drayber gisulat sa Rust, naugmad gamit ang Gallium interface nga gihatag sa Mesa ug naglihok isip analogue sa Clover OpenCL frontend nga anaa sa Mesa. Ang Clover dugay na nga gibiyaan ug ang rusticl gipahimutang isip umaabot nga kapuli niini. Ang suporta alang sa Rust ug rusticl gi-disable pinaagi sa default ug nanginahanglan usa ka pagtukod nga adunay klaro nga mga kapilian "-D gallium-rusticl = true -Dllvm = enabled -Drust_std = 2021". Kung magtukod, ang rustc compiler, bindgen binding generator, LLVM, SPIRV-Tools ug SPIRV-LLVM-Translator gikinahanglan isip dugang dependencies.
  • Ang drayber sa RadeonSI naglakip sa suporta alang sa multi-threaded rendering pinaagi sa OpenGL nga default.
  • Gipaila ang Mesa-DB, usa ka bag-ong tipo sa shader cache nga nagtipig sa datos sa usa ka file.
  • Gidugang nga suporta alang sa mga extension sa OpenGL:
    • GL_ARB_shader_clock para sa llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent para sa zink.
    • GL_NV_shader_atomic_float para sa llvmpipe.
  • Gidugang nga suporta alang sa mga extension sa Vulkan:
    • VK_KHR_shader_clock para sa lavapipe.
    • VK_EXT_attachment_feedback_loop_layout para sa RADV, lavapipe.
    • VK_KHR_global_priority para sa RADV.
    • VK_EXT_load_store_op_none para sa RADV.
    • VK_EXT_mutable_descriptor_type para sa RADV.
    • VK_EXT_shader_atomic_float para sa lvp.
    • VK_EXT_shader_atomic_float2 para sa lvp.
    • VK_EXT_image_robustness para sa v3dv.
    • VK_EXT_extended_dynamic_state3 para sa lavapipe, RADV ug ANV.
    • VK_EXT_extended_dynamic_state2 para sa RADV.
    • VK_EXT_pipeline_robustness para sa v3dv.
    • VK_EXT_mesh_shader para sa ANV.

Source: opennet.ru

Idugang sa usa ka comment