Rilis Mesa 21.0, implementasi gratis OpenGL dan Vulkan

Rilis implementasi gratis OpenGL dan Vulkan API - Mesa 21.0.0 disajikan. Rilis pertama cabang Mesa 21.0.0 memiliki status eksperimental - setelah stabilisasi akhir kode, versi stabil 21.0.1 akan dirilis. Mesa 21.0 memiliki 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 OpenGL 4.3 untuk virgl (GPU virtual Virgil3D untuk QEMU/KVM). Vulkan 1.2 didukung untuk kartu Intel dan AMD, dan Vulkan 1.0 untuk VideoCore VI (Raspberry Pi 4).

Inovasi utama:

  • Driver Zink (implementasi OpenGL API di atas Vulkan) menyediakan dukungan untuk OpenGL 4.6. Zink memungkinkan Anda mendapatkan OpenGL yang dipercepat perangkat keras jika Anda memiliki driver di sistem Anda yang terbatas hanya mendukung Vulkan API. Performa Zink mendekati implementasi OpenGL asli.
  • Driver llvmpipe, yang dirancang untuk rendering perangkat lunak, mendukung OpenGL 4.6.
  • Driver Freedreno, yang digunakan untuk subsistem grafis Qualcomm, mendukung OpenGL ES 6 untuk GPU Adreno a3.0xx.
  • Driver Panfrost untuk GPU Midgard (Mali-T7xx, Mali-T8xx) dan Bifrost (Mali G3x, G5x, G7x) mendukung OpenGL 3.1, serta dukungan OpenGL ES 3.0 untuk GPU Bifrost.
  • Driver radeonsi mendukung ekstensi OpenGL GL_EXT_demote_to_helper_invocation dan GL_NV_compute_shader_derivatives. Untuk game "Counter-Strike: Global Offensive" mode optimasi "mesa_glthread" diaktifkan secara default, yang memungkinkan peningkatan kinerja sebesar 10-20%. Pengoptimalan yang diterapkan yang memengaruhi kelulusan pengujian SPECViewPerf. Menambahkan dukungan untuk alat pembuatan profil Radeon GPU Profiler (RGP). Menambahkan dukungan teknologi Smart Access Memory untuk GPU Zen 3 dan RDNA 2. Menambahkan dukungan untuk encoder HEVC SAO (Sample Adaptive Offset, untuk GPU yang mendukung mesin VCN2, VCN2.5 dan VCN3) dan decoder AV1 (untuk RDNA 2/RX 6000 dan hanya melalui antarmuka OpenMAX).
  • Driver RADV Vulkan (untuk kartu AMD) menambahkan dukungan untuk matematika cepat (vektorisasi 16-bit) dan memori Sparse (memungkinkan Anda menata sumber daya seperti gambar dan tekstur secara tidak konsisten dan menyambungkannya kembali ke alokasi memori yang berbeda). Performa yang dioptimalkan untuk kartu seri RX 6000. Menambahkan ekstensi VK_VALVE_mutable_descriptor_type dan VK_KHR_fragment_shading_rate (khusus RDNA2).
  • Driver Intel ANV dan Iris menambahkan optimalisasi kinerja dan menawarkan dukungan awal untuk ekstensi penelusuran sinar Vulkan yang diterapkan pada kartu grafis Xe HPG.
  • Menambahkan dukungan untuk ekstensi EGL_MESA_platform_xcb, yang memungkinkan aplikasi membuat sumber daya EGL dari sumber daya X11 tanpa menggunakan Xlib.
  • Driver Vulkan V3DV, yang dikembangkan untuk akselerator grafis VideoCore VI yang digunakan pada papan Raspberry Pi 4 berdasarkan chip Broadcom BCM2711, telah menambahkan dukungan untuk Wayland WSI (Windowing System Integration), yang memungkinkan akses API Vulkan dari lingkungan berbasis Wayland.
  • Implementasi awal lapisan yang menerjemahkan panggilan OpenGL ke DirectX 12 API diadopsi untuk mengatur kerja aplikasi grafis di lingkungan WSL (Windows Subsystem for Linux). Selain itu, perpustakaan spirv_to_dxil untuk mengonversi representasi perantara shader SPIR-V ke DXIL (DirectX Intermediate Language) yang dikembangkan oleh Microsoft juga disertakan.
  • Mendesain ulang dan meningkatkan dukungan secara signifikan untuk Haiku OS.
  • Menghapus pengaturan glx_disable_oml_sync_control, glx_disable_sgi_video_sync dan glx_disable_ext_buffer_age dari driconf.
  • Menghapus dukungan untuk DRI1 dan berhenti memuat driver DRI dari versi Mesa di bawah 8.0.
  • Menghapus driver swrast, yang dibuat berdasarkan antarmuka DRI klasik dan ditujukan untuk rendering perangkat lunak OpenGL (driver rendering perangkat lunak lainnya llvmpipe dan softpipe terasa lebih unggul dari swrast dalam hal kinerja dan fungsionalitas). Penghapusan swrast difasilitasi oleh adanya banyak masalah yang belum terselesaikan dan terjadinya regresi, meskipun driver ini tidak lagi digunakan dalam distribusi.
  • Versi klasik lama dari OSMesa API telah dihapus (OSMesa berbasis Gallium tersisa), yang memungkinkan rendering bukan ke layar, tetapi ke buffer di memori.

    Sumber: opennet.ru

Tambah komentar