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

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· свободной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API OpenGL ΠΈ Vulkan — Mesa 20.2.0. Π’ Mesa 20.2 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 4.6 для GPU Intel (Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ i965, iris) ΠΈ AMD (radeonsi), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 4.5 для GPU AMD (r600), NVIDIA (nvc0) ΠΈ llvmpipe, OpenGL 4.3 для virgl (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ GPU Virgil3D для QEMU/KVM), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan 1.2 для ΠΊΠ°Ρ€Ρ‚ Intel ΠΈ AMD.

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ llvmpipe, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ отрисовки, обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 4.5.
  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ RADV (для ΠΊΠ°Ρ€Ρ‚ AMD) ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ задСйствован компилятор ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² «ACO«, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ развиваСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Valve Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ компилятору ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² LLVM. ACO написан Π½Π° языкС Π‘++, разрабатываСтся с оглядкой Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния для JIT-компиляции ΠΈ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° обСспСчСниС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ для ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° достиТСниС ΠΎΡ‡Π΅Π½ΡŒ высокой скорости компиляции.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU AMD Navi 21 (Navy Flounder) ΠΈ Navi 22 (Sienna Cichlid).
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… для GPU Intel ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Rocket Lake ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° дискрСтных ΠΊΠ°Ρ€Ρ‚ Intel Xe DG1.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности Gallium3D-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Zink, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ API OpenGL ΠΏΠΎΠ²Π΅Ρ€Ρ… Vulkan. Zink позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ускорСнный OpenGL ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² систСмС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ API Vulkan.
  • Π’ Gallium3D-Π΄Ρ€Π²ΠΉΠ²Π΅Ρ€ Nouveau NVC0 задСйствован HMM (heterogeneous memory management) для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ OpenCL SVM (Shared Virtual Memory).
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Panfrost стабилизирована ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 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).
  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ RADV (для ΠΊΠ°Ρ€Ρ‚ AMD) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ:
    • VK_EXT_4444_formats
    • VK_KHR_memory_model
    • VK_AMD_texture_gather_bias_lod
    • VK_AMD_gpu_shader_half_float
    • VK_AMD_gpu_shader_int16
    • VK_EXT_extended_dynamic_state
    • VK_EXT_image_robustness
    • VK_EXT_private_data
    • VK_EXT_custom_border_color
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_subgroup_size_control
    • VK_GOOGLE_user_type
    • VK_KHR_shader_subgroup_extended_types
  • Π’ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ANV (для ΠΊΠ°Ρ€Ρ‚ Intel) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ:
    • VK_EXT_image_robustness
    • VK_EXT_shader_atomic_float
    • VK_EXT_4444_formats
    • VK_EXT_extended_dynamic_state
    • VK_EXT_private_data
    • VK_EXT_custom_border_color
    • VK_EXT_pipeline_creation_cache_control

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