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

Έχουν κυκλοφορήσει καλά νέα από τη Microsoft και αυτό είναι πρόσφατα το έκανε γνωστό μέσω ανάρτησης ιστολογίου ανοίγοντας τον πηγαίο κώδικα του επιπέδου D3D9On12 με την υλοποίηση της συσκευής Device Driver Interface (DDI), η οποία μεταφράζει τις εντολές Direct3D 9 (D3D9) σε εντολές Direct3D 12 (D3D12).

Αυτή η κίνηση της Microsoft θα διευκολύνει πλέον τους προγραμματιστές να μεταβούν από το DirectX11 στο DirectX12 για τα παιχνίδια τους. Το επίπεδο μετάφρασης DX12 είναι ουσιαστικά μια βοηθητική βιβλιοθήκη για τη μετάφραση γραφικών εννοιών και εντολών από τομέα τύπου DX11 σε τομέα στυλ DX12.

Έχει περάσει πολύς καιρός από τότε που αναφέραμε τελευταία φορά το επίπεδο χαρτογράφησης D3D9On12. Ως γρήγορη ενημέρωση, αντιστοιχίζει εντολές D3D9 στο D3D12 που λειτουργούν ως διεπαφή προγράμματος οδήγησης συσκευής D3D9 (DDI). Η κατοχή αυτού του επιπέδου χαρτογράφησης επιτρέπει στις παλαιότερες εφαρμογές D3D9 να λειτουργούν σε σύγχρονα συστήματα που ενδέχεται να μην διαθέτουν πρόγραμμα οδήγησης D3D9. Από την τελευταία ανάρτηση ιστολογίου, προσθέσαμε υποστήριξη για τις επεκτάσεις Alpha to Coverage, διορθώσαμε ορισμένα σφάλματα και καθαρίσαμε τη βάση κώδικα για ανοιχτό κώδικα.

Αυτό είναι αναμφίβολα καλό νέο και αυτό είναι διάφορα έργα που λειτουργούν με το επίπεδο μπορούν τώρα να επωφεληθούν, αφού ως εκ τούτου επιτρέπει σε εφαρμογές παλαιού τύπου να λειτουργούν σε περιβάλλοντα που υποστηρίζουν μόνο D3D12, δηλαδή για παράδειγμα, αυτό μπορεί να είναι χρήσιμο για την υλοποίηση του D3D9 με βάση τα έργα vkd3d και VKD3D-Proton, καθώς προσφέρουν μια υλοποίηση Direct3D 12 για Linux που λειτουργεί μεταφράζοντας κλήσεις D3D12 στο API γραφικών Vulkan.

Το D3D9On12 είναι ένα επίπεδο που αντιστοιχίζει εντολές γραφικών από το D3D9 στο D3D12. Το D3D9On12 δεν είναι υλοποίηση του D3D9 API, αλλά υλοποίηση της λειτουργίας χρήστη D3D9 (Διασύνδεση προγράμματος οδήγησης συσκευής). Αυτό σημαίνει ότι δεν είναι ένα δυαδικό που ονομάζεται d3d9.dll, αλλά ονομάζεται d3d9on12.dll.

Όταν μια εφαρμογή δημιουργεί μια συσκευή D3D9, μπορεί να επιλέξει να είναι μια συσκευή D3D9On12 και όχι μια εγγενής συσκευή D3D9. Όταν συμβεί αυτό, το d3d9on12.dll φορτώνεται από το χρόνο εκτέλεσης D3D9 και αρχικοποιείται. Όταν η εφαρμογή καλεί τις εντολές απόδοσης, το D3D9 θα επικυρώσει αυτές τις εντολές και στη συνέχεια θα μετατρέψει αυτές τις εντολές σε DDI D3D9 και θα τις στείλει στο D3D9On12, όπως και κάθε πρόγραμμα οδήγησης D3D9.

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

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

Γιατί ανοιχτού κώδικα;
Το D3D9On12 αποτελεί μέρος των Windows 10 εδώ και μερικά χρόνια και κατά τη διάρκεια αυτής της περιόδου έχει αυξηθεί σε σταθερότητα και χρηστικότητα. Κάντε το ανοιχτό κώδικα:

Επιτρέψτε στην κοινότητα να συνεισφέρει επιπλέον διορθώσεις σφαλμάτων ή βελτιώσεις απόδοσης.
χρησιμεύσει ως ένα άλλο παράδειγμα για το πώς να χρησιμοποιήσετε το D3D12TranslationLayer
δώστε σε όσους ενδιαφέρονται να ρίξουν μια ματιά στο πώς μοιάζει μια υλοποίηση D3D9 DDI

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

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες της δημοσίευσης που έκανε η Microsoft στο ιστολόγιό της Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.