Rilis Mesa 22.1, implementasi gratis OpenGL dan Vulkan

Setelah dua bulan pengembangan, rilis implementasi gratis OpenGL dan Vulkan API - Mesa 22.1.0 - diterbitkan. Rilis pertama cabang Mesa 22.1.0 memiliki status eksperimental - setelah stabilisasi akhir kode, versi stabil 22.1.1 akan dirilis.

Di Mesa 22.1, dukungan untuk API grafis Vulkan 1.3 tersedia di driver anv untuk GPU Intel, radv untuk GPU AMD, dan rasterizer perangkat lunak lavapipe. Dukungan untuk Vulkan 1.2 diimplementasikan dalam mode emulator (vn), Vulkan 1.1 diimplementasikan dalam driver untuk GPU Qualcomm (tu). dan Vulkan 1.0 pada driver untuk GPU Broadcom VideoCore VI (Raspberry Pi 4). Mesa juga menyediakan dukungan penuh OpenGL 4.6 untuk driver 965, iris (Intel), radeonsi (AMD), zink, dan llvmpipe. Dukungan OpenGL 4.5 tersedia untuk GPU AMD (r600) dan NVIDIA (nvc0), dan dukungan OpenGL 4.3 untuk virgl (GPU virtual Virgil3D untuk QEMU/KVM) dan vmwgfx (VMware).

Inovasi utama:

  • Driver ANV Vulkan (Intel) dan driver Iris OpenGL mendukung kartu grafis diskrit Intel DG2 (Arc Alchemist) dan Arctic Sound-M.
  • Driver D3D12 dengan lapisan untuk mengatur pekerjaan OpenGL di atas DirectX 12 API (D3D12) memastikan kompatibilitas dengan OpenGL 4.2. Driver digunakan di lapisan WSL2 untuk menjalankan aplikasi grafis Linux di Windows.
  • Driver lavapipe, yang mengimplementasikan rasterizer perangkat lunak untuk Vulkan API (mirip dengan llvmpipe, tetapi untuk Vulkan, menerjemahkan panggilan Vulkan API ke Gallium API), mendukung Vulkan 1.3.
  • Menambahkan dukungan untuk GPU AMD GFX1036 dan GFX1037.
  • Driver RADV (AMD) telah menerapkan pemusnahan primitif sinar, yang meningkatkan dukungan penelusuran sinar untuk game seperti DOOM Eternal.
  • Implementasi awal driver Vulkan untuk GPU berdasarkan arsitektur PowerVR Rogue yang dikembangkan oleh Imagination telah diusulkan.
  • Driver Nouveau untuk GPU GeForce 6/7/8 lama telah dikonversi untuk menggunakan representasi perantara (IR) tanpa tipe dari shader NIR. Dukungan NIR juga memungkinkan Anda mendapatkan dukungan untuk representasi perantara TGSI (Tungsten Graphics Shader Infrastructure) melalui penggunaan lapisan untuk menerjemahkan NIR ke TGSI.
  • Komposisinya mencakup kompiler OpenCL kompak, diusulkan oleh Intel dan digunakan untuk ray tracing.
  • Driver OpenGL v3d, yang dikembangkan untuk akselerator grafis VideoCore VI, digunakan mulai dari model Raspberry Pi 4, mengimplementasikan dukungan untuk caching shader pada disk.
  • Untuk GPU AMD yang dilengkapi dengan mesin pemrosesan video VCN 2.0, dukungan EFC (Encoder Format Conversion) telah diterapkan, memungkinkan penggunaan encoder video perangkat keras untuk langsung membaca permukaan RGB tanpa konversi RGB->YUV yang dilakukan oleh shader.
  • Driver Crocus, yang dikembangkan untuk GPU Intel lama berdasarkan mikroarsitektur Gen4-Gen7 yang tidak didukung oleh driver Iris, menyertakan profil kompatibilitas dengan OpenGL versi lama.
  • Driver PanVk, yang menyediakan dukungan untuk API grafis Vulkan untuk GPU ARM Mali Midgard dan Bifrost, telah mulai bekerja untuk mendukung shader komputer.
  • Driver Venus dengan implementasi GPU virtual (virtio-gpu) berdasarkan Vulkan API telah menambahkan dukungan untuk lapisan ANGLE, yang bertanggung jawab untuk menerjemahkan panggilan OpenGL ES ke OpenGL, Direct3D 9/11, Desktop GL dan Vulkan.
  • Menambahkan dukungan untuk ekstensi OpenGL NVIDIA GL_NV_pack_subimage, yang dirancang untuk memperbarui persegi panjang di memori host menggunakan data dari framebuffer atau tekstur.
  • Dukungan untuk ekstensi telah ditambahkan ke driver Vulkan RADV (AMD), ANV (Intel) dan lavapipe:
    • VK_EXT_ depth_clip_control untuk lavapipe dan RADV.
    • VK_EXT_graphics_pipeline_library untuk pipa lava.
    • VK_EXT_primitives_generated_query untuk pipa lava.
    • VK_EXT_image_2d_view_of_3d untuk ANV dan lavapipe.
    • VK_KHR_swapchain_mutable_format untuk pipa lava.

Sumber: opennet.ru

Tambah komentar