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

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· свободной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API OpenGL ΠΈ Vulkan — Mesa 22.1.0. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ выпуск Π²Π΅Ρ‚ΠΊΠΈ Mesa 22.1.0 ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ статус — послС провСдСния ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стабилизации ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия 22.1.1.

Π’ Mesa 22.1 доступна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° графичСского API Vulkan 1.3 Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… anv для GPU Intel, radv для GPU AMD ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ растСризаторС lavapipe. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan 1.2 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ эмулятора (vn), Vulkan 1.1 — Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ для GPU Qualcomm (tu). Π° Vulkan 1.0 Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ для GPU Broadcom VideoCore VI (Raspberry Pi 4). Π’ Mesa Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСтся полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 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).

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

  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ ANV (Intel) ΠΈ OpenGL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Iris Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° дискрСтных Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ Intel DG2 (Arc Alchemist) ΠΈ Arctic Sound-M.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ D3D12 с прослойкой для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ OpenGL ΠΏΠΎΠ²Π΅Ρ€Ρ… API DirectX 12 (D3D12) обСспСчСна ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с OpenGL 4.2. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ примСняСтся Π² прослойкС WSL2 для запуска графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Linux Π² Windows.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ lavapipe с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ растСризатора для API Vulkan (Π°Π½Π°Π»ΠΎΠ³ llvmpipe, Π½ΠΎ для Vulkan, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² API Vulkan Π² API Gallium) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan 1.3.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU AMD GFX1036 ΠΈ GFX1037.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ RADV (AMD) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ отсСивания ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² ΠΏΡ€ΠΈ трассировкС Π»ΡƒΡ‡Π΅ΠΉ (ray primitive culling), Ρ‡Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ трассировки Π»ΡƒΡ‡Π΅ΠΉ для ΠΈΠ³Ρ€, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ DOOM Eternal.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ рСализация Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Vulkan для GPU Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerVR Rogue, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Imagination.
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Nouveau для старых GPU GeForce 6/7/8 ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π½Π° использованиС бСстипового ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ прСдставлСниС (IR) ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² NIR. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° NIR Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния TGSI (Tungsten Graphics Shader Infrastructure) Ρ‡Π΅Ρ€Π΅Π· задСйствованиС слоя для трансляции NIR Π² TGSI.
  • Π’ состав Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ компилятор OpenCL, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Intel ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ трассировкС Π»ΡƒΡ‡Π΅ΠΉ.
  • Π’ OpenGL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ v3d, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ для графичСского ускоритСля VideoCore VI, примСняСмого начиная с ΠΌΠΎΠ΄Π΅Π»ΠΈ Raspberry Pi 4, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² Π½Π° дискС.
  • Для GPU AMD, оснащённым Π΄Π²ΠΈΠΆΠΊΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ VCN 2.0, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° EFC (Encoder Format Conversion), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π²ΠΈΠ΄Π΅ΠΎ для прямого чтСния RGB-повСрхностСй Π±Π΅Π· ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ RGB->YUV, выполняСмых ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π°ΠΌΠΈ.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Crocus, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ для старых GPU Intel Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Gen4-Gen7, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ Iris, Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ совмСстимости со старыми вСрсиями OpenGL.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ PanVk, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ графичСского API Vulkan для GPU ARM Mali Midgard ΠΈ Bifrost, Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ².
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Venus с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ GPU (virtio-gpu) Π½Π° Π±Π°Π·Π΅ API Vulkan Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° прослойки ANGLE, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉ Π·Π° Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² OpenGL ES Π² OpenGL, Direct3D 9/11, Desktop GL ΠΈ Vulkan.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ NVIDIA OpenGL-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ GL_NV_pack_subimage, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для обновлСния ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π² памяти хоста с использованиСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€Π° ΠΈΠ»ΠΈ тСкстуры.
  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ RADV (AMD), ANV (Intel) ΠΈ lavapipe Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ:
    • VK_EXT_depth_clip_control для lavapipe ΠΈ RADV.
    • VK_EXT_graphics_pipeline_library для lavapipe.
    • VK_EXT_primitives_generated_query для lavapipe.
    • VK_EXT_image_2d_view_of_3d для ANV ΠΈ lavapipe.
    • VK_KHR_swapchain_mutable_format для lavapipe.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ