เบเบฒเบ™เบ›เปˆเบญเบ Mesa 22.3, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบŸเบฃเบตเบ‚เบญเบ‡ OpenGL เปเบฅเบฐ Vulkan

เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบŸเบฃเบตเบ‚เบญเบ‡ OpenGL เปเบฅเบฐ Vulkan APIs - Mesa 22.3.0 - เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ. เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบชเบฒเบ‚เบฒ Mesa 22.3.0 เบกเบตเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ - เบซเบผเบฑเบ‡เบˆเบฒเบเบฅเบฐเบซเบฑเบ”เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบšเบชเบธเบ”เบ—เป‰เบฒเบ, เบฎเบธเปˆเบ™เบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡ 22.3.1 เบˆเบฐเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ.

Mesa 22.3 เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Vulkan 1.3 graphics API เปƒเบ™ anv drivers เบชเปเบฒเบฅเบฑเบš Intel GPUs, radv drivers เบชเปเบฒเบฅเบฑเบš AMD GPUs, tu drivers เบชเปเบฒเบฅเบฑเบš Qualcomm GPUs, เปเบฅเบฐ emulator mode (vn). เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Vulkan 1.1 เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™ rasterizer เบŠเบญเบšเปเบง lavapipe (lvp), เปเบฅเบฐ Vulkan 1.0 เปƒเบ™เป„เบ”เป€เบงเบต v3dv (Broadcom VideoCore VI GPU เบˆเบฒเบ Raspberry Pi 4).

Mesa เบเบฑเบ‡เปƒเบซเป‰เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ OpenGL 4.6 เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบชเปเบฒเบฅเบฑเบš 965, iris (Intel), radeonsi (AMD), zink, เปเบฅเบฐ llvmpipe drivers. เบฎเบญเบ‡เบฎเบฑเบš OpenGL 4.5 เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบš AMD (r600), NVIDIA (nvc0) เปเบฅเบฐ Qualcomm Adreno (freedreno) GPUs, OpenGL 4.3 เบชเปเบฒเบฅเบฑเบš virgl (virgil3D virtual GPU เบชเปเบฒเบฅเบฑเบš QEMU/KVM), เปเบฅเบฐ OpenGL 4.2 เบชเปเบฒเบฅเบฑเบšเป„เบ”เป€เบงเบต d3d12 (เบŠเบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡ OpenGL. เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ DirectX 12).

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เป:

  • ะ’ ะดั€ะฐะนะฒะตั€ะต freedreno ะดะปั GPU Qualcomm Adreno ะพะฑะตัะฟะตั‡ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะณั€ะฐั„ะธั‡ะตัะบะพะณะพ API OpenGL 4.5, ะฐ ะฒ ะดั€ะฐะนะฒะตั€ะต ะดะปั ัะผัƒะปัั‚ะพั€ะฐ (vn) ะฟะพะดะดะตั€ะถะบะฐ API Vulkan 1.3.
  • ะ’ ะดั€ะฐะนะฒะตั€ะต Panfrost ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะบััˆะธั€ะพะฒะฐะฝะธั ัˆะตะนะดะตั€ะพะฒ ะฝะฐ ะดะธัะบะต ะธ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ GPU Mali T620. ะ”ั€ะฐะนะฒะตั€ ัะพะฒะผะตัั‚ะธะผ ัะพ ัะฟะตั†ะธั„ะธะบะฐั†ะธะตะน OpenGL 3.1 ะธ OpenGL ES 3.1.
  • ะ’ Vulkan-ะดั€ะฐะนะฒะตั€ะต RADV (AMD) ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ GPU GFX11/RDNA3 (ัะตั€ะธั Radeon RX 7000). ะŸั€ะพะฒะตะดะตะฝะฐ ะพะฟั‚ะธะผะธะทะฐั†ะธั ะบะพะดะฐ ะดะปั ั‚ั€ะฐััะธั€ะพะฒะบะธ ะปัƒั‡ะตะน. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฟะธะบัะตะปัŒะฝั‹ั… ั„ะพั€ะผะฐั‚ะพะฒ R8G8B8, B8G8R8 ะธ R16G16B16, ะฐ ั‚ะฐะบะถะต 64-ั€ะฐะทั€ัะดะฝั‹ั… ั„ะพั€ะผะฐั‚ะพะฒ ะฒะตั€ัˆะธะฝะฝะพะณะพ ะฑัƒั„ะตั€ะฐ. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ั„ะปะฐะณะฐ extendedDynamicState2PatchControlPoints, ะพะฟั€ะตะดะตะปััŽั‰ะตะณะพ ะฟะพะดะดะตั€ะถะบัƒ ั€ะฐััˆะธั€ะตะฝะธั VK_EXT_extended_dynamic_state2. ะ˜ะฝั‚ะตะณั€ะธั€ะพะฒะฐะฝ Radeon Raytracing Analyzer.
  • ะ’ ัะพัั‚ะฐะฒ ะฒะบะปัŽั‡ั‘ะฝ ะดั€ะฐะนะฒะตั€ Rusticl ั ั€ะตะฐะปะธะทะฐั†ะธะตะน ัะฟะตั†ะธั„ะธะบะฐั†ะธะธ OpenCL 3.0, ะพะฟั€ะตะดะตะปััŽั‰ะตะน API ะธ ั€ะฐััˆะธั€ะตะฝะธั ัะทั‹ะบะฐ ะก ะดะปั ะพั€ะณะฐะฝะธะทะฐั†ะธะธ ะบั€ะพัั-ะฟะปะฐั‚ั„ะพั€ะผะตะฝะฝั‹ั… ะฟะฐั€ะฐะปะปะตะปัŒะฝั‹ั… ะฒั‹ั‡ะธัะปะตะฝะธะน. ะ”ั€ะฐะนะฒะตั€ ะฝะฐะฟะธัะฐะฝ ะฝะฐ ัะทั‹ะบะต Rust, ั€ะฐะทั€ะฐะฑะพั‚ะฐะฝ ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะฟั€ะตะดะพัั‚ะฐะฒะปัะตะผะพะณะพ ะฒ Mesa ะธะฝั‚ะตั€ั„ะตะนัะฐ Gallium ะธ ะฒั‹ัั‚ัƒะฟะฐะตั‚ ะฒ ั€ะพะปะธ ะฐะฝะฐะปะพะณะฐ ะฟั€ะธััƒั‚ัั‚ะฒัƒัŽั‰ะตะณะพ ะฒ Mesa OpenCL-ั„ั€ะพะฝั‚ัะฝะดะฐ Clover. Clover ัƒะถะต ะดะฐะฒะฝะพ ะฝะฐั…ะพะดะธั‚ัั ะฒ ะทะฐะฑั€ะพัˆะตะฝะฝะพะผ ัะพัั‚ะพัะฝะธะธ ะธ rusticl ะฟะพะทะธั†ะธะพะฝะธั€ัƒะตั‚ัั ะบะฐะบ ะตะณะพ ะฑัƒะดัƒั‰ะฐั ะทะฐะผะตะฝะฐ. ะŸะพะดะดะตั€ะถะบะฐ 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 ะดะปั zink.
    • 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™