Το vkd3d 1.2 έρχεται με βελτιώσεις συμβατότητας, σκίαση και πολλά άλλα

Το έργο Η Wine κυκλοφόρησε μια νέα έκδοση του πακέτου vkd3d 1.2 με μια υλοποίηση Direct3D 12 το οποίο λειτουργεί μεταφράζοντας τις κλήσεις στο API γραφικών Vulkan.

Αυτή η νέα έκδοση του vkd3d 1.2 περιέχει διάφορες βελτιώσεις, αλλά από τα κύρια που ξεχωρίζουν είναι τα διαθεσιμότητα του libvkd3d-shader ως δημόσια βιβλιοθήκη, Η υποστήριξη shader και η υποστήριξη εξόδου ροής.

Το πακέτοκαι περιλαμβάνει βιβλιοθήκες libvkd3d με υλοποιήσεις Direct3D 12, libvkd3d-shader με μεταφραστή μοντέλων 4 και 5 shader και libvkd3d-utils με λειτουργίες για την απλοποίηση της μετεγκατάστασης εφαρμογών Direct3D 12, καθώς και ένα σύνολο επιδείξεων, συμπεριλαμβανομένης της θύρας glxgears στο Direct3D 12. Ο κωδικός του έργου διανέμεται με άδεια βάσει LGPLv2.1

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

libvkd3d-shader εφαρμόζει τη μετάφραση των κωδικών byte 4 και 5 των σχεδίων σκίασης στην ενδιάμεση αναπαράσταση SPIR-V. Υποστηρίζονται οι κορυφές, τα εικονοστοιχεία, ο υπολογισμός, οι υπολογιστές και οι απλοί shaders γεωμετρίας, η σειριοποίηση υπογραφής ρίζας και η αποεριοποίηση.

Οι οδηγίες shader περιλαμβάνουν αριθμητικές, ατομικές και bitwise λειτουργίες, τελεστές ελέγχου ροής δεδομένων και σύγκρισης, οδηγίες δειγματοληψίας, συλλογής και φόρτωσης, λειτουργίες πρόσβασης χωρίς παραγγελία (UAV, προβολή χωρίς παραγγελία)

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

Κύρια νέα χαρακτηριστικά του Vkd3d 1.2

Από τις πιο σημαντικές αλλαγές που παρουσιάζονται στη νέα έκδοση, είναι το libvkd3d-shader βιβλιοθήκη διαθεσιμότητα για χρήση σε έργα τρίτων, από τότε Προστέθηκαν διάφορες συναρτήσεις Direct3D 12, όπως:

  • Πολλαπλή δειγματοληψία.
  • Διατηρημένοι πόροι.
  • Ποσοστά μετάδοσης δεδομένων παρουσίας.
  • API "Ιδιωτικών δεδομένων" για όλες τις διεπαφές.
  • Αντιστοιχίσεις στοιχείων προβολής πόρων Shader.
  • VK_KHR_draw_indirect_count επέκταση.
  • Βραβείο / υπό όρους αναπαράσταση.
  • Απόδοση βάθους χωρίς shader pixel.
  • Διακοπή βάθους. Αυτό απαιτεί την επέκταση VK_EXT_depth_clip_enable.
  • Απορρίψτε το ράστερ.
  • Διπλή ανάμιξη πηγής.
  • Χαρτογράφηση τοποθετημένων πόρων.
  • Οι μέθοδοι ReadFromSubresource () και WriteToSubresource () ID3D12Resource.
  • Ταυτόχρονη πρόσβαση σε πόρους πολλαπλών ουρών.
  • Μηδενικές προβολές. Δηλαδή, προβολές χωρίς έναν υποκείμενο πόρο.
  • Αρκετές περισσότερες ερωτήσεις υποστήριξης χαρακτηριστικών.

Επιπλέον, Επισημαίνεται επίσης η πρόσθετη υποστήριξη για μετατροπές, σειριοποίηση και αποεστερίωση root (vkd3d_serialize_versioned_root_signature () και vkd3d_create_versioned_root_signature_deserializer (), καθώς και υποστήριξη για έξοδο ροής.

Μια άλλη αλλαγή που ξεχωρίζει είναι η εφαρμογή μεταβλητής περιβάλλοντος: VKD3D_CONFIG για να ορίσετε επιλογές για να αλλάξετε τη συμπεριφορά των libvkd3d και VKD3D_VULKAN_DEVICE για παράκαμψη της συσκευής για το Vulkan API.

εκτός αυτού πρόσθετη υποστήριξη για οδηγίες σκίασης bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos και προκαταρκτική υποστήριξη για μοντέλο 5.1 shaders.

Και επίσης υποστήριξη για περιβάλλοντα στόχου OpenGL SPIR-V. Αυτό επιτρέπει στο SPIR-V που παράγεται από το libvkd3d-shader να χρησιμοποιείται με το GL_ARB_gl_spirv. Αυτό περιλαμβάνει υποστήριξη για ατομικούς μετρητές OpenGL και συνδυασμένα δείγματα.

Τελικά αν θέλετε να μάθετε περισσότερα για αυτό σχετικά με αυτήν τη νέα έκδοση, μπορείτε να ελέγξετε την πλήρη λίστα αλλαγών Στον ακόλουθο σύνδεσμο.

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

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

Όσοι ενδιαφέρονται για τη συλλογή, πρέπει να λάβουν τον κωδικό με:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Τέλος, τα επίπεδα Vulkan πρέπει να είναι ενεργοποιημένα:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


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

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

*

*

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