Δημοσιεύτηκε το πρότυπο γραφικών Vulkan 1.2

Η κοινοπραξία Khronos, η οποία αναπτύσσει πρότυπα γραφικών,
δημοσιεύεται προσδιορισμός Vulkan 1.2, το οποίο ορίζει ένα API για πρόσβαση στα γραφικά και τις υπολογιστικές δυνατότητες της GPU. Η νέα προδιαγραφή ενσωματώνει διορθώσεις που συσσωρεύτηκαν σε διάστημα δύο ετών και επεκτάσεις. Τα προγράμματα οδήγησης που υποστηρίζουν τη νέα έκδοση του Vulkan είναι ήδη κυκλοφόρησε εταιρεία Intel, AMD, ARM, Imagination Technologies και NVIDIA. Η Mesa προσφέρει υποστήριξη Vulkan 1.2 για προγράμματα οδήγησης Radv (κάρτες AMD) και ANV (Intel). Η υποστήριξη Vulkan 1.2 υλοποιείται επίσης στο πρόγραμμα εντοπισμού σφαλμάτων RenderDoc 1.6, LunarG Vulkan SDK και ένα σύνολο παραδειγμάτων Vulkan-Samples.

Ο κύριος καινοτομίες:

  • Σου έφερε εφαρμογή μιας γλώσσας προγραμματισμού shader μέχρι να είναι έτοιμη για ευρεία χρήση HLSL, που αναπτύχθηκε από τη Microsoft για DirectX. Η υποστήριξη HLSL στο Vulkan καθιστά δυνατή τη χρήση των ίδιων shaders HLSL σε εφαρμογές που βασίζονται σε Vulkan και DirectX και επίσης απλοποιεί τη μετάφραση από HLSL σε SPIR-V. Για τη μεταγλώττιση των shaders, προτείνεται η χρήση ενός τυπικού μεταγλωττιστή
    DXC, το οποίο άνοιξε η Microsoft το 2017 και βασίζεται στην τεχνολογία LLVM. Η υποστήριξη Vulkan υλοποιείται μέσω ενός ξεχωριστού backend, το οποίο σας επιτρέπει να μεταφράσετε το HLSL σε μια ενδιάμεση αναπαράσταση των shaders SPIR-V. Η υλοποίηση καλύπτει όχι μόνο όλες τις ενσωματωμένες δυνατότητες
    HLSL, συμπεριλαμβανομένων μαθηματικών τύπων, ροών ελέγχου, συναρτήσεων, συνόλων, τύπων πόρων, χώρων ονομάτων, Shader Model 6.2, δομών και μεθόδων, αλλά επιτρέπει επίσης τη χρήση επεκτάσεων ειδικά για το Vulkan, όπως το VKRay από την NVIDIA. Στη λειτουργία HLSL πάνω από το Vulkan, ήταν δυνατή η οργάνωση της δουλειάς παιχνιδιών όπως το Destiny 2, το Red Dead Redemption II, το Assassin’s Creed Odyssey και το Tomb Raider.

    Δημοσιεύτηκε το πρότυπο γραφικών Vulkan 1.2

  • Η προδιαγραφή ενημερώθηκε SPIR-V 1.5, το οποίο ορίζει μια ενδιάμεση αναπαράσταση των shaders που είναι καθολική για όλες τις πλατφόρμες και μπορεί να χρησιμοποιηθεί τόσο για γραφικά όσο και για παράλληλους υπολογιστές.
    Το SPIR-V περιλαμβάνει τον διαχωρισμό μιας ξεχωριστής φάσης μεταγλώττισης shader σε μια ενδιάμεση αναπαράσταση, η οποία σας επιτρέπει να δημιουργήσετε frontends για διάφορες γλώσσες υψηλού επιπέδου. Με βάση διάφορες υλοποιήσεις υψηλού επιπέδου, δημιουργείται ξεχωριστά ένας ενδιάμεσος κώδικας, ο οποίος μπορεί να χρησιμοποιηθεί από προγράμματα οδήγησης OpenGL, Vulkan και OpenCL χωρίς τη χρήση του ενσωματωμένου μεταγλωττιστή shader.

    Δημοσιεύτηκε το πρότυπο γραφικών Vulkan 1.2

  • Ο πυρήνας Vulkan API περιλαμβάνει 23 επεκτάσεις που αυξάνουν την απόδοση, βελτιώνουν την ποιότητα απόδοσης και απλοποιούν την ανάπτυξη. Μεταξύ των προστιθέμενων επεκτάσεων:
    • Χρονολογικοί σηματοφόροι (Semaphore Timeline), ενοποιώντας τον συγχρονισμό με τις ουρές κεντρικού υπολογιστή και συσκευής (που σας επιτρέπει να χρησιμοποιήσετε ένα πρωτόγονο για συγχρονισμό πανκατευθυντικών μεταξύ της συσκευής και του κεντρικού υπολογιστή, χωρίς τη χρήση ξεχωριστών αρχικών VkFence και VkSemaphore). Οι νέοι σηματοφόροι αντιπροσωπεύονται από μια μονότονα αυξανόμενη τιμή 64-bit που μπορεί να παρακολουθηθεί και να ενημερωθεί σε πολλαπλά νήματα.
      Δημοσιεύτηκε το πρότυπο γραφικών Vulkan 1.2

    • Δυνατότητα χρήσης αριθμητικών τύπων με μειωμένη ακρίβεια σε shaders.
    • Επιλογή διάταξης μνήμης συμβατή με HLSL.
    • Μη δεσμευμένοι πόροι (bindless), ο οποίος καταργεί τον περιορισμό στον αριθμό των πόρων που είναι διαθέσιμοι στους shaders χρησιμοποιώντας τον κοινόχρηστο εικονικό χώρο της μνήμης συστήματος και της μνήμης GPU.
    • Επίσημο μοντέλο μνήμης, το οποίο ορίζει πώς τα ταυτόχρονα νήματα μπορούν να έχουν πρόσβαση σε κοινόχρηστα δεδομένα και λειτουργίες συγχρονισμού.
    • Ευρετηρίαση περιγραφέα να επαναχρησιμοποιήσει περιγραφείς διάταξης σε πολλούς σκιαδόρους.
    • Buffer links.

    Πλήρης λίστα με τις επεκτάσεις που προστέθηκαν:

  • Προστέθηκε από περισσότερες από 50 νέες δομές και 13 λειτουργίες.
  • Οι συντομευμένες εκδόσεις των προδιαγραφών έχουν προετοιμαστεί για τυπικές πλατφόρμες-στόχους, απλοποιώντας την εργασία σε πλατφόρμες για τις οποίες δεν υποστηρίζονται ακόμη όλες οι επεκτάσεις και επιτρέποντας σε κάποιον να κάνει χωρίς επιλεκτική ενεργοποίηση των βασικών δυνατοτήτων του Vulkan API.
  • Συνεχίζονται οι εργασίες για το έργο για να διασφαλιστεί η φορητότητα με άλλα API γραφικών. Για παράδειγμα, η Vulkan προσφέρει επεκτάσεις που επιτρέπουν τη μετάφραση OpenGL (Zink), OpenCL (clspv, clvk), OpenGL ES (GLOVE, Angle) και DirectX (DXVK, vkd3d) μέσω του Vulkan API και επίσης, αντιστρόφως, να επιτρέψει στον Vulkan να εργάζεται σε πλατφόρμες χωρίς την εγγενή του υποστήριξη (gfx-rs и Τέφρα για εργασία πάνω από OpenGL και DirectX, MoltenVK και gfx-rs για εργασία πάνω από μέταλλο).
    Προστέθηκαν επεκτάσεις για βελτίωση της συμβατότητας με DirectX και HLSL
    VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layout, VK_KHR_separate_stencil_usage, VK_KHR_separate_depth_stencil_layouts και το SPIR-V υλοποιεί συγκεκριμένες δυνατότητες HL.

Τα σχέδια για το μέλλον περιλαμβάνουν την ανάπτυξη επεκτάσεων για μηχανική εκμάθηση, ανίχνευση ακτίνων, κωδικοποίηση και αποκωδικοποίηση βίντεο, υποστήριξη για VRS (σκίαση μεταβλητού ρυθμού) και σκίαστρες πλέγματος.

Θυμηθείτε ότι το Vulkan API αξιοσημείωτος ριζική απλοποίηση προγραμμάτων οδήγησης, μετακίνηση της δημιουργίας εντολών GPU στην πλευρά της εφαρμογής, δυνατότητα σύνδεσης επιπέδων εντοπισμού σφαλμάτων, ενοποίηση του API για διάφορες πλατφόρμες και χρήση μιας προμεταγλωττισμένης ενδιάμεσης αναπαράστασης κώδικα για εκτέλεση στην πλευρά της GPU. Για να διασφαλίσει υψηλή απόδοση και προβλεψιμότητα, το Vulkan παρέχει στις εφαρμογές άμεσο έλεγχο των λειτουργιών GPU και εγγενή υποστήριξη για GPU multi-threading, η οποία ελαχιστοποιεί την επιβάρυνση του προγράμματος οδήγησης και καθιστά τις δυνατότητες από την πλευρά του προγράμματος οδήγησης πολύ απλούστερες και πιο προβλέψιμες. Για παράδειγμα, λειτουργίες όπως η διαχείριση μνήμης και ο χειρισμός σφαλμάτων, που υλοποιούνται στο OpenGL στην πλευρά του προγράμματος οδήγησης, μετακινούνται στο επίπεδο εφαρμογής στο Vulkan.

Το Vulkan εκτείνεται σε όλες τις διαθέσιμες πλατφόρμες και παρέχει ένα ενιαίο API για επιτραπέζιους υπολογιστές, κινητά και web, επιτρέποντας τη χρήση ενός κοινού API σε πολλές GPU και εφαρμογές. Χάρη στην αρχιτεκτονική πολλαπλών επιπέδων του Vulkan, που σημαίνει εργαλεία που λειτουργούν με οποιαδήποτε GPU, οι OEM μπορούν να χρησιμοποιούν βιομηχανικά πρότυπα εργαλεία για έλεγχο κώδικα, εντοπισμό σφαλμάτων και δημιουργία προφίλ κατά την ανάπτυξη. Για τη δημιουργία shaders, προτείνεται μια νέα φορητή ενδιάμεση αναπαράσταση, το SPIR-V, που βασίζεται στο LLVM και στην κοινή χρήση βασικών τεχνολογιών με το OpenCL. Για τον έλεγχο συσκευών και οθονών, η Vulkan προσφέρει τη διεπαφή WSI (Window System Integration), η οποία επιλύει περίπου τα ίδια προβλήματα με το EGL στο OpenGL ES. Η υποστήριξη WSI είναι διαθέσιμη εξαρχής στο Wayland - όλες οι εφαρμογές που χρησιμοποιούν Vulkan μπορούν να εκτελεστούν σε περιβάλλον μη τροποποιημένων διακομιστών Wayland. Η δυνατότητα εργασίας μέσω WSI παρέχεται επίσης για Android, X11 (με DRI3), Windows, Tizen, macOS και iOS.

Πηγή: opennet.ru

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