Η Microsoft άνοιξε τον κώδικα επιπέδου για τη μετάφραση εντολών Direct3D 9 σε Direct3D 12

Η Microsoft ανακοίνωσε τον ανοιχτό κώδικα του επιπέδου D3D9On12 με την εφαρμογή μιας συσκευής DDI (Device Driver Interface) που μεταφράζει τις εντολές Direct3D 9 (D3D9) σε εντολές Direct3D 12 (D3D12). Το επίπεδο καθιστά δυνατή τη διασφάλιση της λειτουργίας παλαιών εφαρμογών σε περιβάλλοντα που υποστηρίζουν μόνο D3D12, για παράδειγμα, μπορεί να είναι χρήσιμο για την υλοποίηση του D3D9 με βάση τα έργα vkd3d και VKD3D-Proton, τα οποία προσφέρουν μια υλοποίηση Direct3D 12 για Linux που λειτουργεί μέσω τη μετάφραση των κλήσεων D3D12 στο API γραφικών Vulkan. Ο κωδικός για το D3D9On12 είναι γραμμένος σε C++ και δημοσιεύεται με την άδεια MIT.

Το έργο βασίζεται στον κώδικα ενός παρόμοιου υποσυστήματος που περιλαμβάνεται στα Windows 10. Σημειώνεται ότι η δημοσίευση του κώδικα D3D9On12 θα επιτρέψει στα μέλη της κοινότητας να συμμετάσχουν στη διόρθωση σφαλμάτων και την προσθήκη βελτιστοποιήσεων και μπορεί επίσης να χρησιμεύσει ως παράδειγμα για τη μελέτη της υλοποίησης των προγραμμάτων οδήγησης D3D9 DDI και ένα πλαίσιο για τη δημιουργία παρόμοιων επιπέδων για μεταφράσεις διαφόρων API γραφικών στο D3D12.

Ταυτόχρονα, δημοσιεύτηκε το πακέτο DXBC Signer, το οποίο σας επιτρέπει να υπογράφετε αυθαίρετα αρχεία DXBC που δημιουργούνται από εργαλεία τρίτων. Το D3D9On12 χρησιμοποιεί αυτό το πακέτο για να υπογράψει το DXBC που δημιουργείται κατά τη μετατροπή των shaders σε ένα νέο μοντέλο.

Πηγή: opennet.ru

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