Το έργο Wine δημοσίευσε το Vkd3d 1.5 με υλοποίηση Direct3D 12

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

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

Στο libvkd3d-shader, υλοποιείται η μετάφραση του bytecode των μοντέλων shader 4 και 5 σε μια ενδιάμεση αναπαράσταση SPIR-V. Υποστηρίζει vertex, pixel, tessellation, compute και απλή γεωμετρία shaders, root signature serialization και deserialization. Οι οδηγίες Shader περιλαμβάνουν αριθμητικές, ατομικές και bit λειτουργίες, σύγκριση και τελεστές ελέγχου ροής δεδομένων, δειγματοληψία, συλλογή και φόρτωση εντολών, λειτουργίες μη διατεταγμένης πρόσβασης (UAV, Unordered Access View).

Στη νέα έκδοση:

  • Внесены многочисленные улучшения в компилятор шейдеров на языке HLSL (High-Level Shader Language), предоставляемом начиная с DirectX 9.0. В том числе в структурах и массивах улучшена поддержка объектных типов HLSL, таких как Texture2D, добавлена поддержка встроенных функций dot(), ldexp() и lerp(), для 4 и 5 моделей шейдеров добавлена поддержка логических операторов «and», «or» и «not», а также возможность приведения булевых типов.
  • Реализована опция VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV для загрузки неупорядоченного представления доступа (UAV) для многокомпонентных форматов SPIR-V (DXGI_FORMAT).

Πηγή: opennet.ru

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