Mesa 24.3 versiyasi, OpenGL va Vulkanning bepul amalga oshirilishi

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

Mesa 24.3 Intel GPU'lari uchun anv'da Vulkan 1.3 grafik API, AMD GPU'lar uchun radv, NVIDIA GPU'lar uchun NVK, Qualcomm GPU'lari uchun tu, lavapipe dasturiy ta'minot rasterizatori (lvp), emulyator rejimi (vn) va v3dv (GPU Broadsp VideoCore uchun GPU) ni qo'llab-quvvatlaydi. 4+). Vulkan 1.0 qo'llab-quvvatlashi dzn (Direct3D 12 ustidagi Vulkan ilovasi) va panvk (ARM Mali GPU) drayverlarida amalga oshiriladi.

Mesa, shuningdek, iris (Intel Gen 4.6+ GPU), radeonsi (AMD), Crocus (eski Intel Gen8-Gen4 GPU), zink, llvmpipe, virgl (QEMU/KVM uchun Virgil7D virtual GPU), freedreno drayverlarini to'liq OpenGL 3 qo'llab-quvvatlaydi. Qualcomm Adreno), d3d12 (DirectX 12 ustidagi OpenGL ishini tashkil qilish uchun qatlam) va asahi (Apple M1 va M2 chiplarida ishlatiladigan AGX GPU). OpenGL 4.5 qo'llab-quvvatlashi AMD (r600) va NVIDIA (nvc0) grafik protsessorlari uchun mavjud. OpenGL 3.3 qo'llab-quvvatlash dasturiy ta'minot (dasturiy ta'minot rasterizatori) va nv50 (NVIDIA NV50) drayverlarida mavjud.

Asosiy innovatsiyalar:

  • V3dv drayveri Raspberry Pi 1.3 va Raspberry Pi 4 platalarida ishlatiladigan VideoCore GPU-lar uchun Vulkan 5 grafik API-ni to'liq qo'llab-quvvatlaydi.
  • Yangi Vulkan drayveri gfxstream-vk qo'shildi, u Vulkan API-ni virtualizatsiya qilish va Linux, Android va Fuchsia-ga asoslangan mehmon tizimlaridan ushbu grafik API-ga kirish uchun ishlatilishi mumkin. Drayv Google tomonidan Android emulyatori, Fuchsia emulyatori, Android bulut xizmatlari va Android Automotive OS (AAOS) da qo'llaniladi.
  • VK_PRESENT_MODE_FIFO_KHR kengaytmasini qo'llab-quvvatlash Vulkan grafik API-ning deraza tizimlari (WSI, Windowing System Integration) bilan integratsiya interfeysiga FIFO protokolining Wayland-ga asoslangan muhitlarida foydalanish uchun qo'shildi, bu esa chiqish tugashini kutishdan foydalanishga imkon beradi. Vertikal skanerlash (vblank) har birida qayta qo'ng'iroqlarni ishlatish o'rniga yangi kadrni ko'rsatishga tayyor, bu VSync-dan foydalanganda yuqori GPU yuki muammosini hal qiladi.
  • Xe2 arxitekturasiga asoslangan Intel GPUli tizimlarda chuqurlik buferi (z-bufer) siqish sukut bo'yicha yoqilgan.
  • Iris OpenGL drayveri va ANV Vulkan drayveri Panther Lake protsessorlarida joylashgan Xe3 arxitekturasiga asoslangan Intel GPU-lari uchun dastlabki yordamni qo'shdi.
  • NVK (NVIDIA) drayveriga Vulkan kengaytmalarini qo'llab-quvvatlash qo'shildi:
    • VK_EXT_descriptor_bufer
    • VK_EXT_post_chuqurligi_qamrovi
    • VK_EXT_legacy_vertex_atributlari
    • VK_KHR_ta'mirlash7
    • VK_KHR_dynamic_rendering_local_read
    • VK_NV_compute_shader_derivatives
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_host_image_copy (GPU Turing+ uchun)
    • VK_KHR_shader_quad_control
    • VK_KHR_fragment_soyalash_stavkasi
    • VK_EXT_chuqurlik_qisqichi_nol_bir
    • VK_EXT_device_generated_buyruqlar
  • RADV (AMD) drayveriga Vulkan kengaytmalarini qo'llab-quvvatlash qo'shildi:
    • VK_KHR_video_xizmati1
    • VK_KHR_pipeline_binary
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_device_generated_buyruqlar
    • VK_KHR_shader_relaxed_extended_ko'rsatmasi
  • Vulkan kengaytmalarini qo'llab-quvvatlash ANV drayveriga (Intel) qo'shildi
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_relaxed_extended_ko'rsatmasi
    • VK_EXT_chuqurlik_qisqich_nazorati
  • Havk drayveri (Intel Ivy Bridge, Haswell va Broadwell) Vulkan kengaytmalarini qo'llab-quvvatladi:
    • VK_EXT_chuqurlik_qisqich_nazorati
    • VK_KHR_shader_relaxed_extended_ko'rsatmasi
  • VK_KHR_shader_relaxed_extended_instruction Vulkan kengaytmasini qo'llab-quvvatlash hk, tu, v3dv va lvp drayverlariga qo'shildi.
  • Yangi OpenGL kengaytmalari uchun qo'shimcha qo'llab-quvvatlash:
    • radeonsi drayveridagi GL_KHR_shader_subgroup
    • Sink drayverida GL_OVR_multiview
    • Sink drayverida GL_OVR_multiview2
    • GL_ARB_draw_bilvosita etnaviv/HALTI5+ drayveriga
    • etnaviv/HALTI2+ drayverida GL_EXT_draw_buffers5
    • GL_ARB_draw_buffers_blend etnaviv/HALTI5+ drayverida
    • Etnaviv drayverida GL_ARB_framebuffer_no_attachments
    • Panfrost drayverida GL_ARB_taymer_so'rovi
    • Panfrost drayverida GL_EXT_disjoint_timer_query

Manba: opennet.ru

a Izoh qo'shish