Π Π΅Π»ΠΈΠ· Mesa 22.0, свободной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ OpenGL ΠΈ Vulkan

ПослС Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· свободной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API OpenGL ΠΈ Vulkan — Mesa 22.0.0. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ выпуск Π²Π΅Ρ‚ΠΊΠΈ Mesa 22.0.0 ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ статус — послС провСдСния ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стабилизации ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия 22.0.1. Новый выпуск ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ графичСского API Vulkan 1.3 Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ anv для GPU Intel ΠΈ radv для GPU AMD.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan 1.2 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ эмулятора (vn), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan 1.1 доступна для GPU Qualcomm (tu) ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ растСризатора lavapipe, Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan 1.0 доступна для GPU Broadcom VideoCore VI (Raspberry Pi 4). Π’ Mesa 22.0 Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСтся полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 4.6 для Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² 965, iris (Intel), radeonsi (AMD), zink ΠΈ llvmpipe. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 4.5 доступна для GPU AMD (r600) ΠΈ NVIDIA (nvc0), Π° OpenGL 4.3 для virgl (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ GPU Virgil3D для QEMU/KVM) ΠΈ vmwgfx (VMware).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° графичСского API Vulkan 1.3.
  • Из основного состава Mesa Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ «Amber» пСрСнСсён ΠΊΠΎΠ΄ классичСских Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² OpenGL, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… интСрфСйс Gallium3D, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ i915 ΠΈ i965 для GPU Intel, r100 ΠΈ r200 для GPU AMD ΠΈ Nouveau для GPU NVIDIA. Π’ Π²Π΅Ρ‚ΠΊΡƒ «Amber» Ρ‚Π°ΠΊΠΆΠ΅ пСрСнСсён Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ SWR, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π²ΡˆΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ растСризатор OpenGL Π½Π° Π±Π°Π·Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Intel OpenSWR. Из основного состава ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π° классичСская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° xlib, вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ gallium-xlib.
  • Π’ Gallium-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ D3D12 с прослойкой для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ OpenGL ΠΏΠΎΠ²Π΅Ρ€Ρ… API DirectX 12 (D3D12) обСспСчСна ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с OpenGL ES 3.1. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ примСняСтся Π² прослойкС WSL2 для запуска графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Linux Π² Windows.
  • Π’ OpenGL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ «iris» ΠΈ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ «ANV» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ² Intel Alderlake (S ΠΈ N).
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… для GPU Intel Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Adaptive-Sync (VRR), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ частоту обновлСния ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° для обСспСчСния ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ отсутствия Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ².
  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ RADV (AMD) ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° рСализация ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ трассировкой Π»ΡƒΡ‡Π΅ΠΉ ΠΈ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² для трассировки Π»ΡƒΡ‡Π΅ΠΉ.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ v3dv, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ для графичСского ускоритСля VideoCore VI, примСняСмого начиная с ΠΌΠΎΠ΄Π΅Π»ΠΈ Raspberry Pi 4, обСспСчСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android.
  • Для EGL Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ «dma-buf feedback», ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎΠ± ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ GPU ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ основным ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌ GPU, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ vmwgfx, примСняСмый для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ 3D-ускорСния Π² окруТСниях VMware, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 4.3.
  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ RADV (AMD), ANV (Intel) ΠΈ zink (OpenGL ΠΏΠΎΠ²Π΅Ρ€Ρ… Vulkan) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ:
    • VK_KHR_dynamic_rendering (lavapipe,radv,anv)
    • VK_EXT_image_view_min_lod (radv) KHR_synchronization2.txt VK_KHR_synchronization2]] (radv)
    • VK_EXT_memory_object (zink)
    • VK_EXT_memory_object_fd (zink)
    • VK_EXT_semaphore (zink)
    • VK_EXT_semaphore_fd (zink)
    • VK_VALVE_mutable_descriptor_type (zink)
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ OpenGL:
    • GL_ARB_sparse_texture (radeonsi, zink)
    • GL_ARB_sparse_texture2 (radeonsi, zink)
    • GL_ARB_sparse_texture_clamp (radeonsi, zink)
    • GL_ARB_framebuffer_no_attachments
    • GL_ARB_sample_shading

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru