Το πρόγραμμα οδήγησης RADV Vulkan έχει αλλάξει για να χρησιμοποιεί το backend μεταγλώττισης shader ACO

Στη βάση κώδικα που χρησιμοποιείται για τη δημιουργία της έκδοσης Mesa 20.2, εφαρμόστηκε αλλαγή του RADV, του προγράμματος οδήγησης Vulkan για τσιπ AMD, για χρήση του προεπιλεγμένου backend για τη μεταγλώττιση shaders "ACO», το οποίο αναπτύσσεται από τη Valve ως εναλλακτική λύση στον μεταγλωττιστή shader LLVM. Αυτή η αλλαγή θα οδηγήσει σε αυξημένη απόδοση του παιχνιδιού και μειωμένο χρόνο εκκίνησης. Για να επιστρέψετε το παλιό backend, παρέχεται η μεταβλητή περιβάλλοντος "RADV_DEBUG=llvm".

Η εναλλαγή του προγράμματος οδήγησης RADV στο νέο backend κατέστη δυνατή αφού το ACO πέτυχε ισοτιμία στη λειτουργικότητα με το παλιό backend που αναπτύχθηκε από την AMD για το πρόγραμμα οδήγησης AMDGPU, το οποίο συνεχίζει να χρησιμοποιείται στο πρόγραμμα οδήγησης RadeonSI OpenGL. Δοκιμή με Valve αποκάλυψεότι το ACO είναι σχεδόν διπλάσιο από τον μεταγλωττιστή shader AMDGPU όσον αφορά την ταχύτητα μεταγλώττισης και δείχνει αύξηση του FPS σε ορισμένα παιχνίδια όταν εκτελούνται σε συστήματα με πρόγραμμα οδήγησης RADV.

Το πρόγραμμα οδήγησης RADV Vulkan έχει αλλάξει για να χρησιμοποιεί το backend μεταγλώττισης shader ACO

Το πρόγραμμα οδήγησης RADV Vulkan έχει αλλάξει για να χρησιμοποιεί το backend μεταγλώττισης shader ACO

Το backend ACO στοχεύει στην παροχή δημιουργίας κώδικα που είναι όσο το δυνατόν βέλτιστη για shaders εφαρμογών gaming, καθώς και στην επίτευξη πολύ υψηλής ταχύτητας μεταγλώττισης. Το ACO είναι γραμμένο σε C++, έχει σχεδιαστεί με γνώμονα τη μεταγλώττιση JIT και χρησιμοποιεί γρήγορες επαναληπτικές δομές δεδομένων, αποφεύγοντας δομές που βασίζονται σε δείκτες. Η ενδιάμεση αναπαράσταση του κώδικα βασίζεται εξ ολοκλήρου στο SSA (Static Single Assignment) και επιτρέπει την εκχώρηση καταχωρητή με ακριβή εκ των προτέρων υπολογισμό του καταχωρητή ανάλογα με το shader.

Προσθήκη: Προς το παρόν, το ACO λειτουργεί μόνο για τον οδηγό Mesa RADV Vulkan. Αλλά προγραμματιστές ACO επιβεβαιωμένος, ότι το επόμενο βήμα τους θα είναι να ξεκινήσουν τις εργασίες για την επέκταση των δυνατοτήτων του ACO για την παροχή υποστήριξης για το πρόγραμμα οδήγησης RadeonSI OpenGL, έτσι ώστε στο μέλλον, για αυτό το πρόγραμμα οδήγησης, το ACO να μπορεί να αντικαταστήσει τον προεπιλεγμένο μεταγλωττιστή shader LLVM.

Πηγή: opennet.ru

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