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

Μετά από τρεις μήνες ανάπτυξης, δημοσιεύτηκε η κυκλοφορία μιας δωρεάν υλοποίησης του OpenGL και του Vulkan API - Mesa 21.2.0. Η πρώτη έκδοση του κλάδου Mesa 21.2.0 έχει πειραματική κατάσταση - μετά την τελική σταθεροποίηση του κώδικα, θα κυκλοφορήσει μια σταθερή έκδοση 21.2.1.

Το Mesa 21.2 περιλαμβάνει πλήρη υποστήριξη για 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, καθώς και σε λειτουργία εξομοιωτή (vn), η υποστήριξη Vulkan 1.1 είναι διαθέσιμη για GPU της Qualcomm και το πρόγραμμα rasterizer λογισμικού lavapipe και το Vulkan 1.0 είναι διαθέσιμο για GPU Broadcom VideoCore VI (Raspberry Pi 4). .

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

  • Το πρόγραμμα οδήγησης asahi OpenGL περιλαμβάνεται με αρχική υποστήριξη για την GPU που περιλαμβάνεται στα τσιπ Apple M1. Το πρόγραμμα οδήγησης χρησιμοποιεί τη διεπαφή Gallium και υποστηρίζει τις περισσότερες από τις δυνατότητες των OpenGL 2.1 και OpenGL ES 2.0, αλλά δεν είναι ακόμη κατάλληλο για την εκτέλεση των περισσότερων παιχνιδιών. Ο κωδικός προγράμματος οδήγησης βασίζεται στο πρόγραμμα οδήγησης noop αναφοράς Gallium, με κάποιο κωδικό να έχει μεταφερθεί από το πρόγραμμα οδήγησης Panfrost που αναπτύσσεται για την ARM Mali GPU.
  • Το πρόγραμμα οδήγησης Crocus OpenGL περιλαμβάνεται με υποστήριξη για παλαιότερες GPU της Intel (βασισμένες σε μικροαρχιτεκτονικές Gen4-Gen7), οι οποίες δεν υποστηρίζονται από το πρόγραμμα οδήγησης Iris. Σε αντίθεση με το πρόγραμμα οδήγησης i965, το νέο πρόγραμμα οδήγησης βασίζεται στην αρχιτεκτονική Gallium3D, η οποία αναθέτει εργασίες διαχείρισης μνήμης στο πρόγραμμα οδήγησης DRI στον πυρήνα Linux και παρέχει έναν έτοιμο ανιχνευτή κατάστασης με υποστήριξη για μια κρυφή μνήμη επαναχρησιμοποίησης αντικειμένων εξόδου.
  • Περιλαμβάνεται το πρόγραμμα οδήγησης PanVk, το οποίο παρέχει υποστήριξη για το API γραφικών Vulkan για τις GPU ARM Mali Midgard και Bifrost. Το PanVk αναπτύσσεται από υπαλλήλους της Collabora και τοποθετείται ως συνέχεια της ανάπτυξης του έργου Panfrost, το οποίο παρέχει υποστήριξη για το OpenGL.
  • Το πρόγραμμα οδήγησης Panfrost για τις Midgard GPU (Mali T760 και νεότερες) και τις Bifrost GPU (Mali G31, G52, G76) υποστηρίζει OpenGL ES 3.1. Τα μελλοντικά σχέδια περιλαμβάνουν εργασίες για την αύξηση της απόδοσης στα τσιπ Bifrost και την υλοποίηση υποστήριξης GPU με βάση την αρχιτεκτονική Valhall (Mali G77 και νεότερη).
  • Οι εκδόσεις x32 86 bit χρησιμοποιούν οδηγίες sse87 αντί για οδηγίες x2 για μαθηματικούς υπολογισμούς.
  • Το πρόγραμμα οδήγησης Nouveau nv50 για την GPU NVIDIA GT21x (GeForce GT 2×0) υποστηρίζει OpenGL ES 3.1.
  • Το πρόγραμμα οδήγησης Vulkan TURNIP και το πρόγραμμα οδήγησης OpenGL Freedreno, που αναπτύχθηκαν για την Qualcomm Adreno GPU, έχουν αρχική υποστήριξη για την GPU Adreno a6xx gen4 (a660, a635).
  • Το πρόγραμμα οδήγησης Vulkan RADV (AMD) έχει προσθέσει υποστήριξη για πρωτόγονη σφαγή χρησιμοποιώντας κινητήρες σκίασης NGG (Next-Gen Geometry). Έχει υλοποιηθεί η δυνατότητα δημιουργίας του προγράμματος οδήγησης RADV στην πλατφόρμα των Windows χρησιμοποιώντας τον μεταγλωττιστή MSVC.
  • Πραγματοποιήθηκαν προπαρασκευαστικές εργασίες στο πρόγραμμα οδήγησης ANV Vulkan (Intel) και στο πρόγραμμα οδήγησης Iris OpenGL για την παροχή υποστήριξης για τις επερχόμενες κάρτες γραφικών Intel Xe-HPG (DG2). Αυτό περιλαμβάνει αρχικά χαρακτηριστικά που σχετίζονται με την ανίχνευση ακτίνων και την υποστήριξη για σκίαστρους ανίχνευσης ακτίνων.
  • Το πρόγραμμα οδήγησης lavapipe, το οποίο εφαρμόζει έναν ραστεροποιητή λογισμικού για το Vulkan API (ανάλογο με το llvmpipe, αλλά για το Vulkan, που μεταφράζει τις κλήσεις Vulkan API στο Gallium API), υποστηρίζει τη λειτουργία "wideLines" (παρέχει υποστήριξη για γραμμές με πλάτος που υπερβαίνει το 1.0).
  • Υλοποιήθηκε υποστήριξη για δυναμική ανακάλυψη και φόρτωση εναλλακτικών backend GBM (Generic Buffer Manager). Η αλλαγή στοχεύει στη βελτίωση της υποστήριξης Wayland σε συστήματα με προγράμματα οδήγησης NVIDIA.
  • Το πρόγραμμα οδήγησης Zink (μια υλοποίηση του OpenGL API πάνω από το Vulkan, το οποίο σας επιτρέπει να λαμβάνετε το OpenGL με επιτάχυνση υλικού, εάν το σύστημα έχει προγράμματα οδήγησης που περιορίζονται στην υποστήριξη μόνο του Vulkan API) υποστηρίζει επεκτάσεις OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_te_mafil_ARB _shader_clock. Προστέθηκαν τροποποιητές μορφής DRM (Διαχείριση άμεσης απόδοσης, ενεργοποιημένη η επέκταση VK_EXT_image_drm_format_modifier).
  • Η υποστήριξη για επεκτάσεις έχει προστεθεί στα προγράμματα οδήγησης Vulkan RADV (AMD), ANV (Intel) και lavapipe:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts(lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavappipe).

Πηγή: opennet.ru

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