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 965, iris (Intel), radeonsi (AMD), sink va llvmpipe drayverlari uchun to'liq OpenGL 4.6 qo'llab-quvvatlaydi. OpenGL 4.5 qoʻllab-quvvatlashi AMD (r600) va NVIDIA (nvc0) grafik protsessorlari uchun, OpenGL 4.3 esa virgl (QEMU/KVM uchun Virgil3D virtual GPU) uchun mavjud. Vulkan 1.2-ni qo'llab-quvvatlash Intel va AMD kartalari uchun, shuningdek, emulyator rejimida (vn) va lavapipe dasturiy ta'minoti rasterizatorida mavjud. Vulkan 1.1 qo‘llab-quvvatlashi Qualcomm GPU va lavapipe dasturiy ta’minoti rasterizatori uchun, Vulkan 1.0 qo‘llab-quvvatlashi Broadcom VideoCore VI GPU (Raspberry Pi 4) uchun mavjud.
Asosiy innovatsiyalar:
- Zink drayveri (tizimda faqat Vulkan API-ni qo'llab-quvvatlash bilan cheklangan drayverlarga ega bo'lsa, apparat tezlashtirilgan OpenGL-ga imkon beruvchi Vulkan-ning yuqori qismidagi OpenGL API ilovasi) OpenGL ES 3.2.ni qo'llab-quvvatlaydi.
- Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) va Bifrost (Mali G3x, G5x, G7x) mikroarxitekturalariga asoslangan GPUlar uchun mo'ljallangan Panfrost drayveri OpenGL ES 3.1 bilan muvofiqligi uchun rasmiy sertifikatlangan.
- Raspberry Pi 4-dan beri foydalanilgan VideoCore VI grafik tezlatgichi uchun ishlab chiqilgan v3dv drayveri Vulkan 1.1 grafik API-ni qo'llab-quvvatlagan va geometriya shaderlari uchun qo'shimcha yordamga ega. Sheyder kompilyatori tomonidan yaratilgan kodning unumdorligi sezilarli darajada yaxshilandi, bu unreal Engine 4 asosidagi o'yinlar kabi shader-intensiv dasturlarning ishlashini yaxshiladi.
- AMD RADV Vulkan drayveriga nurlarni kuzatish va ray tracing shaderlarini eksperimental qo'llab-quvvatlash qo'shildi. Next-Gen Geometry (NGG) shader dvigatellari yordamida ibtidoiy yo'q qilish GFX10.3 kartalari uchun sukut bo'yicha yoqilgan.
- Iris OpenGL drayveri (Intel GPU'lar uchun yangi drayver) endi ko'p tarmoqli shader kompilyatsiyasini qo'llab-quvvatlaydi.
- Vulkan API uchun dasturiy ta'minot rasterizatorini (llvmpipe ga o'xshash, lekin Vulkan uchun Vulkan API qo'ng'iroqlarini Gallium API ga tarjima qiladigan) amalga oshiradigan lavapipe drayveri anizotropik tekstura filtrlashni qo'llab-quvvatlaydi va Vulkan 1.2 uchun qo'llab-quvvatlaydi.
- Dasturiy ta'minotni ko'rsatish uchun mo'ljallangan llvmpipe OpenGL drayveri 2D operatsiyalari uchun unumdorlikni 2-3 baravar oshirdi. FP16 operatsiyalari, anizotrop tekstura filtrlash (GL_ARB_texture_filter_anizotropic) va xotirani mahkamlash (GL_AMD_pinned_memory) qo'shildi. OpenGL 4.5 moslik profilini qo'llab-quvvatlash qo'shildi.
- VA-API (Video Acceleration API) holati kuzatuvchisi endi AMD GPU drayverlaridan foydalanganda AV1 video kodlash va dekodlashni tezlashtirishni qo'llab-quvvatlaydi.
- Platforma uchun Windows EGL qo'llab-quvvatlashi joriy etildi.
- Wayland uchun EGL_EXT_present_opaque kengaytmasini qo'llab-quvvatlash qo'shildi. Wayland-ga asoslangan muhitda 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_feature_flags2 (RADV).
- VK_KHR_shader_subgroup_kengaytirilgan_turlari (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).
Manba: opennet.ru
