Mesa 21.2 versiyasi, OpenGL va Vulkanning bepul amalga oshirilishi

Uch oylik rivojlanishdan so'ng OpenGL va Vulkan API ning bepul ilovasi - Mesa 21.2.0 nashr etildi. Mesa 21.2.0 filialining birinchi versiyasi eksperimental maqomga ega - kodni yakuniy barqarorlashtirishdan so'ng 21.2.1 barqaror versiyasi chiqariladi.

Mesa 21.2 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), Vulkan 1.1 qo'llab-quvvatlashi Qualcomm GPU va lavapipe dasturiy ta'minoti rasterizatori uchun, Vulkan 1.0 esa Broadcom VideoCore VI GPU (Raspberry Pi 4) uchun mavjud. .

Asosiy innovatsiyalar:

  • Asahi OpenGL drayveri Apple M1 chiplariga kiritilgan GPU uchun dastlabki yordamga kiritilgan. Drayv Gallium interfeysidan foydalanadi va OpenGL 2.1 va OpenGL ES 2.0 ning ko'pgina xususiyatlarini qo'llab-quvvatlaydi, lekin ko'pgina o'yinlarni ishlatish uchun hali mos emas. Drayv kodi Gallium mos yozuvlar noop drayveriga asoslangan bo'lib, Panfrost drayveridan olingan ba'zi kodlar ARM Mali GPU uchun ishlab chiqilmoqda.
  • Crocus OpenGL drayveri Iris drayveri tomonidan qo'llab-quvvatlanmaydigan eski Intel GPU'larini (Gen4-Gen7 mikroarxitekturalari asosida) qo'llab-quvvatlaydi. I965 drayveridan farqli o'laroq, yangi drayver Gallium3D arxitekturasiga asoslangan bo'lib, u xotirani boshqarish vazifalarini Linux yadrosidagi DRI drayveriga autsorsing qiladi va chiqish ob'ektlarining qayta foydalanish keshini qo'llab-quvvatlaydigan tayyor holat kuzatuvchisini ta'minlaydi.
  • ARM Mali Midgard va Bifrost GPUlari uchun Vulkan grafik API-ni qo'llab-quvvatlaydigan PanVk drayveri kiritilgan. PanVk Collabora xodimlari tomonidan ishlab chiqilmoqda va OpenGL-ni qo'llab-quvvatlaydigan Panfrost loyihasini rivojlantirishning davomi sifatida joylashtirilgan.
  • Midgard GPU (Mali T760 va undan yangiroq) va Bifrost GPU (Mali G31, G52, G76) uchun Panfrost drayveri OpenGL ES 3.1 ni qo'llab-quvvatlaydi. Kelajakdagi rejalar Bifrost chiplari samaradorligini oshirish va Valhall arxitekturasi (Mali G77 va undan yangiroq) asosida GPU qo'llab-quvvatlashini amalga oshirish bo'yicha ishlarni o'z ichiga oladi.
  • 32-bitli x86 tuzilmalari matematik hisoblar uchun x87 ko'rsatmalari o'rniga sse2 ko'rsatmalaridan foydalanadi.
  • NVIDIA GT50x GPU (GeForce GT 21Γ—2) uchun Nouveau nv0 drayveri OpenGL ES 3.1 ni qo'llab-quvvatlaydi.
  • Qualcomm Adreno GPU uchun ishlab chiqilgan Vulkan drayveri TURNIP va OpenGL drayveri Freedreno, Adreno a6xx gen4 GPU (a660, a635) uchun dastlabki yordamga ega.
  • RADV (AMD) Vulkan drayveri NGG (Next-Gen Geometry) shader dvigatellari yordamida ibtidoiy yo'q qilish uchun qo'shimcha yordam berdi. MSVC kompilyatoridan foydalangan holda Windows platformasida RADV drayverini yaratish imkoniyati amalga oshirildi.
  • Yaqinlashib kelayotgan Intel Xe-HPG (DG2) grafik kartalarini qo'llab-quvvatlash uchun ANV Vulkan drayveri (Intel) va Iris OpenGL drayverida tayyorgarlik ishlari olib borildi. Bunga ray tracing bilan bog'liq dastlabki xususiyatlar va ray tracing shaderlarini qo'llab-quvvatlash kiradi.
  • Vulkan API uchun dasturiy ta'minot rasterizatorini (llvmpipe-ga o'xshash, lekin Vulkan uchun Vulkan API qo'ng'iroqlarini Gallium API-ga tarjima qiladigan) lavapipe drayveri "wideLines" rejimini qo'llab-quvvatlaydi (kengligi 1.0 dan oshiq chiziqlarni qo'llab-quvvatlaydi).
  • Muqobil GBM (Generic Buffer Manager) backendlarini dinamik topish va yuklashni qo'llab-quvvatlash amalga oshirildi. O'zgartirish NVIDIA drayverlari bo'lgan tizimlarda Wayland yordamini yaxshilashga qaratilgan.
  • 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 kengaytmalarini qo'llab-quvvatlaydi GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_film_BAR, G_maxfill_group. _shader_soat. Qo'shilgan DRM formati modifikatorlari (Direct Rendering Manager, VK_EXT_image_drm_format_modifier kengaytmasi yoqilgan).
  • Vulkan drayverlari RADV (AMD), ANV (Intel) va lavapipe uchun kengaytmalarni qo'llab-quvvatlash qo'shildi:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_kengaytirilgan_dinamik_holat2 (RADV);
    • VK_EXT_global_priority_so'rovi (RADV);
    • VK_EXT_fizikaviy_qurilma_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dinamik_holat(lavapipe);
    • VK_EXT_line_rasterizatsiya (lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_alohida_chuqurlik_stencil_layouts(lavapipe);
    • VK_EXT_alohida_stencil_foydalanish(lavapipe);
    • VK_EXT_kengaytirilgan_dinamik_state2 (lavapipe).

Manba: opennet.ru

a Izoh qo'shish