Mesa 21.3 versiyasi, OpenGL va Vulkanning bepul amalga oshirilishi

To'rt oylik rivojlanishdan so'ng, OpenGL va Vulkan API-larining bepul amalga oshirilishi - Mesa 21.3.0 nashr etildi. Mesa 21.3.0 filialining birinchi versiyasi eksperimental maqomga ega - kodning yakuniy barqarorlashuvidan so'ng 21.3.1 barqaror versiyasi chiqariladi.

Mesa 21.3 4.6, iris (Intel), radeonsi (AMD), sink va llvmpipe drayverlari uchun OpenGL 965-ni to'liq qo'llab-quvvatlaydi. OpenGL 4.5 taΚΌminoti AMD (r600) va NVIDIA (nvc0) grafik kartalari uchun, OpenGL 4.3 esa virgl (QEMU/KVM uchun Virgil3D virtual GPU) uchun mavjud. Vulkan 1.2 qo'llab-quvvatlashi Intel va AMD kartalari uchun, shuningdek, emulyator rejimida (vn) va lavapipe dasturiy rasterizatorida, Vulkan 1.1 qo'llab-quvvatlashi Qualcomm GPU va lavapipe dasturiy rasterizatorida, Vulkan 1.0 esa Broadcom uchun mavjud. VideoCore VI GPU (Raspberry Pi 4).

Asosiy innovatsiyalar:

  • Zink drayveri (Vulkan-ning yuqori qismidagi OpenGL API ilovasi, agar tizimda faqat Vulkan API-ni qo'llab-quvvatlash bilan cheklangan drayverlarga ega bo'lsa, apparat tezlashtirilgan OpenGL-ni olish imkonini beradi) OpenGL ES 3.2-ni qo'llab-quvvatlaydi.
  • Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) va Bifrost (Mali G3x, G5x, G7x) mikroarxitekturalari asosida GPUlar bilan ishlash uchun mo'ljallangan Panfrost drayveri OpenGL ES 3.1 bilan muvofiqligi uchun rasmiy sertifikatlangan.
  • Raspberry Pi 3 modelidan boshlab ishlatiladigan VideoCore VI grafik tezlatgichi uchun ishlab chiqilgan v4dv drayveri Vulkan 1.1 grafik API uchun sertifikatlangan qoβ€˜llab-quvvatlashga ega, shuningdek, geometriya shaderlarini qoβ€˜llab-quvvatladi. Sheyder kompilyatori tomonidan yaratilgan kodning ishlashi sezilarli darajada yaxshilandi, bu Unreal Engine 4 asosidagi o'yinlar kabi shaderlardan faol foydalanadigan dasturlarning tezligiga ijobiy ta'sir ko'rsatdi.
  • RADV Vulkan drayveri (AMD) nurlarni kuzatish va ray tracing shaderlari uchun eksperimental yordamni qo'shdi. GFX10.3 kartalari uchun NGG (Keyingi avlod geometriyasi) shader dvigatellari yordamida ibtidoiy o'chirishni qo'llab-quvvatlash sukut bo'yicha yoqilgan.
  • Iris OpenGL drayveri (Intel GPU'lari uchun yangi drayver) ko'p tarmoqli shader kompilyatsiya qilish qobiliyatini qo'shdi.
  • Vulkan API uchun dasturiy ta'minot rasterizatorini (llvmpipe-ga o'xshash, lekin Vulkan uchun Vulkan API qo'ng'iroqlarini Gallium API-ga tarjima qiluvchi) amalga oshiradigan lavapipe drayveri anizotropik tekstura filtrlashni qo'llab-quvvatladi va Vulkan 1.2 uchun qo'shimcha qo'llab-quvvatladi.
  • Dasturiy ta'minotni ko'rsatish uchun mo'ljallangan OpenGL drayveri llvmpipe 2D operatsiyalari bilan bog'liq harakatlarni bajarishda unumdorlikni 3-2 barobar oshirdi. FP16 operatsiyalari, anizotrop tekstura filtrlash (GL_ARB_texture_filter_anizotropic) va biriktirilgan xotira maydonlari (GL_AMD_pinned_memory) uchun qo'shimcha qo'llab-quvvatlash. OpenGL 4.5 muvofiqlik profilini qo'llab-quvvatlash taqdim etiladi.
  • VA-API (Video Acceleration API) holat kuzatuvchisi AMD GPU drayverlaridan foydalanganda AV1 video kodlash va dekodlashni tezlashtirishni qo'llab-quvvatlaydi.
  • Windows platformasi uchun EGL qo'llab-quvvatlashi amalga oshirildi.
  • Wayland uchun EGL_EXT_present_opaque kengaytmasi qo'shildi. Wayland protokoli asosidagi muhitlarda ishlaydigan o'yinlarda shaffoflikni ko'rsatish bilan bog'liq muammolar hal qilindi.
  • Vulkan drayverlari RADV (AMD), ANV (Intel) va lavapipe uchun kengaytmalarni qo'llab-quvvatlash qo'shildi:
    • 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_mahsuloti (RADV).
    • VK_KHR_sinxronizatsiya2 (Intel).
    • VK_KHR_maintenance4 (RADV).
    • VK_KHR_format_xususiyati_bayroqlari2 (RADV).
    • VK_KHR_shader_subgroup_kengaytirilgan_turlari (lavapipe).
    • VK_KHR_spirv_1_4 (yuvish trubkasi).
    • VK_KHR_timeline_semaphore (yuvish quvuri).
    • VK_EXT_external_memory_host (lavapipe).
    • VK_KHR_depth_stencil_resolve (lavapipe).
    • VK_KHR_shader_float16_int8 (yuvish trubkasi).
    • VK_EXT_color_write_enable(yuvish quvuri).

Manba: opennet.ru

a Izoh qo'shish