ИзданиС Π½Π° Mesa 25.0, свободна рСализация Π½Π° OpenGL ΠΈ Vulkan

Π‘Π»Π΅Π΄ Ρ‚Ρ€ΠΈ мСсСца Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·Π΄Π°Π΄Π΅Π½Π° свободна рСализация Π½Π° API OpenGL ΠΈ Vulkan β€” Mesa 25.0.0. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Ρ€Π΅Π»ΠΈΠ· Π½Π° вСрсията Mesa 25.0.0 ΠΈΠΌΠ° СкспСримСнталСн статус β€” слСд ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½Π° стабилизация Π½Π° ΠΊΠΎΠ΄Π° Ρ‰Π΅ бъдС ΠΈΠ·Π΄Π°Π΄Π΅Π½Π° стабилната вСрсия 25.0.1.

Π’ Mesa 25.0 Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° графичния API Vulkan 1.4 Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ ANV Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Intel, RADV Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ AMD, NVK Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ NVIDIA, Asahi Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Apple, Turnip Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Qualcomm ΠΈ Π² софтуСрния растСризатор lavapipe (lvp). Π’ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Смулация (vn) сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° API Vulkan 1.3, Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° PanVK Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ARM Mali β€” Vulkan 1.1, Π° Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ v3dv (Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Broadcom VideoCore Π·Π° Raspberry Pi 4+) ΠΈ dzn (рСализация Π½Π° Vulkan Π½Π°Π΄ Direct3D 12) β€” Vulkan 1.0.

Π’ Mesa сС осигурява ΠΈ пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° OpenGL 4.6 Π·Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (стари GPU Intel Gen4-Gen7), zink, llvmpipe, virgl (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ GPU Virgil3D Π·Π° QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прослойка Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° OpenGL Π½Π°Π΄ DirectX 12) ΠΈ asahi (GPU AGX, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Ρ‡ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ Apple M1 ΠΈ M2). ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° OpenGL 4.5 Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° Π·Π° GPU AMD (r600) ΠΈ NVIDIA (nvc0). ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° OpenGL 3.3 Π΅ Π½Π°Π»ΠΈΡ†Π΅ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ softpipe (софтуСрСн растСризатор) ΠΈ nv50 (NVIDIA NV50).

Основни нововъвСдСния:

  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ ANV (Intel), RADV (AMD), NVK (NVIDIA), Asahi (Apple), PanVK (ARM Mali) ΠΈ Turnip (Qualcomm), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π² софтуСрния растСризатор lavapipe (lvp) Π΅ обявСна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° API Vulkan 1.4 (ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° бСшС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π° вСрсия Vulkan 1.3).
  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° RADV Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° GPU AMD RDNA4 (GFX12, сСрия AMD Radeon RX 9000).
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ RadeonSI Π΅ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° компилационния Π±Π΅ΠΊΠ΅Π½Π΄ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ ACO, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ Valve ΠΊΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ LLVM. Π‘Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ ACO Π΅ насочСн към осигуряванС Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ ΡΡŠΠΎΠ±Ρ€Π°Π·Π΅Π½ с ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π½Π° ΠΈΠ³Ρ€Π°Π»Π½ΠΈ прилоТСния, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° постиганС Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ висока скорост Π½Π° компилация. ACO Π΅ написан Π½Π° C++ ΠΈ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° с ΠΎΠ³Π»Π΅Π΄ Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² JIT-компилация ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΡŠΡ€Π·ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, избягвайки структури, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ amdgpu_virtio, позволяващ Π½Π° гостовата систСма Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° OpenGL- ΠΈ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ radeonsi, radeonsi_drv_video ΠΈ radv, прСдоставяни ΠΎΡ‚ хост-ΠΎΠΊΠΎΠ»Π½Π°Ρ‚Π° срСда. Π”ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Ρ‡Ρ€Π΅Π· VirtIO, ΠΊΠΎΠ΅Ρ‚ΠΎ осигурява висока производитСлност Π½Π° 3D-ускорСниС Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина. ОбявСно Π΅, Ρ‡Π΅ производитСлността Π½Π° amdgpu_virtio Π΅ ΠΏΠΎ-висока ΠΎΡ‚ Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ virgl ΠΈ venus, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΈ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Vulkan ΠΈ OpenGL ΠΎΡ‚ гостови систСми.
  • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ са Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° OpenGL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Panfrost Π·Π° GPU ARM Mali.
    • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ β€žtransaction eliminationβ€œ, отстраняващ излишни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, отстраняват сС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° прСзаписванС Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΡ‚ послСдното Ρ€Π΅Π½Π΄ΠΈΡ€Π°Π½Π΅).
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ рисуванС, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° мноТСство ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Ρ‡Ρ€Π΅Π· ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ (tile).
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° AFBC 32Γ—8, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Π±ΡƒΡ„Π΅Ρ€Π° Π·Π° ΠΈΠ·Ρ…ΠΎΠ΄ (scan-out buffer) Π² някои дисплСйни ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ.
    • ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π° ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ височина Π½Π° тСкстуритС Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° ΠΎΡ‚ 8192 Π½Π° 32768 пиксСла.
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π° тСкстуриранС MTK_FMT_MOD_TILE_16L32S, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ сС ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚ Π² Π²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ Π½Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π±ΡƒΡ„Π΅Ρ€ ΠΏΡ€Π΅Π΄ΠΈ Ρ€Π΅Π½Π΄ΠΈΡ€Π°Π½Π΅ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сС Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ΠΈ, Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² SoC MediaTek).
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ANV (Intel) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Vulkan Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ AV1.
  • Π’ Vulkan Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° PanVK Π·Π° GPU ARM Mali, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° V10, ΠΊΠ°Ρ‚ΠΎ Mali-G610 ΠΈ Mali-G310, Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° API Vulkan 1.1 (ΠΏΠΎ-Ρ€Π°Π½ΠΎ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΡˆΠ΅ вСрсия Vulkan 1.0). PanVK Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² списъка с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Mesa ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ (ΠΏΠΎ-Ρ€Π°Π½ΠΎ PanVK Π½Π΅ сС появявашС Π² списъка с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ ΠΈ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ бСшС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС Π·Π°Π΄Π°Π΄Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° срСдата). На ARM систСми компилацията Π½Π° PanVK Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° PanVK са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Vulkan Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ:
    • VK_KHR_8bit_storage
    • VK_KHR_dedicated_allocation
    • VK_KHR_global_priorityΒ 
    • VK_KHR_index_type_uint8
    • VK_KHR_map_memory2Β 
    • VK_KHR_multiview
    • VK_KHR_shader_draw_parameters
    • VK_KHR_shader_float16_int8
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_KHR_shader_subgroup_rotate
    • VK_KHR_vertex_attribute_divisor
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_global_priority_query
    • VK_EXT_global_priorityΒ 
    • VK_EXT_host_query_reset
    • VK_EXT_image_robustnessΒ 
    • VK_EXT_pipeline_robustness
    • VK_EXT_provoking_vertexΒ 
    • VK_EXT_queue_family_foreign
    • VK_EXT_sampler_filter_minmax
    • VK_EXT_scalar_block_layout
    • VK_EXT_subgroup_size_control
    • VK_EXT_tooling_info
    • VK_EXT_subgroup_size_control
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° RADV (AMD) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Vulkan Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ VK_KHR_maintenance8 ΠΈ VK_KHR_depth_clamp_zero_one.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° rusticl Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° OpenCL Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ cl_khr_depth_images.

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

  • ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster