Mesa 21.0 versiyasi, OpenGL va Vulkanning bepul amalga oshirilishi

OpenGL va Vulkan API-larining bepul amalga oshirilishi - Mesa 21.0.0 taqdim etildi. Mesa 21.0.0 filialining birinchi versiyasi eksperimental maqomga ega - kodning yakuniy barqarorlashuvidan so'ng 21.0.1 barqaror versiyasi chiqariladi. Mesa 21.0 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-quvvatlash Intel va AMD kartalari uchun, Vulkan 1.0 esa VideoCore VI (Raspberry Pi 4) uchun amalga oshiriladi.

Asosiy innovatsiyalar:

  • Zink drayveri (Vulkanning tepasida OpenGL API-ni joriy etish) OpenGL 4.6.ni qo'llab-quvvatlaydi. Agar tizim faqat Vulkan API-ni qo'llab-quvvatlash bilan cheklangan drayverlarga ega bo'lsa, Zink sizga apparat tezlashtirilgan OpenGL-ni olish imkonini beradi. Zinkning ishlashi mahalliy OpenGL ilovalariga yaqin.
  • Dasturiy ta'minotni ko'rsatish uchun mo'ljallangan llvmpipe drayveri OpenGL 4.6 ni qo'llab-quvvatlaydi.
  • Qualcomm chiplarining grafik quyi tizimi uchun ishlatiladigan Freedreno drayveri Adreno a6xx GPU uchun OpenGL ES 3.0 ni qo'llab-quvvatlaydi.
  • Midgard (Mali-T7xx, Mali-T8xx) va Bifrost GPU (Mali G3x, G5x, G7x) uchun Panfrost drayveri OpenGL 3.1-ni, shuningdek, Bifrost GPU-lar uchun OpenGL ES 3.0-ni qo'llab-quvvatlaydi.
  • Radeonsi drayveri endi GL_EXT_demote_to_helper_invocation va GL_NV_compute_shader_derivatives OpenGL kengaytmalarini qo'llab-quvvatlaydi. "Counter-Strike: Global Offensive" o'yini uchun "mesa_glthread" optimallashtirish rejimi sukut bo'yicha yoqilgan bo'lib, unumdorlikni 10-20% ga oshirishga imkon beradi. SPECViewPerf testlaridan o'tishga ta'sir qiluvchi optimallashtirish amalga oshirildi. Radeon GPU Profiler (RGP) profillash vositasi uchun qo'shimcha qo'llab-quvvatlash. GPU Zen 3 va RDNA 2 uchun Smart Access Memory texnologiyasini qoβ€˜llab-quvvatlash qoβ€˜shildi. HEVC SAO enkoderlari (Sample Adaptive Offset, VCN2, VCN2.5 va VCN3 dvigatellarini qoβ€˜llab-quvvatlaydigan GPUlar uchun) va AV1 dekoderlari (RDNA 2/RX 6000 uchun va faqat OpenMAX interfeysi orqali) uchun qoβ€˜shimcha qoβ€˜llab-quvvatlash.
  • RADV Vulkan drayveri (AMD kartalari uchun) Rapid packed matematik texnologiyasi (16-bit vektorizatsiya) va Sparse xotira (tasvirlar va teksturalar kabi resurslarni nomuvofiq tarzda joylashtirish va turli xil xotira ajratish operatsiyalariga qayta biriktirish imkonini beradi) uchun qo'shimcha qo'llab-quvvatladi. RX 6000 seriyali kartalar uchun ishlashni optimallashtirish amalga oshirildi VK_VALVE_mutable_descriptor_type va VK_KHR_fragment_shading_rate kengaytmalari qo'shildi (faqat RDNA2).
  • Intel ANV va Iris drayverlari ishlash optimallashtirishlarini qo'shadi va Xe HPG grafik kartalarida amalga oshirilgan Vulkan nurlarini kuzatish kengaytmalari uchun dastlabki yordamni taklif qiladi.
  • EGL_MESA_platform_xcb kengaytmasi uchun qo'shimcha qo'llab-quvvatlash, bu ilovalarga Xlibga kirmasdan X11 resurslaridan EGL resurslarini yaratishga imkon beradi.
  • Broadcom BCM3 chipiga asoslangan Raspberry Pi 4 platalarida ishlatiladigan VideoCore VI grafik tezlatgichi uchun ishlab chiqilgan Vulkan drayveri V2711DV Wayland-ga asoslangan muhitlardan Vulkan API-ga kirish imkonini beruvchi Wayland WSI (Windows tizimi integratsiyasi) uchun qo'shimcha qo'llab-quvvatladi.
  • OpenGL qo'ng'iroqlarini DirectX 12 API-ga o'tkazuvchi qatlamning dastlabki amalga oshirilishi WSL (Linux uchun Windows quyi tizimi) muhitida grafik ilovalar ishini tashkil qilish uchun qabul qilingan. Bundan tashqari, Microsoft tomonidan ishlab chiqilgan SPIR-V shaderlarining oraliq tasvirini DXIL (DirectX Intermediate Language) ga aylantirish uchun spirv_to_dxil kutubxonasi kiritilgan.
  • Haiku OS uchun qayta ishlangan va sezilarli darajada yaxshilangan qo'llab-quvvatlash.
  • Glx_disable_oml_sync_control, glx_disable_sgi_video_sync va glx_disable_ext_buffer_age sozlamalari driconf'dan olib tashlandi.
  • DRI1 uchun qo'llab-quvvatlash olib tashlandi va 8.0 dan oldingi Mesa versiyalaridan DRI drayverlarini yuklashni to'xtatdi.
  • Klassik DRI interfeysi asosida qurilgan va OpenGL dasturiy ta'minotini ko'rsatish uchun mo'ljallangan swrast drayveri olib tashlandi (qolgan dasturiy ta'minotni ko'rsatuvchi llvmpipe va softpipe drayverlari unumdorlik va funksionallik jihatidan swrastdan sezilarli darajada oldinda). Skrastni olib tashlashga ko'plab hal qilinmagan muammolarning mavjudligi va regressiyalarning paydo bo'lishi yordam berdi, garchi ushbu drayver endi tarqatishda ishlatilmaydi.
  • OSMesa dasturiy interfeysining eski klassik versiyasi o'chirildi (OSMesa Gallium qoldiqlari asosida), bu ekranga emas, balki xotiradagi buferga ko'rsatish imkonini beradi.

    Manba: opennet.ru

a Izoh qo'shish