Το vkd3d 1.11 έρχεται με αρχική υποστήριξη για μεταγλώττιση Direct3D bytecode, DXIL, βελτιώσεις και άλλα

vkd3d

Το vkd3d, είναι το επίπεδο μετάφρασης Direct3D 12 σε Vulkan της Wine

Το έργο Wine ανακοίνωσε πριν από λίγες μέρες το κυκλοφορία της νέας έκδοσης του πακέτου vkd3d 1.11, μια έκδοση στην οποία έχουν εισαχθεί βελτιώσεις στη χρήση επεκτάσεων vulkan, καθώς και βελτιώσεις υποστήριξης, νέες λειτουργίες και άλλα.

Για όσους δεν γνωρίζουν για το Vkd3d, θα πρέπει να ξέρετε ότι αυτό είναι ένα πακέτο που προσφέρει μια υλοποίηση Direct3D 12 χρησιμοποιώντας κλήσεις στο API γραφικών Vulkan και περιλαμβάνει πολλές βιβλιοθήκες κλειδιών. Η βιβλιοθήκη libvkd3d περιέχει υλοποιήσεις του Direct3D 12, που καλύπτουν ένα ευρύ φάσμα λειτουργιών όπως υπολογιστές και γραφικά, ουρές εντολών και λίστες, αναγνωριστικά, μεταξύ άλλων.

Παρέχεται επίσης η βιβλιοθήκη libvkd3d-shader που παρέχει έναν μεταφραστή για τα μοντέλα shader 4 και 5 σε μια ενδιάμεση αναπαράσταση SPIR-V. Αυτή η βιβλιοθήκη υποστηρίζει vertex, pixel, tessellation, υπολογισμούς και απλούς σκιαδιστές γεωμετρίας, καθώς και σειριοποίηση και αποσειροποίηση υπογραφών ρίζας.

Τι νέο υπάρχει στο vkd3d 1.11;

Το Vkd3d 1.11 εισάγει α αρχική υποστήριξη για τη μεταγλώττιση παλαιού τύπου Direct3D bytecode σε ενδιάμεση αναπαράσταση των shaders SPIR-V, καθώς και του sαρχική υποστήριξη με τον μεταγλωττιστή HLSL pγια μεταγλώττιση προφίλ εφέ.

Μια άλλη βελτίωση που παρουσιάζεται σε αυτή τη νέα έκδοση είναι η πειραματική υποστήριξη για τη μεταγλώττιση του DXIL (ενδιάμεση γλώσσα DirectX) στην αναπαράσταση SPIR-V, παρέχοντας νέες επιλογές για την ανάπτυξη εφαρμογών Direct3D. Αυτή η δυνατότητα απαιτεί μεταγλώττιση vkd3d με την επιλογή «προεπεξεργαστής».-DVKD3D_SHADER_UNSUPPORTED_DXILκαι θεωρείται πειραματικό.

Επίσης Η χρήση ομάδων και συνόλων περιγραφικών έχει βελτιστοποιηθεί όταν είναι διαθέσιμες οι επεκτάσεις VK_EXT_mutable_descriptor_type και VK_EXT_shader_viewport_index_layer, το οποίο παρέχεται για τη βελτίωση της αποτελεσματικότητας της εργασίας με τη συγκέντρωση περιγραφών και την επιτάχυνση της απόδοσης των συστοιχιών tessellation και vertex shader.

Το γ έχει εφαρμοστείΥποστήριξη για τυπικά χρώματα περιγράμματος, όπως μαύρο και άσπρο και η μέθοδος έχει εφαρμοστεί GetResourceAllocationInfo1() της διεπαφής ID3D12Device4, καθώς και υποστήριξη για τις διεπαφές ID3D12Device7 και ID3D12Resource2.

Υποστηρίζονται πολλά νέα ερωτήματα λειτουργιών, μεταξύ των οποίων D3D12_FEATURE_D3D12_OPTIONS6 a D3D12_FEATURE_D3D12_OPTIONS13.

έχουν εφαρμοστεί νέες επιλογές κατασκευής: VKD3D_SHADER_COMPILE_OPTION_FEATURE μπορεί να χρησιμοποιηθεί για
καθορίστε τις δυνατότητες που είναι διαθέσιμες στο περιβάλλον προορισμού, ενώ VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 υποδηλώνει συμβατότητα με
τους 64-bit ακέραιους τύπους στο περιβάλλον στόχου SPIR και  VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 υποδηλώνει συμβατότητα με
Τύποι κινητής υποδιαστολής 64 bit στο περιβάλλον στόχου SPIR-V.

Του άλλες αλλαγές που ξεχωρίζουν αυτής της νέας έκδοσης:

  • Οι ενημερώσεις περιγραφέων πραγματοποιούνται πλέον ασύγχρονα σε ένα εσωτερικό νήμα εργασίας, βελτιώνοντας την απόδοση σε εφαρμογές που ενημερώνουν πολλούς περιγραφείς ανά πλαίσιο.
  • Έχουν προστεθεί νέες δυνατότητες για τον τύπο στόχου SPIR-V, συμπεριλαμβανομένης της υποστήριξης για καθολικά συνεπείς προβολές εκτός σειράς πρόσβασης, εμπόδια προβολής εκτός σειράς πρόσβασης ομάδας νημάτων και πολλά άλλα.
  • Υποστηρίζεται η διεπαφή ID3D12Device7.
  • Η ελάχιστη απαιτούμενη έκδοση του Vulkan-Headers για αυτήν την έκδοση είναι η έκδοση
    1.3.228.
  • Υποστηρίζεται η διεπαφή ID3D12Resource2.
  • Υποστηρίζονται πολλά νέα ερωτήματα λειτουργιών:
    – D3D12_FEATURE_D3D12_OPTIONS6
    – D3D12_FEATURE_D3D12_OPTIONS7
    – D3D12_FEATURE_D3D12_OPTIONS8
    – D3D12_FEATURE_D3D12_OPTIONS9
    – D3D12_FEATURE_D3D12_OPTIONS10
    – D3D12_FEATURE_D3D12_OPTIONS11
    – D3D12_FEATURE_D3D12_OPTIONS12
    – D3D12_FEATURE_D3D12_OPTIONS13
  • Οι εγγενείς συναρτήσεις acos(), asin(), atan() και atan2() υποστηρίζονται ήδη.
  • Ρητή αντιστοίχιση καταχωρητή χρησιμοποιώντας λέξη-κλειδί «register()».
  • Μετατροπή από ακέραιους τύπους σε κινητή υποδιαστολή στα προφίλ μοντέλων shader 1-3.

Για όσους ενδιαφέρονται να μάθουν περισσότερα για αυτό, θα πρέπει να γνωρίζετε ότι ο κώδικας του έργου διανέμεται στο LGPL 2.1 και μπορείτε να συμβουλευτείτε τις λεπτομέρειες αυτής της νέας έκδοσης Στον ακόλουθο σύνδεσμο.

Πώς να εγκαταστήσετε το vkd3d 1.11;

Για ενδιαφέρεται να είναι σε θέση να εγκαταστήσει το vkd3d Πρέπει να γνωρίζουν ότι πρέπει να μεταγλωττίσουν τον πηγαίο κώδικα, επομένως πρέπει να τον αποκτήσουμε πρώτα, είναι σημαντικό να αναφέρουμε ότι το Vkd3d εξαρτάται από τα SPIRV-Headers και Vulkan-Headers (>= 1.3.228).

Η μεταγλώττιση είναι αρκετά απλή και για να γίνει αυτό πρέπει να ανοίξουμε ένα τερματικό στο οποίο θα πληκτρολογήσουμε την ακόλουθη εντολή:

git clone https://gitlab.winehq.org/wine/vkd3d.git

Προχωράμε στην είσοδο στο φάκελο όπου έγινε λήψη με:

cd vkd3d

Και προχωράμε στη μεταγλώττιση εκτελώντας τις παρακάτω εντολές:

./configure
make
make install

Si θέλετε να μάθετε περισσότερα για τη συλλογή του vkd3d μπορείτε να ελέγξετε τις λεπτομέρειες αυτό το σύνδεσμο.


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

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

*

*

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