ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΡΡΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ API OpenGL ΠΈ Vulkan — Mesa 21.3.0. ΠΠ΅ΡΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ Π²Π΅ΡΠΊΠΈ Mesa 21.3.0 ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°ΡΡΡ — ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΡΡΠ΅Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ 21.3.1.
Π Mesa 21.3 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 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). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Vulkan 1.2 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΊΠ°ΡΡ Intel ΠΈ AMD, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΌΡΠ»ΡΡΠΎΡΠ° (vn) ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΠ°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΎΡΠ΅ lavapipe, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Vulkan 1.1 Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ GPU Qualcomm ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΎΡΠ° lavapipe, Π° Vulkan 1.0 Π΄Π»Ρ GPU Broadcom VideoCore VI (Raspberry Pi 4).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°:
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Zink (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ API OpenGL ΠΏΠΎΠ²Π΅ΡΡ Vulkan, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΠΉ OpenGL ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ API Vulkan) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenGL ES 3.2.
- ΠΡΠ°ΠΉΠ²Π΅Ρ Panfrost, ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ GPU Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) ΠΈ Bifrost (Mali G3x, G5x, G7x), ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ OpenGL ES 3.1.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ v3dv, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ VideoCore VI, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Raspberry Pi 4, ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ API Vulkan 1.1, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ². ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π° ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΠ΅ΠΉΠ΄Π΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ³Ρ Π½Π° Π±Π°Π·Π΅ Π΄Π²ΠΈΠΆΠΊΠ° Unreal Engine 4.
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅Ρ RADV (AMD) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π»ΡΡΠ΅ΠΉ ΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π»ΡΡΠ΅ΠΉ. ΠΠ»Ρ ΠΊΠ°ΡΡ GFX10.3 Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΡΠ΅ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² (primitive culling) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΉΠ΄Π΅ΡΠ½ΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ² NGG (Next-Gen Geometry).
- OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Iris (Π½ΠΎΠ²ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ GPU Intel) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ².
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ lavapipe Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΎΡΠ° Π΄Π»Ρ API Vulkan (Π°Π½Π°Π»ΠΎΠ³ llvmpipe, Π½ΠΎ Π΄Π»Ρ Vulkan, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² API Vulkan Π² API Gallium)) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π½ΠΈΠ·ΠΎΡΡΠΎΠΏΠ½ΠΎΠΉ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Vulkan 1.2.
- Π OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ llvmpipe, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, Π² 2-3 ΡΠ°Π·Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ 2D-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ FP16, Π°Π½ΠΈΠ·ΠΎΡΡΠΎΠΏΠ½ΠΎΠΉ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΡΡ (GL_ARB_texture_filter_anisotropic) ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ (GL_AMD_pinned_memory). ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΈΠ»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ OpenGL 4.5.
- Π ΡΡΠ΅ΠΊΠ΅ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ VA-API (Video Acceleration API) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ AV1 ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ GPU AMD.
- ΠΠ»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° EGL.
- ΠΠ»Ρ Wayland Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ EGL_EXT_present_opaque. Π Π΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ Π² ΠΈΠ³ΡΠ°Ρ , Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland.
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ RADV (AMD), ANV (Intel) ΠΈ lavapipe Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ:
- VK_EXT_shader_atomic_float2 (Intel, RADV).
- VK_EXT_vertex_input_dynamic_state (RADV).
- VK_EXT_primitive_topology_list_restart (RADV, lavapipe).
- VK_KHR_shader_integer_dot_product (RADV).
- VK_KHR_synchronization2 (Intel).
- VK_KHR_maintenance4 (RADV).
- VK_KHR_format_feature_flags2 (RADV).
- VK_KHR_shader_subgroup_extended_types (lavapipe).
- VK_KHR_spirv_1_4 (lavapipe).
- VK_KHR_timeline_semaphore (lavapipe).
- VK_EXT_external_memory_host (lavapipe).
- VK_KHR_depth_stencil_resolve (lavapipe).
- VK_KHR_shader_float16_int8 (lavapipe).
- VK_EXT_color_write_enable (lavapipe).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru