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

Παρουσιάζεται η κυκλοφορία της δωρεάν υλοποίησης των OpenGL και Vulkan API - Mesa 21.0.0. Η πρώτη έκδοση του κλάδου Mesa 21.0.0 έχει πειραματική κατάσταση - μετά την τελική σταθεροποίηση του κώδικα, θα κυκλοφορήσει μια σταθερή έκδοση 21.0.1. Το Mesa 21.0 έχει πλήρη υποστήριξη 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.0 για VideoCore VI (Raspberry Pi 4).

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

  • Το πρόγραμμα οδήγησης Zink (μια υλοποίηση του OpenGL API πάνω από το Vulkan) παρέχει υποστήριξη για το OpenGL 4.6. Το Zink σάς επιτρέπει να αποκτήσετε επιτάχυνση υλικού OpenGL εάν έχετε προγράμματα οδήγησης στο σύστημά σας που περιορίζονται στην υποστήριξη μόνο του Vulkan API. Η απόδοση του Zink είναι κοντά σε αυτήν των εγγενών εφαρμογών OpenGL.
  • Το πρόγραμμα οδήγησης llvmpipe, σχεδιασμένο για απόδοση λογισμικού, υποστηρίζει OpenGL 4.6.
  • Το πρόγραμμα οδήγησης Freedreno, το οποίο χρησιμοποιείται για το υποσύστημα γραφικών των τσιπ της Qualcomm, υποστηρίζει το OpenGL ES 6 για την GPU Adreno a3.0xx.
  • Το πρόγραμμα οδήγησης Panfrost για GPU Midgard (Mali-T7xx, Mali-T8xx) και Bifrost (Mali G3x, G5x, G7x) υποστηρίζει OpenGL 3.1, καθώς και υποστήριξη για OpenGL ES 3.0 για GPU Bifrost.
  • Το πρόγραμμα οδήγησης radeonsi υποστηρίζει τις επεκτάσεις OpenGL GL_EXT_demote_to_helper_invocation και GL_NV_compute_shader_derivatives. Για το παιχνίδι "Counter-Strike: Global Offensive" η λειτουργία βελτιστοποίησης "mesa_glthread" είναι ενεργοποιημένη από προεπιλογή, η οποία επιτρέπει την αύξηση της απόδοσης κατά 10-20%. Εφαρμόστηκαν βελτιστοποιήσεις που επηρεάζουν την επιτυχία των δοκιμών SPECViewPerf. Προστέθηκε υποστήριξη για το εργαλείο δημιουργίας προφίλ Radeon GPU Profiler (RGP). Προστέθηκε υποστήριξη για τεχνολογία Smart Access Memory για GPU Zen 3 και RDNA 2. Προστέθηκε υποστήριξη για κωδικοποιητές HEVC SAO (Sample Adaptive Offset, για GPU που υποστηρίζουν κινητήρες VCN2, VCN2.5 και VCN3) και αποκωδικοποιητές AV1 (για RDNA 2/RX 6000 και μόνο μέσω της διεπαφής OpenMAX).
  • Το πρόγραμμα οδήγησης RADV Vulkan (για κάρτες AMD) προσθέτει υποστήριξη για Rapid packed math (16-bit vectorization) και Sparse memory (σας επιτρέπει να τοποθετείτε πόρους όπως εικόνες και υφές με ασυνέπεια και να τους επανασυνδέετε σε διαφορετικές εκχωρήσεις μνήμης). Βελτιστοποιημένη απόδοση για κάρτες της σειράς RX 6000. Προστέθηκαν επεκτάσεις VK_VALVE_mutable_descriptor_type και VK_KHR_fragment_shading_rate (μόνο RDNA2).
  • Τα προγράμματα οδήγησης Intel ANV και Iris προσθέτουν βελτιστοποιήσεις απόδοσης και προσφέρουν αρχική υποστήριξη για επεκτάσεις ανίχνευσης ακτίνων Vulkan που υλοποιούνται σε κάρτες γραφικών Xe HPG.
  • Προστέθηκε υποστήριξη για την επέκταση EGL_MESA_platform_xcb, η οποία επιτρέπει στις εφαρμογές να δημιουργούν πόρους EGL από πόρους X11 χωρίς τη χρήση Xlib.
  • Το πρόγραμμα οδήγησης Vulkan V3DV, που αναπτύχθηκε για τον επιταχυντή γραφικών VideoCore VI που χρησιμοποιείται σε πλακέτες Raspberry Pi 4 με βάση το τσιπ Broadcom BCM2711, έχει προσθέσει υποστήριξη για το Wayland WSI (Windowing System Integration), το οποίο επιτρέπει την πρόσβαση στο Vulkan API από περιβάλλοντα που βασίζονται στο Wayland.
  • Η αρχική υλοποίηση του επιπέδου που μεταφράζει τις κλήσεις OpenGL στο DirectX 12 API υιοθετήθηκε για την οργάνωση της εργασίας των εφαρμογών γραφικών στο περιβάλλον WSL (Windows Subsystem for Linux). Επιπλέον, περιλαμβάνεται η βιβλιοθήκη spirv_to_dxil για τη μετατροπή της ενδιάμεσης αναπαράστασης των shaders SPIR-V σε DXIL (DirectX Intermediate Language), που αναπτύχθηκε από τη Microsoft.
  • Επανασχεδιασμένη και σημαντικά βελτιωμένη υποστήριξη για το Haiku OS.
  • Καταργήθηκαν οι ρυθμίσεις glx_disable_oml_sync_control, glx_disable_sgi_video_sync και glx_disable_ext_buffer_age από το driconf.
  • Καταργήθηκε η υποστήριξη για DRI1 και διέκοψε τη φόρτωση προγραμμάτων οδήγησης DRI από εκδόσεις του Mesa κάτω από την έκδοση 8.0.
  • Καταργήθηκε το πρόγραμμα οδήγησης swrast, που δημιουργήθηκε με βάση την κλασική διεπαφή DRI και προορίζεται για απόδοση λογισμικού OpenGL (τα υπόλοιπα προγράμματα οδήγησης απόδοσης λογισμικού llvmpipe και softpipe είναι αισθητά πιο μπροστά από το swrast όσον αφορά την απόδοση και τη λειτουργικότητα). Η αφαίρεση του swrast διευκολύνθηκε από την παρουσία πολλών ανεπίλυτων προβλημάτων και την εμφάνιση παλινδρομήσεων, παρά το γεγονός ότι αυτό το πρόγραμμα οδήγησης δεν χρησιμοποιείται πλέον στις διανομές.
  • Η παλιά κλασική έκδοση του OSMesa API έχει αφαιρεθεί (το OSMesa με βάση το Gallium έχει απομείνει), το οποίο επιτρέπει την απόδοση όχι στην οθόνη, αλλά σε ένα buffer στη μνήμη.

    Πηγή: opennet.ru

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