ืฉื—ืจื•ืจ ืฉืœ Mesa 22.3, ื™ื™ืฉื•ื ื—ื™ื ื ืฉืœ OpenGL ื•-Vulkan

ื”ืฉื—ืจื•ืจ ืฉืœ ื”ื”ื˜ืžืขื” ื”ื—ื™ื ืžื™ืช ืฉืœ ืžืžืฉืงื™ API ืฉืœ OpenGL ื•-Vulkan - Mesa 22.3.0 - ืคื•ืจืกืžื”. ื”ืžื”ื“ื•ืจื” ื”ืจืืฉื•ื ื” ืฉืœ ืขื ืฃ Mesa 22.3.0 ื”ื™ื ื‘ืขืœืช ืกื˜ื˜ื•ืก ื ื™ืกื™ื•ื ื™ - ืœืื—ืจ ื”ืชื™ื™ืฆื‘ื•ืช ืกื•ืคื™ืช ืฉืœ ื”ืงื•ื“, ืชืฉื•ื—ืจืจ ื’ืจืกื” ื™ืฆื™ื‘ื” 22.3.1.

Mesa 22.3 ืžืกืคืงืช ืชืžื™ื›ื” ืขื‘ื•ืจ ื”-API ื”ื’ืจืคื™ Vulkan 1.3 ื‘ืžื ื”ืœื™ ื”ืชืงื ื™ื anv ืขื‘ื•ืจ Intel GPUs, ืžื ื”ืœื™ ื”ืชืงื ื™ื radv ืขื‘ื•ืจ AMD GPUs, ืžื ื”ืœื™ ื”ืชืงื ื™ื tu ืขื‘ื•ืจ Qualcomm GPUs, ื•ืžืฆื‘ ืืžื•ืœื˜ื•ืจ (vn). ืชืžื™ื›ื” ื‘-Vulkan 1.1 ืžื™ื•ืฉืžืช ื‘-rasterizer ืฉืœ ืชื•ื›ื ืช lavapipe (lvp), ื•-Vulkan 1.0 ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ v3dv (Broadcom VideoCore VI GPU ืž-Raspberry Pi 4).

Mesa ืžืกืคืงืช ื’ื ืชืžื™ื›ื” ืžืœืื” ื‘-OpenGL 4.6 ืขื‘ื•ืจ ืžื ื”ืœื™ ื”ื”ืชืงืŸ 965, ืื™ืจื™ืก (Intel), radeonsi (AMD), zink ื•-llvmpipe. ืชืžื™ื›ื” ื‘-OpenGL 4.5 ื–ืžื™ื ื” ืขื‘ื•ืจ GPUs AMD (r600), NVIDIA (nvc0) ื•-Qualcomm Adreno (freedreno), OpenGL 4.3 ืขื‘ื•ืจ virgl (virgil3D GPU ื•ื™ืจื˜ื•ืืœื™ ืขื‘ื•ืจ QEMU/KVM), ื•-OpenGL 4.2 ืขื‘ื•ืจ ืžื ื”ืœ ื”ื”ืชืงืŸ d3d12 (ืฉื›ื‘ื” ืœืืจื’ื•ืŸ OpenGL ืขื‘ื•ื“ื” ืขืœ ื’ื‘ื™ DirectX 12).

ื—ื™ื“ื•ืฉื™ื ืขื™ืงืจื™ื™ื:

  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ freedreno ืขื‘ื•ืจ GPUs ืฉืœ Qualcomm Adreno ืžืกืคืง ืชืžื™ื›ื” ื‘-API ื”ื’ืจืคื™ ืฉืœ OpenGL 4.5, ื•ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ื”ืืžื•ืœื˜ื•ืจ (vn) ืชื•ืžืš ื‘-Vulkan 1.3 API.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Panfrost ืžื™ื™ืฉื ืืช ื”ื™ื›ื•ืœืช ืœืฉืžืจ ื”ืฆืœืœื•ืช ื‘ืžื˜ืžื•ืŸ ื‘ื“ื™ืกืง ื•ืžื•ืกื™ืฃ ืชืžื™ื›ื” ื‘- Mali T620 GPU. ืžื ื”ืœ ื”ื”ืชืงืŸ ืชื•ืื ืœืžืคืจื˜ OpenGL 3.1 ื•ืœ-OpenGL ES 3.1.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ RADV (AMD) Vulkan ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ืขื‘ื•ืจ GFX11/RDNA3 GPUs (ืกื“ืจืช Radeon RX 7000). ื”ืงื•ื“ ืœืžืขืงื‘ ืื—ืจ ืงืจื ื™ื™ื ืขื‘ืจ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื”. ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืคื•ืจืžื˜ื™ ืคื™ืงืกืœื™ื R8G8B8, B8G8R8 ื•-R16G16B16, ื›ืžื• ื’ื ืคื•ืจืžื˜ื™ื ืฉืœ ืžืื’ืจ ืงื•ื“ืงื•ื“ื™ื ืฉืœ 64 ืกื™ื‘ื™ื•ืช. ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื“ื’ืœ extendedDynamicState2PatchControlPoints, ื”ืงื•ื‘ืข ืชืžื™ื›ื” ื‘ืกื™ื•ืžืช VK_EXT_extended_dynamic_state2. Radeon Raytracing Analyzer ืžืฉื•ืœื‘.
  • ื”ื—ื‘ื™ืœื” ื›ื•ืœืœืช ืืช ืžื ื”ืœ ื”ื”ืชืงืŸ Rusticle ืขื ื”ื˜ืžืขืช ืžืคืจื˜ OpenCL 3.0, ื”ืžื’ื“ื™ืจ ืืช ื”-API ื•ื”ืจื—ื‘ื•ืช ืฉืœ ืฉืคืช C ืœืืจื’ื•ืŸ ืžื—ืฉื•ื‘ ืžืงื‘ื™ืœื™ ื—ื•ืฆื” ืคืœื˜ืคื•ืจืžื•ืช. ื”ื“ืจื™ื™ื‘ืจ ื›ืชื•ื‘ ื‘-Rust, ืคื•ืชื— ื‘ืืžืฆืขื•ืช ืžืžืฉืง Gallium ื”ืžืกื•ืคืง ื‘-Mesa ื•ืคื•ืขืœ ื›ืื ืœื•ื’ื™ ืฉืœ ื”-frontend ืฉืœ Clover OpenCL ื”ืงื™ื™ื ื‘-Mesa. ืชืœืชืŸ ื ื˜ื•ืฉ ื‘ืžืฉืš ื–ืžืŸ ืจื‘ ื•ื”ื›ืคืจื™ื™ื ืžื•ืฆื‘ื™ื ื›ืžื—ืœื™ืคื• ื”ืขืชื™ื“ื™. ื”ืชืžื™ื›ื” ื‘-Rust ื•-rusticl ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื•ื“ื•ืจืฉืช ื‘ื ื™ื™ื” ืขื ืืคืฉืจื•ื™ื•ืช ืžืคื•ืจืฉื•ืช "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". ื‘ืขืช ื”ื‘ื ื™ื™ื”, ื”ืžื”ื“ืจ rustc, ืžื—ื•ืœืœ ื”ื›ืจื™ื›ื” ืฉืœ bindgen, LLVM, SPIRV-Tools ื•-SPIRV-LLVM-Translator ื ื“ืจืฉื™ื ื›ืชืœื•ืช ื ื•ืกืคืช.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ RadeonSI ื›ื•ืœืœ ืชืžื™ื›ื” ื‘ืจื™ื ื“ื•ืจ ืžืจื•ื‘ื” ื”ืœื™ื›ื™ ื“ืจืš OpenGL ื›ื‘ืจื™ืจืช ืžื—ื“ืœ.
  • ื”ืฆื™ื’ ืืช Mesa-DB, ืกื•ื’ ื—ื“ืฉ ืฉืœ ืžื˜ืžื•ืŸ ื”ืฆืœืœื” ื”ืžืื—ืกืŸ ื ืชื•ื ื™ื ื‘ืงื•ื‘ืฅ ื‘ื•ื“ื“.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ื”ืจื—ื‘ื•ืช OpenGL:
    • GL_ARB_shader_clock ืขื‘ื•ืจ llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent ืขื‘ื•ืจ ื–ื™ื ืง.
    • GL_NV_shader_atomic_float ืขื‘ื•ืจ llvmpipe.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ื”ืจื—ื‘ื•ืช Vulkan:
    • VK_KHR_shader_clock ืขื‘ื•ืจ lavapipe.
    • VK_EXT_attachment_feedback_loop_layout ืขื‘ื•ืจ RADV, lavapipe.
    • VK_KHR_global_priority ืขื‘ื•ืจ RADV.
    • VK_EXT_load_store_op_none ืขื‘ื•ืจ RADV.
    • VK_EXT_mutable_descriptor_type ืขื‘ื•ืจ RADV.
    • VK_EXT_shader_atomic_float ืขื‘ื•ืจ lvp.
    • VK_EXT_shader_atomic_float2 ืขื‘ื•ืจ lvp.
    • VK_EXT_image_robustness ืขื‘ื•ืจ v3dv.
    • VK_EXT_extended_dynamic_state3 ืขื‘ื•ืจ lavapipe, RADV ื•-ANV.
    • VK_EXT_extended_dynamic_state2 ืขื‘ื•ืจ RADV.
    • VK_EXT_pipeline_robustness ืขื‘ื•ืจ v3dv.
    • VK_EXT_mesh_shader ืขื‘ื•ืจ ANV.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”