OpenGL va Vulkan API-larining bepul amalga oshirilishi - Mesa 22.3.0 - nashr etildi. Mesa 22.3.0 filialining birinchi versiyasi eksperimental maqomga ega - kodning yakuniy barqarorlashuvidan so'ng barqaror 22.3.1 versiyasi chiqariladi.
Mesa 22.3 Vulkan 1.3 grafik API-ni Intel GPU'lari uchun anv, AMD GPU'lari uchun radv, Qualcomm GPU'lari uchun tu va emulyator rejimida (vn) qo'llab-quvvatlaydi. Vulkan 1.1-ni qo'llab-quvvatlash lavapipe (lvp) dasturiy ta'minot rasterizatorida va Vulkan 1.0 v3dv drayverida (Raspberry Pi 4-dan Broadcom VideoCore VI GPU) amalga oshiriladi.
Mesa shuningdek, 4.6, iris (Intel), radeonsi (AMD), zink va llvmpipe drayverlarini to'liq OpenGL 965 qo'llab-quvvatlaydi. OpenGL 4.5 qo‘llab-quvvatlashi AMD (r600), NVIDIA (nvc0) va Qualcomm Adreno (freedreno) grafik kartalari, virgl uchun OpenGL 4.3 (QEMU/KVM uchun virgil3D virtual GPU) va d4.2d3 drayverlari uchun OpenGL 12 (OpenG ni tashkil qilish qatlami) uchun mavjud. DirectX 12 ustida ishlash).
Asosiy innovatsiyalar:
- Qualcomm Adreno GPU'lari uchun freedreno drayveri OpenGL 4.5 grafik API-ni qo'llab-quvvatlaydi va emulyator drayveri (vn) Vulkan 1.3 API-ni qo'llab-quvvatlaydi.
- Panfrost drayveri diskdagi shaderlarni keshlash qobiliyatini amalga oshiradi va Mali T620 GPU-ni qo'llab-quvvatlaydi. Drayv OpenGL 3.1 spetsifikatsiyasi va OpenGL ES 3.1 bilan mos keladi.
- RADV (AMD) Vulkan drayveri GFX11/RDNA3 GPU (Radeon RX 7000 seriyali) uchun qo'shimcha qo'llab-quvvatladi. Nurlarni kuzatish uchun kod optimallashtirildi. R8G8B8, B8G8R8 va R16G16B16 piksel formatlarini, shuningdek, 64 bitli vertex bufer formatlarini qo'llab-quvvatlash qo'shildi. VK_EXT_extended_dynamic_state2 kengaytmasini qo'llab-quvvatlashni aniqlaydigan kengaytirilganDynamicState2PatchControlPoints bayrog'i uchun qo'shimcha yordam qo'shildi. Radeon Raytracing Analyzer o'rnatilgan.
- Paketga OpenCL 3.0 spetsifikatsiyasi amalga oshirilgan Rusticle drayveri kiradi, u API va C tilining kengaytmalarini o'zaro platforma parallel hisoblashni tashkil qilish uchun belgilaydi. Drayv Rust tilida yozilgan bo'lib, Mesa-da taqdim etilgan Gallium interfeysi yordamida ishlab chiqilgan va Mesa-da mavjud Clover OpenCL frontendining analogi sifatida ishlaydi. Clover uzoq vaqtdan beri tark etilgan va kelajakda uning o'rnini rustikl egallagan. Rust va rusticl uchun qoʻllab-quvvatlash sukut boʻyicha oʻchirib qoʻyilgan va “-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021” ochiq variantlari bilan tuzilishni talab qiladi. Qurilishda rustc kompilyatori, bog'lovchi biriktiruvchi generator, LLVM, SPIRV-Tools va SPIRV-LLVM-Translator qo'shimcha bog'liqliklar sifatida talab qilinadi.
- RadeonSI drayveri sukut bo'yicha OpenGL orqali ko'p tarmoqli renderlashni qo'llab-quvvatlaydi.
- Ma'lumotlarni bitta faylda saqlaydigan yangi turdagi shader keshi - Mesa-DB taqdim etildi.
- OpenGL kengaytmalari uchun qo'shimcha yordam:
- llvmpipe uchun GL_ARB_shader_clock.
- Sink uchun GL_KHR_blend_equation_advanced_cogerent.
- llvmpipe uchun GL_NV_shader_atomic_float.
- Vulkan kengaytmalari uchun qo'shimcha yordam:
- Lavapipe uchun VK_KHR_shader_soati.
- RADV, lavapipe uchun VK_EXT_attachment_feedback_loop_layout.
- RADV uchun VK_KHR_global_priority.
- RADV uchun VK_EXT_load_store_op_none.
- RADV uchun VK_EXT_mutable_descriptor_type.
- lvp uchun VK_EXT_shader_atomic_float.
- lvp uchun VK_EXT_shader_atomic_float2.
- v3dv uchun VK_EXT_image_robustness.
- Lavapipe, RADV va ANV uchun VK_EXT_extended_dynamic_state3.
- RADV uchun VK_EXT_extended_dynamic_state2.
- v3dv uchun VK_EXT_pipeline_robustness.
- ANV uchun VK_EXT_mesh_shader.
Manba: opennet.ru