ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° Mesa 20.2.0, Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½Π° рСализация Π½Π° OpenGL ΠΈ Vulkan

Π˜Π·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΎ ΠΎΡ‚ освобоТдаванС Π½Π° Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½Π° рСализация Π½Π° OpenGL ΠΈ Vulkan API - Mesa 20.2.0. Π’ МСса 20.2 изпълнСни пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° OpenGL 4.6 Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ процСсори Intel (i965, iris) ΠΈ AMD (radeonsi), ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° OpenGL 4.5 Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ процСсори AMD (r600), NVIDIA (nvc0) ΠΈ llvmpipe, OpenGL 4.3 Π·Π° virgl (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ процСсор) Virgil3D Π·Π° QEMU/KVM), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Vulkan 1.2 Π·Π° Intel ΠΈ AMD ΠΊΠ°Ρ€Ρ‚ΠΈ.

срСд ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • Π’ ΡˆΠΎΡ„ΡŒΠΎΡ€Π° lvmpipe, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° софтуСрно Ρ€Π΅Π½Π΄ΠΈΡ€Π°Π½Π΅, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° OpenGL 4.5.
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ RADV Vulkan (Π·Π° AMD ΠΊΠ°Ρ€Ρ‚ΠΈ) ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ "ACOβ€œ, ΠΊΠΎΠΉΡ‚ΠΎ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΎΡ‚ Valve ΠΊΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ LLVM. ACO Π΅ написан Π½Π° C++, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ с мисъл Π·Π° JIT компилация ΠΈ ΠΈΠΌΠ° Π·Π° Ρ†Π΅Π» Π΄Π° осигури Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ възмоТно Π½Π°ΠΉ-ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ Π·Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π½Π° ΠΈΠ³Ρ€ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ постиганС Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ високи скорости Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ процСсори AMD Navi 21 (Navy Flounder) ΠΈ Navi 22 (Sienna Cichlid).
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Intel GPU ΠΈΠΌΠ°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ‡ΠΈΠΏΠΎΠ²Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π Π°ΠΊΠ΅Ρ‚Π½ΠΎ Π΅Π·Π΅Ρ€ΠΎ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° дискрСтни ΠΊΠ°Ρ€Ρ‚ΠΈ Intel Xe DG1.
  • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ са Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Gallium3D Π¦ΠΈΠ½ΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ внСдрява OpenGL API Π²ΡŠΡ€Ρ…Ρƒ Vulkan. Zink Π²ΠΈ позволява Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΎ ускорСн OpenGL, Π°ΠΊΠΎ систСмата ΠΈΠΌΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ само Vulkan API.
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ Gallium3D Nouveau NVC0 ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° HMM (Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°) Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° OpenCL SVM (Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚).
  • Π’ ΡˆΠΎΡ„ΡŒΠΎΡ€Π° Π—Π°ΠΌΡ€ΡŠΠ·Π²Π°Π½Π΅ ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° 3D изобразяванС Π·Π° GPU Π½Π° Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) Π΅ стабилизирана.
  • RadeonSI Π²ΠΊΠ»ΡŽΡ‡Π²Π° подобрСния, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с виртуализацията Π½Π° GPU.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° дисково ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎΡ‚ΠΎ прСдставянС Π½Π° TGSI (Tungsten Graphics Shader Infrastructure).
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ OpenGL Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ:
    • GL_ARB_compute_variable_group_size Π·Π° Intel Iris.
    • GL_ARB_gl_spirv Π·Π° Nouveau nvc0.
    • GL_NV_half_float Π·Π° Nouveau nvc0.
    • GL_NV_copy_depth_to_color Π·Π° Nouveau nvc0.
    • GL_ARB_spirv_extensions Π·Π° Nouveau nvc0.
    • GL_EXT_shader_group_vote Π·Π° llvmpipe.
    • GL_ARB_gpu_shader5 Π·Π° llvmpipe.
    • GL_ARB_post_depth_coverage Π·Π° llvmpipe.
    • GL_EXT_texture_shadow_lod Π·Π° llvmpipe.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° EGL Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ EGL_KHR_swap_buffers_with_damage (Π·Π° X11 DRI3), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ GLX Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡΡ‚Π° GLX_EXT_swap_control (DRI2, DRI3) ΠΈ GLX_EXT_swap_control_tear (DRI3).
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ към Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° RADV Vulkan (Π·Π° AMD ΠΊΠ°Ρ€Ρ‚ΠΈ):
    • VK_EXT_4444_Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ
    • VK_KHR_ΠΌΠΎΠ΄Π΅Π»_ΠΏΠ°ΠΌΠ΅Ρ‚
    • VK_AMD_texture_gather_bias_lod
    • VK_AMD_gpu_shader_half_float
    • VK_AMD_gpu_shader_int16
    • VK_EXT_Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΎ_Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ_ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅
    • VK_EXT_ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅_робаст
    • VK_EXT_ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈ_Π΄Π°Π½Π½ΠΈ
    • VK_EXT_потрСбитСлски_ΠΊΡ€Π°ΠΉ_Ρ†Π²Π΅Ρ‚
    • VK_EXT_ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄_създаванС_кСш_
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠ°_Ρ€Π°Π·ΠΌΠ΅Ρ€_ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»
    • VK_GOOGLE_ Ρ‚ΠΈΠΏ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»
    • VK_KHR_shader_subgroup_extended_types
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ към Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ANV Vulkan (Π·Π° Intel ΠΊΠ°Ρ€Ρ‚ΠΈ):
    • VK_EXT_ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅_робаст
    • VK_EXT_shader_atomic_float
    • VK_EXT_4444_Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ
    • VK_EXT_Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΎ_Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ_ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅
    • VK_EXT_ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈ_Π΄Π°Π½Π½ΠΈ
    • VK_EXT_потрСбитСлски_ΠΊΡ€Π°ΠΉ_Ρ†Π²Π΅Ρ‚
    • VK_EXT_ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄_създаванС_кСш_

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€