Κυκλοφορία του Mesa 21.1, μια δωρεάν εφαρμογή των OpenGL και Vulkan

Παρουσιάστηκε η κυκλοφορία της δωρεάν υλοποίησης των OpenGL και Vulkan API - Mesa 21.1.0. Η πρώτη έκδοση του κλάδου Mesa 21.1.0 έχει πειραματική κατάσταση - μετά την τελική σταθεροποίηση του κώδικα, θα κυκλοφορήσει μια σταθερή έκδοση 21.1.1. Το Mesa 21.1 περιλαμβάνει πλήρη υποστήριξη για OpenGL 4.6 για τα προγράμματα οδήγησης 965, iris (Intel), radeonsi (AMD), zink και llvmpipe. Η υποστήριξη OpenGL 4.5 είναι διαθέσιμη για GPU AMD (r600) και NVIDIA (nvc0) και υποστήριξη OpenGL 4.3 για virgl (Virgil3D virtual GPU για QEMU/KVM). Η υποστήριξη Vulkan 1.2 υλοποιείται για κάρτες Intel και AMD, Vulkan 1.1 για GPU Qualcomm και το πρόγραμμα rasterizer λογισμικού lavapipe και Vulkan 1.0 για επεξεργαστές Broadcom VideoCore VI (Raspberry Pi 4).

Βασικές καινοτομίες:

  • Η υποστήριξη για τις επεκτάσεις VK_KHR_workgroup_memory_explicit_layout και VK_KHR_zero_initialize_workgroup_memory έχει προστεθεί στα προγράμματα οδήγησης Vulkan RADV (AMD) και ANV (Intel).
  • Η υποστήριξη για τροποποιητές μορφής DRM έχει προστεθεί στο πρόγραμμα οδήγησης RADV (για κάρτες AMD GFX9) (η επέκταση VK_EXT_image_drm_format_modifier είναι ενεργοποιημένη).
  • Το πρόγραμμα οδήγησης RADV περιλαμβάνει υποστήριξη VRS (Variable Rate Shading) για χρήση με τυχόν buffer βάθους. Το VRS βελτιώνει την παραγωγικότητα με το κόστος της ποιότητας.
  • Προστέθηκε υποστήριξη για GPU AMD Aldebaran (gfx90a).
  • Προστέθηκε ένα νέο πρόγραμμα οδήγησης Venus με μια εικονική υλοποίηση GPU (virtio-gpu) που βασίζεται στο Vulkan API.
  • Το πρόγραμμα οδήγησης Zink (μια υλοποίηση του OpenGL API πάνω από το Vulkan) περιλαμβάνει υποστήριξη για OpenGL 4.6 και OpenGL ES 3.1. Το Zink σάς επιτρέπει να λαμβάνετε OpenGL με επιτάχυνση υλικού, εάν το σύστημα έχει προγράμματα οδήγησης που περιορίζονται στην υποστήριξη μόνο του Vulkan API. Η απόδοση του Zink είναι κοντά σε αυτήν των εγγενών εφαρμογών OpenGL.
  • Το πρόγραμμα οδήγησης lavapipe με την υλοποίηση ενός ραστεροποιητή λογισμικού για το Vulkan API (ανάλογο με το llvmpipe, αλλά για το Vulkan) πρόσθεσε υποστήριξη για το Vulkan 1.1 και υλοποίησε την επέκταση Vulkan VK_KHR_copy_commands2. Η εφαρμογή λογισμικού στο lavapipe βασίζεται στον αντικατοπτρισμό κλήσεων Vulkan API στο Gallium API.
  • Προστέθηκε υποστήριξη για την αποθήκευση κρυφών μνήμης shader σε ένα αρχείο.
  • Τα προγράμματα οδήγησης Virgl (Virtual GPU Virgil3D για QEMU/KVM) και Lima (ARM Mali GPU) παρέχουν υποστήριξη για προσωρινή αποθήκευση shaders στο δίσκο.
  • Το πρόγραμμα οδήγησης Gallium D3D12 με ένα στρώμα για την οργάνωση της εργασίας OpenGL πάνω από το DirectX 12 API (D3D12) διασφαλίζει τη συμβατότητα με το OpenGL 3.3 όταν εργάζεστε πάνω από τα προγράμματα οδήγησης D3D12 WARP (λογισμικό rasterizer) και NVIDIA. Το πρόγραμμα οδήγησης χρησιμοποιείται στο επίπεδο WSL2 για την εκτέλεση εφαρμογών γραφικών Linux στα Windows.
  • Προστέθηκαν νέες επεκτάσεις OpenGL:
    • GL_EXT_depth_bounds_test για προγράμματα οδήγησης softpipe και zink
    • GL_EXT_texture_filter_minmax για πρόγραμμα οδήγησης nvc0 (gm200+)
    • GL_ARB_texture_filter_minmax για πρόγραμμα οδήγησης nvc0 (gm200+)
    • GL_ARB_post_depth_coverage για το πρόγραμμα οδήγησης zink.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο